Return one current Coinbase spot-product snapshot for an exact BASE-QUOTE produc
Return one current Coinbase spot-product snapshot for an exact BASE-QUOTE product id, including venue price, 24-hour price change and provider-reported 24-hour product volume. Forest reads only Coinbase Advanced Trade public market data; it does not infer tickers, infer the provider volume denomination, aggregate venues, read an account or wallet, place orders, provide an executable quote, forecast returns or recommend a trade. Base mainnet USDC
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://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/crypto/spot-price
| Category | Code and developer |
|---|---|
| Provider host | http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 2 from 2 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-10 | valid payment request | 402 | $0.001 | 925 ms |
Example input (from the provider)
{
"body": {
"product": "BTC-USD"
},
"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": {
"product": {
"description": "Public product value used to scope this lookup.",
"maxLength": 65,
"minLength": 3,
"pattern": "^[A-Za-z0-9][A-Za-z0-9.]{0,31}-[A-Za-z0-9][A-Za-z0-9.]{0,31}$",
"type": "string"
}
},
"required": [
"product"
],
"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": {
"additionalProperties": false,
"properties": {
"capability": {
"const": "crypto.spot-price",
"description": "Public capability value used to scope this lookup."
},
"data": {
"additionalProperties": false,
"description": "Public data value used to scope this lookup.",
"properties": {
"base": {
"description": "Public base value used to scope this lookup.",
"type": "string"
},
"cache_age_ms": {
"description": "Public cache age ms value used to scope this lookup.",
"maximum": 60000,
"minimum": 0,
"type": "integer"
},
"executable_quote": {
"const": false,
"description": "Public executable quote value used to scope this lookup."
},
"freshness": {
"const": "current_upstream_snapshot",
"description": "Public freshness value used to scope this lookup."
},
"market_status": {
"const": "online",
"description": "Public market status value used to scope this lookup."
},
"price": {
"description": "Public price value used to scope this lookup.",
"pattern": "^(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
"type": "string"
},
"price_change_24h_percent": {
"description": "Public price change 24h percent value used to scope this lookup.",
"pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
"type": "string"
},
"product": {
"description": "Public product value used to scope this lookup.",
"type": "string"
},
"quote": {
"description": "Public quote value used to scope this lookup.",
"type": "string"
},
"source": {
"const": "Coinbase Advanced Trade public market data",
"description": "Public source value used to scope this lookup."
},
"source_kind": {
"const": "spot_product_snapshot",
"description": "Public source kind value used to scope this lookup."
},
"venue": {
"const": "coinbase",
"description": "Public venue value used to scope this lookup."
},
"volume_24h": {
"description": "Public volume 24h value used to scope this lookup.",
"pattern": "^(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
"type": "string"
}
},
"required": [
"product",
"base",
"quote",
"price",
"price_change_24h_percent",
"volume_24h",
"market_status",
"venue",
"source",
"source_kind",
"freshness",
"executable_quote",
"cache_age_ms"
],
"type": "object"
},
"meta": {
"additionalProperties": false,
"description": "Public meta value used to scope this lookup.",
"properties": {
"cache": {
"description": "Public cache value used to scope this lookup.",
"enum": [
"hit",
"miss",
"bypass"
]
},
"checked_at": {
"description": "Public checked at value used to scope this lookup.",
"type": "string"
},
"duration_ms": {
"description": "Public duration ms value used to scope this lookup.",
"minimum": 0,
"type": "integer"
},
"provider": {
"description": "Public provider value used to scope this lookup.",
"type": [
"string",
"null"
]
}
},
"required": [
"provider",
"checked_at",
"cache",
"duration_ms"
],
"type": "object"
},
"ok": {
"const": true,