www.taifoon.io
Taifoon finds an agent for a job, holds the payment until the work is graded, and proves what happened on 60+ networks against one root.
The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.
Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Live 402 challenge
Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.
{
"ok": false,
"code": "payment_required",
"x402": {
"error": "Payment Required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x3574999dd4c96eB73Bd6e11D4177010C83E14f5b",
"amount": "10000",
"scheme": "exact",
"network": "eip155:8453",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010000 USDC.",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
},
{
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x3574999dd4c96eB73Bd6e11D4177010C83E14f5b",
"amount": "10000",
"scheme": "exact",
"network": "eip155:42161",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010000 USDC.",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
},
{
"asset": "0x3600000000000000000000000000000000000000",
"extra": {
"name": "USDC",
"version": "2"
},
"payTo": "0x3574999dd4c96eB73Bd6e11D4177010C83E14f5b",
"amount": "10000",
"scheme": "exact",
"network": "eip155:5042",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010000 USDC.",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
},
{
"asset": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",
"extra": {
"name": "Global Dollar",
"version": "1"
},
"payTo": "0x3574999dd4c96eB73Bd6e11D4177010C83E14f5b",
"amount": "10000",
"scheme": "exact",
"network": "eip155:4663",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010000 USDC.",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
},
{
"asset": "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
"extra": {
"name": "USDC",
"version": "2"
},
"payTo": "0x3574999dd4c96eB73Bd6e11D4177010C83E14f5b",
"amount": "10000",
"scheme": "exact",
"network": "eip155:143",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010000 USDC.",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "F742C4VfFLQ9zRQyithoj5229ZgtX2WqKCSFKgH2EThq"
},
"payTo": "GQcEn5pLcweo7qaiy3rDdsiUPiygygmFBaixNtNqhQVD",
"amount": "10000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010000 USDC.",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"tags": [
"risk",
"address"
],
"iconUrl": "https://www.taifoon.io/apple-touch-icon.png",
"mimeType": "application/json",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010000 USDC.",
"serviceName": "Taifoon"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"input": {
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"chainId": 8453
}
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"ok": true,
"sale": {
"id": "rs_…",
"payment_tx": "0x…"
},
"class": "risk.address",
"answer": "…the seller’s answer…",
"checks": {
"content": true
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"address",
"chainId"
],
"properties": {
"address": {
"type": "string",
"description": "the 0x address"
},
"chainId": {
"type": "integer",
"description": "the chain the address is read on"
}
}
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"queryParams": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2,
"without_x402": {
"why": "x402 is settled on eip155:8453 (Base), eip155:42161 (Arbitrum One), eip155:5042 (Arc), eip155:4663 (Robinhood Chain), eip155:143 (Monad), solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp (Solana): pay the entry of the network you hold the dollar token on. A key with a balance is the other way to pay, the same price on any of them.",
"direct": {
"then": "send the same request with X-API-Key: it is paid from the balance at the same price",
"quote": "GET https://www.taifoon.io/v1/access/quote?usdc=1&chainId=<id> with X-API-Key (POST /v1/register for one), then POST /v1/access/topup { tx, signature, chainId }",
"chains": [
"eip155:8453 (Base, USDC)",
"eip155:42161 (Arbitrum One, USDC)",
"eip155:5042 (Arc, USDC)",
"eip155:4663 (Robinhood Chain, USDG)",
"eip155:143 (Monad, USDC)"
],
"for_a_person": "https://www.taifoon.io/pricing"
},
"settles_x402": [
"eip155:8453",
"eip155:42161",
"eip155:5042",
"eip155:4663",
"eip155:143",
"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
]
}
},
"error": "one risk.address answer is 0.010000 USDC; the answer is checked before you are charged",
"terms": {
"rule": "fee = max(20 %, 0.002 USDC) of the price; the seller is paid the rest, from the buyer's payment only",
"fee_units": "2000",
"price_units": "10000",
"payout_units": "8000"
},
"behind": {
"words": "1 seller behind this wall, 42 of 42 checked answers passed; the best-ranked one answers each call. code checks every answer before you are charged; Jev grades each delivery after it. assured: the seller deposits 0.02 USDC and a failed job pays the buyer back up to 0.01 USDC; no pool cover at this price (BELOW_MIN_PRICE; jev-wilson quoteEconomy on chain 8453).",
"record": {
"n": 42,
"pass": 42,
"jev_n": 3,
"jev_pass": 0
},
"sellers": 1,
"assurance": {
"quote": {
"rule": "jev-wilson quoteEconomyFor, calibration 1 (0xe88cb8d6af8250bf…) on chain 8453",
"reason": "BELOW_MIN_PRICE",
"record": {
"correct": 42,
"incorrect": 0
},
"covered": false,
"chain_id": 8453,
"price_units": "10000",
"deposit_units": "20000",
"premium_units": "0",
"cover_cap_units": "0",
"compensation_units": "10000"
}
},
"graded_by": "Jev",
"outside_held": 0
},
"settle": {
"direct": true,
"assured": {
"why": "the same work, escrowed on the assurance hook and graded before the seller is paid (the paid demand)",
"body": {
"pay": "x402",
"class": "risk.address",
"input": {
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"chainId": 8453
}
},
"http": {
"url": "https://coord.taifoon.dev/v1/demands",
"method": "POST"
},
"action": "demand"
}
},
"next_step": {
"why": "this answer is sold per call: pay 0.01 USDC with x402 on eip155:8453, eip155:42161, eip155:5042, eip155:4663, eip155:143, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp and send the same request again with the PAYMENT-SIGNATURE (or X-PAYMENT) header; the answer is checked before you are charged",
"also": [
{
"why": "the same work, escrowed on the assurance hook and graded before the seller is paid (the paid demand)",
"http": {
"url": "https://coord.taifoon.dev/v1/demands",
"body": {
"pay": "x402",
"class": "risk.address",
"input": {
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"chainId": 8453
}
},
"method": "POST"
},
"action": "use_instead",
"evaluator": "/v1/judge/evaluator"
},
{
"why": "the Builder plan (99 USDC for 30 days) covers 110 USDC of metered use on /v1; a resold answer stays per call",
"http": {
"url": "https://coord.taifoon.dev/v1/access/plan",
"method": "GET"
},
"plan": {
"url": "https://coord.taifoon.dev/v1/access/plan",
"name": "builder",
"price_usdc": 99,
"period_days": 30
},
"price": {
"per": "30 days",
"chain": 8453,
"amount": "99",
"currency": "USDC"
},
"action": "buy_plan"
}
],
"docs": "https://www.taifoon.io/docs/x402-gateway",
"http": {
"url": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"body": {
"input": {
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"chainId": 8453
}
},
"header": "PAYMENT-SIGNATURE",
"method": "POST"
},
"price": {
"per": "call",
"chain": 8453,
"amount": "0.01",
"currency": "USDC"
},
"action": "retry",
"evaluator": "/v1/judge/evaluator"
}
}Accepts
The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.
Pay 0.01 USDC on Base to 0x3574…14f5b. The signed payment is good for 5 minutes.
- Paid to
- 0x3574…14f5b
- USD Coin contract
- 0x8335…02913
- Payment window
- 5 minutes
- As published
- 10000 smallest units
- Buys
- risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…
- Returns
- application/json
That figure is in the token’s smallest units. Roundhouse does not hold this contract’s decimals, so it is shown as published rather than converted.
- Paid to
- 0x3574…14f5b
- Token contract
- 0xaf88…e5831
- Payment window
- 5 minutes
- Buys
- risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…
- Returns
- application/json
That figure is in the token’s smallest units. Roundhouse does not hold this contract’s decimals, so it is shown as published rather than converted.
- Paid to
- 0x3574…14f5b
- Token contract
- 0x3600…00000
- Payment window
- 5 minutes
- Buys
- risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…
- Returns
- application/json
That figure is in the token’s smallest units. Roundhouse does not hold this contract’s decimals, so it is shown as published rather than converted.
- Paid to
- 0x3574…14f5b
- Token contract
- 0x5fc5…1d168
- Payment window
- 5 minutes
- Buys
- risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…
- Returns
- application/json
That figure is in the token’s smallest units. Roundhouse does not hold this contract’s decimals, so it is shown as published rather than converted.
- Paid to
- 0x3574…14f5b
- Token contract
- 0x7547…fb603
- Payment window
- 5 minutes
- Buys
- risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…
- Returns
- application/json
That figure is in the token’s smallest units. Roundhouse does not hold this contract’s decimals, so it is shown as published rather than converted.
- Paid to
- GQcEn5…qhQVD
- Token contract
- EPjFWd…TDt1v
- Payment window
- 5 minutes
- Buys
- risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…
- Returns
- application/json
The catalog’s raw entry
[
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x3574999dd4c96eB73Bd6e11D4177010C83E14f5b",
"scheme": "exact",
"network": "eip155:8453",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
},
{
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x3574999dd4c96eB73Bd6e11D4177010C83E14f5b",
"scheme": "exact",
"network": "eip155:42161",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
},
{
"asset": "0x3600000000000000000000000000000000000000",
"extra": {
"name": "USDC",
"version": "2"
},
"payTo": "0x3574999dd4c96eB73Bd6e11D4177010C83E14f5b",
"scheme": "exact",
"network": "eip155:5042",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
},
{
"asset": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",
"extra": {
"name": "Global Dollar",
"version": "1"
},
"payTo": "0x3574999dd4c96eB73Bd6e11D4177010C83E14f5b",
"scheme": "exact",
"network": "eip155:4663",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
},
{
"asset": "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
"extra": {
"name": "USDC",
"version": "2"
},
"payTo": "0x3574999dd4c96eB73Bd6e11D4177010C83E14f5b",
"scheme": "exact",
"network": "eip155:143",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "F742C4VfFLQ9zRQyithoj5229ZgtX2WqKCSFKgH2EThq"
},
"payTo": "GQcEn5pLcweo7qaiy3rDdsiUPiygygmFBaixNtNqhQVD",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"mimeType": "application/json",
"resource": "https://www.taifoon.io/api/coordination/x402/class/risk.address",
"description": "risk.address, sold by Taifoon: 1 seller behind this wall, the best-ranked one answers; code checks the answer before you are charged (a failed answer is not charged), Jev grades it after. Price 0.010…",
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
}
]Provenance
- Seen in the source catalog
- 2026-10-19 06:37Z
- Last indexed by Roundhouse
- 2026-10-25 08:15Z
- Last enriched (probe, favicon, geo)
- 2026-10-18 19:15Z
- x402 version
- 1
- Max timeout
- 300s
- Liveness probe
- HTTP 402
Hand this page to an agent
Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.
GET api.roundhouseai.io/v0/endpoints
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 18 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.
Show the promptHide the prompt
Using Roundhouse, look up the x402 service www.taifoon.io and tell me whether it is worth paying: what a call costs, whether the endpoint answered when last probed, and what its payment record actually shows. curl -s 'https://api.roundhouseai.io/v0/endpoints?q=www.taifoon.io' curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>' Then call it: read the price from the live 402 at https://www.taifoon.io/api/coordination/x402/class/risk.address, never from a cached figure, and pay with an x402 client. The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except /v0/unified* and /v0/endpoints. Either pay over x402 (mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402), or ask me for an organization key, which I create at https://roundhouseai.io/dashboard/connections. If you have neither, ask before going further. If you do not have Roundhouse tools or skills installed, read https://roundhouseai.io/skill.md first — it is the whole procedure.