Obol
Bounded public Ethereum aggregate flow observations for an exact address pair, asset, and block range
Offering
- Provider
- obol.danieldutoit.net
- Method
- GET
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Blockchain And Crypto
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://obol.danieldutoit.net/v1/ethereum/complex-flow?asset=0x0030b738bc1de21c93ca066340f74a952881e0a4&block_number_max=17883798&block_number_min=17783798&from_address=0x0000000000000000000000000000000000000000&to_address=0x0000000000000000000000000000000000000000- MIME type
- Not provided
- First seen
- 2026-10-16T03:25:59.412Z
- Last seen
- Tags
- blockchain-data, Ethereum, flows, onchain-data, X402, a2a
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.003 USDC
Atomic price: 3000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "3000",
"payTo": "0x4094383033C1861E2686eaC4d4BBae6F0031F5d2"
}
]Observed health
- Status
- Healthy
- Latest latency
- 768 ms
- Average latency
- 1188 ms
- HTTP status
- 402
- Last checked
- Reachability
- 100% over 15 checks
Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.
Input schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"type": "string",
"enum": [
"GET"
]
},
"queryParams": {
"type": "object",
"properties": {
"from_address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"minLength": 42,
"maxLength": 42
},
"to_address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"minLength": 42,
"maxLength": 42
},
"asset": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"minLength": 42,
"maxLength": 42
},
"block_number_min": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$",
"maxLength": 19
},
"block_number_max": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$",
"maxLength": 19,
"description": "At most 100,000 blocks above block_number_min."
}
},
"required": [
"from_address",
"to_address",
"asset",
"block_number_min",
"block_number_max"
],
"additionalProperties": true
}
},
"required": [
"type",
"method"
],
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"properties": {
"flows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"block_number": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$",
"maxLength": 19
},
"block_time": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z$"
},
"count": {
"type": "string",
"pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$"
},
"amount": {
"type": "string",
"pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$"
},
"price": {
"type": "string",
"pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$"
},
"value": {
"anyOf": [
{
"type": "string",
"pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$"
},
{
"type": "null"
}
]
},
"level": {
"type": [
"string",
"null"
],
"maxLength": 64
}
},
"required": [
"block_number",
"block_time",
"count",
"amount",
"price",
"value",
"level"
],
"additionalProperties": false
},
"maxItems": 100
}
},
"required": [
"flows"
],
"additionalProperties": false
}
},
"required": [
"type"
]
}