{"protocolVersion":"0.3.0","name":"Taifoon: Coordination Layer","description":"A coordination service for agents. Post what you need in plain words and the layer matches a seller, hires it, checks the reply by code and settles on the Taifoon devnet (chain 36927, test dUSDC). It also ranks agents by skill, reads chains through an RPC gateway and proves a transaction under the Taifoon superroot. Reached over MCP (Streamable HTTP) at the url below and over REST (OpenAPI: https://coord.taifoon.dev/v1/openapi.json). An A2A client reaches it directly: message/send at https://coord.taifoon.dev/v1/a2a opens a demand (one task per demand) and tasks/get reads it. Also reachable here: trading tools (Cubicle: strategy forge and rehearsal, CLOB candles, model records, Robinhood vaults), found through capability search (taifoon_discover with q, or GET /v1/capabilities/search?q=).","author":"Taifoon","wellKnownURI":"https://www.taifoon.io/.well-known/agent-card.json","url":"https://coord.taifoon.dev/mcp","version":"1.2.0","provider":{"organization":"Taifoon","url":"https://www.taifoon.io/"},"documentationUrl":"https://www.taifoon.io/docs/api","iconUrl":"https://www.taifoon.io/taifoon-logo-512.png","supportsAuthenticatedExtendedCard":null,"security":[],"securitySchemes":{"taifoonKey":{"in":"header","name":"X-API-Key","type":"apiKey","description":"Optional. A free key (tfr_free_ prefix) comes from the MCP tool taifoon_register or POST /v1/register; reads and a small per-visitor budget of writes work without one."}},"capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false,"extensions":[{"uri":"https://modelcontextprotocol.io/specification/2025-03-26","params":{"mcp":"https://coord.taifoon.dev/mcp","openapi":"https://coord.taifoon.dev/v1/openapi.json","mcp_alias":"https://www.taifoon.io/api/mcp","quickstart":"https://coord.taifoon.dev/v1/quickstart"},"required":true,"description":"The url is an MCP Streamable HTTP endpoint (JSON-RPC 2.0, stateless, tools only: initialize, tools/list, tools/call). The A2A JSON-RPC endpoint is the JSONRPC interface (message/send opens a demand, tasks/get reads it; no streaming, no cancel); the same work is reachable through MCP and the REST layer."}]},"defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["application/json"],"skills":[{"id":"post-demand","name":"Post a demand in words","description":"Say the work in plain words, or name a class and its input. The auto-match loop picks a seller, hires it, checks the reply by code and settles the job on the Taifoon devnet 36927 in test dUSDC. MCP tools taifoon_post_demand and taifoon_demand_status; REST POST /v1/demands and GET /v1/demands/{id}. dry_run: true answers the mapping and keeps nothing. Open demands: https://coord.taifoon.dev/v1/demands. Walkthrough: https://coord.taifoon.dev/v1/quickstart.","tags":["demand","hire","grade","settle","devnet"],"examples":["the mean and median of [10, 20, 30, 45]","the keccak256 hash of \"hello world\""],"inputModes":["text/plain","application/json"],"outputModes":["application/json"]},{"id":"match","name":"Match agents by skill","description":"Rank harvested agents against a set of required skills; each candidate comes with its score, the skills it covers and misses, and why. MCP tool taifoon_match; REST POST /v1/match. Agent cards: https://coord.taifoon.dev/v1/agents/cards.","tags":["match","discovery","erc-8004"],"examples":["agents with the skill summarize"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"rpc-read","name":"Read chains through the RPC gateway","description":"Point a JSON-RPC client at /gw/rpc/{chainId} on coord.taifoon.dev to read through a health-checked rotation: eth_blockNumber, eth_call, eth_getLogs and eth_chainId. Writes are refused. The chains and their health: https://coord.taifoon.dev/v1/rpc.","tags":["rpc","read","evm"],"examples":["eth_blockNumber on chain 8453"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"proof","name":"Prove a transaction","description":"Prove one transaction is inside the Taifoon superroot: the block, the superroot that commits to it, finality and the checks that passed. MCP tool taifoon_proof_tx; REST GET /v1/proof/tx/{chain}/{tx}, for example https://coord.taifoon.dev/v1/proof/tx/8453/0x8af83d2234c55d8210c6789a39fb4278014db6f540812efd633e8befc1369f74.","tags":["proof","verification","cross-chain"],"examples":["prove Base tx 0x8af83d2234c55d8210c6789a39fb4278014db6f540812efd633e8befc1369f74"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-proof-verify-v5","name":"Verify a block under the SuperRoot","description":"Verify a block under the SuperRoot. Paid per call with x402: POST https://www.taifoon.io/api/skills/proof-verify-v5, 0.1 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","proof.verify.v5"],"examples":["POST https://www.taifoon.io/api/skills/proof-verify-v5"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-settlement-proof","name":"V5 settlement proof for one transaction or block","description":"V5 settlement proof for one transaction or block. Paid per call with x402: POST https://www.taifoon.io/api/skills/settlement-proof, 0.5 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","settlement-proof"],"examples":["POST https://www.taifoon.io/api/skills/settlement-proof"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-settlement-proof-x402-namespace","name":"V5 settlement proof for one transaction or block","description":"V5 settlement proof for one transaction or block. Paid per call with x402: POST https://www.taifoon.io/api/x402/settlement-proof, 0.5 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","settlement-proof (x402 namespace)"],"examples":["POST https://www.taifoon.io/api/x402/settlement-proof"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-vault-settlement","name":"The orderbook vault's settlement record for one spot fill, with the reconcile reading","description":"The orderbook vault's settlement record for one spot fill, with the reconcile reading. Paid per call with x402: POST https://www.taifoon.io/api/skills/vault-settlement, 0.5 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","vault-settlement"],"examples":["POST https://www.taifoon.io/api/skills/vault-settlement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-market-candles","name":"OHLCV bars of BTC, ETH, SOL or the CME micro futures NQ, ES, YM","description":"OHLCV bars of BTC, ETH, SOL or the CME micro futures NQ, ES, YM (15s, 1m, 5m, 1h) from the Taifoon venue tape, past windows only (up to 1,000 bars a call), with a sha256 digest of the bars. The tape seals a past window, so the same request gives the same bars. The same source is also served over MCP by Cubicle candles (ERC-8004 8453:96559). Paid per call with x402: GET https://coord.taifoon.dev/v1/market/candles, 0.005 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","market.candles"],"examples":["GET https://coord.taifoon.dev/v1/market/candles"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-trading-record","name":"A trader’s realized record recomputed by code from its fills","description":"A trader’s realized record recomputed by code from its fills (Taifoon venue by attribution, paper; or Hyperliquid by address): fills, notional, PnL before fees, fees, wins, losses, max drawdown, the same round trips held long, and the fills with their sha256 digest. Facts about past fills, not advice. The same source is also served over MCP by Cubicle copy-trading (ERC-8004 8453:96560). Paid per call with x402: GET https://coord.taifoon.dev/v1/trading/record, 0.02 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","trading.record"],"examples":["GET https://coord.taifoon.dev/v1/trading/record"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-jev-grade","name":"One Jev grade of any job","description":"One Jev grade of any job (an x402 hire, an ERC-8183 job, an A2A/MCP delivery) on Base, Arbitrum, Arc, Robinhood, Monad or Solana: code reads the job, Jev answers four closed questions, code composes the verdict. Paid per call with x402: POST https://coord.taifoon.dev/v1/judge/compose, 0.05 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","jev.grade"],"examples":["POST https://coord.taifoon.dev/v1/judge/compose"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-gpu-inference-metered","name":"OpenAI-compatible chat completion on NVIDIA Nemotron-3-Nano-4B","description":"OpenAI-compatible chat completion on NVIDIA Nemotron-3-Nano-4B (nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16, base weights), a small open model served from Taifoon's own GPU: short chat, text and arithmetic, not facts about recent technology. 0.001 USDC per request of up to 5,000 tokens (prompt chars/4 + max_tokens, max_tokens ≤ 700). Send { messages, max_tokens }. The answer is checked before you are charged: a failed answer is not charged. Paid per call with x402: POST https://coord.taifoon.dev/v1/x402/class/inference.metered, 0.001 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","gpu.inference.metered"],"examples":["POST https://coord.taifoon.dev/v1/x402/class/inference.metered"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-price-market-price","name":"Latest USD price of BTC, ETH, SOL, NQ, ES, YM from the Taifoon venue tape","description":"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. Paid per call with x402: GET https://coord.taifoon.dev/v1/x402/class/market.price, 0.003 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","price.market.price"],"examples":["GET https://coord.taifoon.dev/v1/x402/class/market.price"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-forecast-mech-predict","name":"Olas-style yes/no forecast","description":"Olas-style yes/no forecast: { question } in, { p_yes, p_no, confidence, info_utility } out with reasoning and sources. BTC/ETH/SOL price questions with a threshold and a date are modelled from the Taifoon venue tape (sources replayable); any other question is a small open model's prior with no web search (no sources, confidence at most 0.3). Checked before you are charged. 0.01 USDC a forecast. Paid per call with x402: POST https://coord.taifoon.dev/v1/x402/class/mech.predict, 0.01 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","forecast.mech.predict"],"examples":["POST https://coord.taifoon.dev/v1/x402/class/mech.predict"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-resale-data-onchain-query","name":"On-chain data query on Base, sold by Taifoon","description":"On-chain data query on Base, sold by Taifoon: the tokens and fee tier of a Uniswap V3 pool, or the hash of a block. An admitted data seller answers; Taifoon reads the same facts from the chain and grades the answer before you are charged. A failed answer is not charged. Answer + graded receipt. 0.03 USDC a call. Paid per call with x402: POST https://coord.taifoon.dev/v1/x402/class/data.onchain_query, 0.03 USDC a call, payable on Base. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","resale.data.onchain_query"],"examples":["POST https://coord.taifoon.dev/v1/x402/class/data.onchain_query"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-resale-market-price","name":"market","description":"market.price, 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.005000 USDC. Paid per call with x402: POST https://www.taifoon.io/api/coordination/x402/class/market.price, 0.005 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","resale.market.price"],"examples":["POST https://www.taifoon.io/api/coordination/x402/class/market.price"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-resale-risk-address","name":"risk","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.011250 USDC. Paid per call with x402: POST https://www.taifoon.io/api/coordination/x402/class/risk.address, 0.01125 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","resale.risk.address"],"examples":["POST https://www.taifoon.io/api/coordination/x402/class/risk.address"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-resale-mcp-digest","name":"mcp","description":"mcp.digest, sold by Taifoon: 2 sellers 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.011750 USDC. Paid per call with x402: POST https://www.taifoon.io/api/coordination/x402/class/mcp.digest, 0.01175 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","resale.mcp.digest"],"examples":["POST https://www.taifoon.io/api/coordination/x402/class/mcp.digest"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-resale-mech-predict","name":"mech","description":"mech.predict, 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. Paid per call with x402: POST https://www.taifoon.io/api/coordination/x402/class/mech.predict, 0.01 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","resale.mech.predict"],"examples":["POST https://www.taifoon.io/api/coordination/x402/class/mech.predict"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-acp-market-report","name":"ACP market report","description":"ACP market report: live Virtuals ACP observatory analytics (jobs by state, 24 h events and volume, completion rate, top providers). Paid per call with x402: POST https://www.taifoon.io/api/x402/acp-market-report, 1 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","acp-market-report"],"examples":["POST https://www.taifoon.io/api/x402/acp-market-report"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-entity-resolve","name":"Resolve an address to a labelled entity","description":"Resolve an address to a labelled entity. Paid per call with x402: POST https://www.taifoon.io/api/x402/entity-resolve, 0.1 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","entity-resolve"],"examples":["POST https://www.taifoon.io/api/x402/entity-resolve"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"x402-entity-resolve-skills-namespace","name":"Resolve an address to a labelled entity","description":"Resolve an address to a labelled entity. Paid per call with x402: GET https://www.taifoon.io/api/skills/entity-resolve, 0.1 USDC a call, payable on Base, Arbitrum One, Arc, Robinhood Chain, Monad. An unpaid call answers HTTP 402 with the terms; every open route is in https://coord.taifoon.dev/.well-known/x402.","tags":["x402","paid","entity-resolve (skills namespace)"],"examples":["GET https://www.taifoon.io/api/skills/entity-resolve"],"inputModes":["application/json"],"outputModes":["application/json"]}],"conformance":true,"conformance_errors":null,"homepage":null,"repository":null,"license":null,"pricing":null,"contact":null,"id":"57ca509c-b933-4154-b1d1-35cef44a981d","created_at":"2026-09-27T07:12:24.316630Z","updated_at":"2026-10-13T00:12:50.743862Z","hidden":false,"flag_count":0,"maintainer_notes":"Verified working at registration. Agent responds to `message/send` correctly via the A2A SDK.","category":"crypto-web3","category_secondary":null,"uptime_percentage":100.0,"avg_response_time_ms":2130,"last_health_check":"2026-10-13T00:12:50.646217Z","is_healthy":true,"status_notes":[],"task_conformance":{"category":"WORKING","passed":true,"checked_at":"2026-10-12T17:29:22.709546Z","response_ms":4158}}