Class Market Price
by Taifoon in Markets & finance
Latest USD price of BTC, ETH, SOL, NQ, ES, YM from the Taifoon venue tape: the close of the last closed 1-minute bar, its time, age and sha256 digest, replayable with one GET. Only symbols the tape holds; a price older than 180 s is never served as current (nothing is charged). BTC, ETH, SOL are held to Chainlink on Base within 1 % when its feed is under 1 h old. 0.003 USDC a call.
https://coord.taifoon.dev/v1/x402/class/market.price- Price
- $0.003
- per call in USDC
- Uptime
- 100%
- last 30 days
- Response time
- 3.3 s
- 5.4 s slowest 5%
- Last check
- Passed
- 5 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to call it
GET https://coord.taifoon.dev/v1/x402/class/market.price
Each call costs $0.003 in USDC on Base, paid with the request over x402.
Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.
Example request
From the listing.
GET https://coord.taifoon.dev/v1/x402/class/market.price?symbol=ETHParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | the symbol to price: one the Taifoon venue tape holds One of: BTC, ETH, SOL, NQ, ES, YM. |
Example response
The provider's example. We can't check it without paying.
Example response, 27 lines
{
"age_s": 41,
"as_of": "2026-10-11T18:20:00.000Z",
"bar": {
"c": 2538.81,
"h": 2539.1,
"l": 2538.6,
"o": 2538.88,
"t": 1791742740,
"tf": "1m",
"v": 12.4
},
"class": "market.price",
"digest": "9f2c…",
"fresh": true,
"ok": true,
"price_usd": 2538.81,
"reference": {
"age_s": 600,
"off_pct": 0.02,
"source": "Chainlink ETH / USD on Base",
"usd": 2539.4
},
"replay": "https://clob.taifoon.dev/tape/v1/candles/ETH/1m?from=1791742740&to=1791742799",
"source": "the Taifoon venue tape (https://clob.taifoon.dev/tape/v1/candles/ETH/1m): the close of the last closed 1-minute bar",
"symbol": "ETH"
}Call it from code
The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $0.003.
curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i 'https://coord.taifoon.dev/v1/x402/class/market.price?symbol=ETH'
# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - 'https://coord.taifoon.dev/v1/x402/class/market.price?symbol=ETH' \
| grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decodeJavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
// Pays at most $0.003 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$0.003" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $0.003 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fcoord.taifoon.dev%2Fv1%2Fx402%2Fclass%2Fmarket.price
const res = await pay("https://coord.taifoon.dev/v1/x402/class/market.price?symbol=ETH");
console.log(res.status, await res.text());Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client
# Pays at most $0.003 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$0.003"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))
with x402_requests(client) as session:
res = session.get("https://coord.taifoon.dev/v1/x402/class/market.price?symbol=ETH")
print(res.status_code, res.text)Security scan
1 finding
- Payment address changed recently in payment
Payment address on Solana changed from GvwY5YcB7NqU8DMENC5A5fGKp2SDvs4Bx3r5Yu4YHLqZ to GQcEn5pLcweo7qaiy3rDdsiUPiygygmFBaixNtNqhQVD
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 5 h ago | Passed | 402 | 3.5 s | $0.003 |
| 10 h ago | Passed | 402 | 5.1 s | $0.003 |
| 15 h ago | Passed | 402 | 3.4 s | $0.003 |
| 20 h ago | Passed | 402 | 3.0 s | $0.003 |
| 25 h ago | Passed | 402 | 4.2 s | $0.003 |
Show 10 older checks
| 29 h ago | Passed | 402 | 3.2 s | $0.003 |
| 34 h ago | Passed | 402 | 3.3 s | $0.003 |
| 39 h ago | Passed | 402 | 4.8 s | $0.003 |
| 43 h ago | Passed | 402 | 2.7 s | $0.003 |
| 2 days ago | Passed | 402 | 2.3 s | $0.003 |
| 2 days ago | Passed | 402 | 3.4 s | $0.003 |
| 2 days ago | Passed | 402 | 2.8 s | $0.003 |
| 3 days ago | Passed | 402 | 5.8 s | $0.003 |
| 3 days ago | Passed | 402 | 3.7 s | $0.003 |
| 3 days ago | Passed | 402 | 2.7 s | $0.003 |
History
| 15 Oct 2026 | Payment address on Solana changed from GvwY5YcB7NqU8DMENC5A5fGKp2SDvs4Bx3r5Yu4YHLqZ to GQcEn5pLcweo7qaiy3rDdsiUPiygygmFBaixNtNqhQVD |