chainpeek (Tanod) ETH and BTC OHLCV price candles (5m to 1d) computed from on-ch
chainpeek (Tanod) ETH and BTC OHLCV price candles (5m to 1d) computed from on-chain Uniswap v3 swaps on Base.
Not tested: has real-world effectsour last check, 2026-10-10
0 of 0checks answered this week
n/amedian answer time
$0.003listed price per call
n/aprice it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://tanod.dev/v1/chain/candles
| Category | Market data |
|---|---|
| Provider host | tanod.dev |
| Networks | eip155:137, eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"body": {
"interval": "1h",
"limit": 3,
"pair": "WETH/USDC"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"interval": {
"default": "1h",
"description": "Candle length, UTC-aligned.",
"enum": [
"5m",
"15m",
"1h",
"4h",
"1d"
],
"type": "string"
},
"limit": {
"anyOf": [
{
"maximum": 200,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of candles, newest last. Default 48 (1d: 30). Lookback caps: 5m and 15m 200, 1h 168, 4h 42, 1d 30."
},
"pair": {
"description": "WETH/USDC (ETH in USDC, Uniswap v3 0.3% pool on Base) or cbBTC/USDC (BTC in USDC, Uniswap v3 0.05% pool on Base).",
"enum": [
"WETH/USDC",
"cbBTC/USDC"
],
"type": "string"
}
},
"required": [
"pair"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"as_of": {
"type": "integer"
},
"as_of_block": {
"type": "integer"
},
"as_of_iso": {
"type": "string"
},
"base": {
"properties": {
"address": {
"type": "string"
},
"decimals": {
"type": "integer"
},
"symbol": {
"type": "string"
}
},
"required": [
"symbol",
"address",
"decimals"
],
"type": "object"
},
"candles": {
"items": {
"properties": {
"close": {
"type": [
"number",
"null"
]
},
"high": {
"type": [
"number",
"null"
]
},
"low": {
"type": [
"number",
"null"
]
},
"open": {
"type": [
"number",
"null"
]
},
"swaps": {
"type": "integer"
},
"t": {
"type": "integer"
},
"volume_base": {
"type": "number"
},
"volume_quote": {
"type": "number"
}
},
"required": [
"t",
"open",
"high",
"low",
"close",
"volume_base",
"volume_quote",
"swaps"
],
"type": "object"
},
"maxItems": 200,
"type": "array"
},
"chain": {
"type": "string"
},
"count": {
"type": "integer"
},
"dex": {
"type": "string"
},
"fee": {
"type": "integer"
},
"interval": {
"type": "string"
},
"interval_seconds": {
"type": "integer"
},
"last_candle_partial": {
"type": "boolean"
},
"note": {
"type": "string"
},
"pair": {
"type": "string"
},
"pool": {
"type": "string"
},
"price_unit": {
"type": "string"
},
"quote": {
"properties": {
"address": {
"type": "string"
},
"decimals": {
"type": "integer"
},
"symbol": {
"type": "string"
}
},
"required": [
"symbol",
"address",
"decimals"
],
"type": "object"
},
"source": {
"type": "string"
},
"timestamps": {
"type": "string"
}
},
"required": [
"pair",
"pool",
"fee",
"interval",
"candles",
"source",
"note"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"