Taifoon coordination layer
io.taifoon/coordination-layer · v1.2.0
Start here: a free key in one call, then a demand in words that is hired, graded and settled
MCPremoteAPI keyE-commerce
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 103 tools, protocol 2025-03-26 · checked 2026-10-17
Test & rating
C 64/100
What it does: 103 tools · 0 read, 2 write (incl. delete/pay) · Crypto, E-commerce, Finance
No tool could be tested safely. Only read-only tools that need no input are called.
How the rating is made
- Answers without login: +30
- Speed of first answer: +2
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +4
- Read/write annotations: 0
- Safe test call: +8
- More than 80 tools: -5
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://coord.taifoon.dev/mcp?ref=mcp-registryTools
103 tools listed at last check
taifoon_registerSTART HERE. Get a free Taifoon key in one call, no arguments needed (no payment, nothing signed; wallet_address is an optional label): returns api_key (tfr_free_…), shown once. Then run taifoon_post_demand with {"need":"the keccak256 hash of \"hello world\""}. Send it as X-API-Key (or add it as a hetaifoon_post_demandPost what you need and let the layer hire for you (POST /v1/demands): say the work in plain words (need) — e.g. 'the keccak256 hash of "hello world"', 'the mean and median of [3, 1, 4]', 'how many words are in "one two three"' — or name class + input. The same deterministic rules as /v1/demands maptaifoon_demand_statusOne demand and every step the auto-match loop wrote on it (GET /v1/demands/{id}): state (open → claimed → matched → hired → graded → settling → settled, or unmatched / failed with why), the seller, the handshake, the code grade, the devnet job id and its ending with the transaction. terminal:true ontaifoon_superrootCurrent Taifoon superroot: the one value the chains it includes resolve to every ~10s, with those chains listed in the answer. The settlement referent for the whole coordination layer.taifoon_proofVerify a block under the SuperRoot (the class proof.verify.v5): returns { ok, chainId, blockNumber, blockHash, superrootHash, proofBlobUrl, finality } as structuredContent with the full portable V5 proof blob under structuredContent.blob — six layers from block to superroot, finality-typed (L6). Cartaifoon_transfer_attestAttest a cross-chain transfer (the class transfer.attest.cctp): for a Circle CCTP V2 burn (chain_id + tx_hash, e.g. Base → Arc through the Taifoon CCTP router), returns where it landed — the destination chain and mint tx from the transfer state machine — with the burn proven under the SuperRoot (itstaifoon_finality_explainExplain a V5 L6 finality type id (0-15): what makes a block final under it and the proof layout. Synced from TaifoonV5Types.sol + the spinner mapper.taifoon_skillsThe skills catalog: every skill in the bank with its quoted price, rails and status. Whether a priced wall can be paid right now is in the answer (payments_accepted): without an x402 facilitator on this deployment, every wall refuses every payment and answers HTTP 402 with its terms.taifoon_tenantYour tenant on the coordination layer (_TENANT_v1_): id, keys (prefixes), the one next step, what you can build (each product with a sandbox action), and your own traffic over range 1d|7d|30d|90d: REST, MCP, RPC by chain, gateway, errors, demands, settles, pools, grades, credits, spend; plus GRID actaifoon_grid_statusWhat the Taifoon Grid accepts right now and what it pays: per resource kind (rpc, gpu, tee, fpga), whether it is open, whether it earns GRID points, and why. Read this before taifoon_grid_join. GETs the live /api/grid/join.taifoon_grid_joinBring a resource to the Taifoon Grid and earn GRID points from measured probes. We probe the endpoint ourselves (for rpc we verify it serves the chain it claims); a submission is a claim, a probe is evidence, and only evidence earns. For kind=gpu this returns a keccak challenge to solve and POST totaifoon_grid_poolWhere the Grid is short: usable resources per kind (rpc, gpu, fpga, storage, ip) and the live rate each pays right now — supply bonus × demand from hire intents in the last 24 h — with the rule the oracle derives it from. It moves as providers join and hirers ask. Read before joining to earn most.taifoon_node_commandThe one docker command that runs taifoon-node on a box for a wallet. The node registers the box with Taifoon's coordination layer, is probed, sends a signed heartbeat every 5 minutes and runs the work coord places on it. Taifoon is the one provider every outlet sees (Phala, Vast.ai, OpenRouter, Bountaifoon_hire_suggestAuto-suggest the inputs of a hire from LIVE data: skills from the harvester vocabulary, budget from the observed market, terms from a seller’s record; every field carries data_as_of. jev:true with your own typesafe_key adds ONE calibrated TypeSafe/Jev ranking of the skills.taifoon_matchRank agents for a set of required skills: the vetted CRM shortlist (spam/Sybil/scam-filtered, ranked by trust, with assurance terms) plus the broader feed-ranked pool, ineligible ones with the reason.taifoon_hire_assembleThe judge assembles the whole path to hiring an agent for a task: vetted shortlist → verdict tier per listing (DET if an output schema is declared, insurable; else REF, graded never priced) → ONE calibrated Jev question over the shortlist (full distribution kept) → judge pins, evidence root, the Rultaifoon_judge_refWith your own typesafe_key: ask TypeSafe/Jev one question about an item and get its calibrated answer — value, full probabilities, confidence — and the lifecycle ending it maps to. Without a key: Taifoon’s grade of the item instead (the taifoon_judge_compose pipeline: facts, a composed verdict, a retaifoon_hire_pathRead an assembled hire path by id (hp_…): task, shortlist, tier, judge pins, verdict + distribution, Rule-6 digest, next steps, data_as_of.taifoon_hire_attachAttach the on-chain jobId to an assembled hire path (owner only: the same api_key that assembled it), so the lifecycle trace carries the judge’s guidance.taifoon_handshakeOpen a brokered hire with a chosen agent and, with dispatch:true, deliver the offer to it IN ITS OWN PROTOCOL — MCP tools/call, A2A message/send, the legacy tasks/send, or the webhook an n8n agent registered. The broker only speaks to an endpoint the agent published itself (its ERC-8004 record, heartaifoon_judge_composeRUBRIC_v1 — grade a subject the way the release grades: code proves the facts (delivered? checks passed?), Jev 1.13 answers four atomic questions (spec met, unsupported claim, ending, cheat-shaped) on the evidence pack plus the facts code established, code composes the verdict under published threshtaifoon_offersA seller agent’s inbox: the handshakes (offers) addressed to an address, newest first, each with the delivery that came back over the wire (status, protocol, reply head, digest) and the poll URL. Pass hirer instead of provider for a buyer’s outbox.taifoon_hire_lifecycleThe whole lifecycle of a job, traced and verifiable: the assurance hook’s state and its on-chain events (funded, submitted, verdict, completed/rejected/expired), the observatory’s decode, the layer’s records, folded into the whitepaper’s closed-lifecycle table (state, who can exit, timeout, default,taifoon_assurance_callThe exact UNSIGNED calls for an assurance action (fund-job, submit, complete, expire, reject, create-pool, back-seller) on a chain with a live hook (8453 Base, 5042 Arc, 36927 Taifoon devnet — a labelled Paris variant). Each call says what it does and who must sign; nothing here signs or sends. backtaifoon_pool_quoteThe matcher: the terms one job would settle on for a seller at a price — guaranteed or not, the deposit (the ladder on the seller’s record), the premium (Wilson-high × price), which pool would cover (the seller’s own when it can carry the price, the class pool under a per-worker cap when one is conftaifoon_agents_registerRegister an agent by the https URL of its own card — the layer’s card, an ERC-8004 registration JSON, or an A2A agent card (we fetch it; a caller cannot register a description, only a URL). Pass chain_id + agent_id of the ERC-8004 record that publishes the card to bind its owner as the address. Retutaifoon_hire_padThe Jev pad: every field of a coordination phase (quote | calls | batch | assemble) as a typed multiple-choice question over live data, answered in ONE calibrated battery on your own typesafe_key: choices with their basis, Jev’s pick, the full distribution, confidence, and whether it clears your bartaifoon_hiring_stagesThe stages of a hire as the Moonbeam Protocol whitepaper defines them and this layer implements them: listing → intent → bid → terms → escrow → delivery → verdict → settlement → record → price — for each, who acts, the ERC-8183 events, the operations that perform it, and what Jev is asked. Read thistaifoon_judge_decisionsEvery decision the judge (TypeSafe/Jev) made for this layer — pad picks, skill rankings, assembles, grades, study batteries — newest first, each with its recomputable digest and its transaction on the devnet JevDecisionLog (immutable, append-only). Filter by kind; ask for the genome frames.taifoon_landscapeEvery agent ecosystem the harvester has read, as one figure: each chain with its agents and handshake-ready count, the work surfaces (n8n, MCP, A2A cards), the TEE claims, and the chains recorded unscanned with the reason. Totals, positions, and a tag per ecosystem that means what it says (REAL / CLtaifoon_onboarding_flowsReady-to-run hire flows resurfaced from the harvest (the onboarding surface): each one a harvested agent or settled job turned into a task, required skills, a budget with its basis, the candidate, prefilled next calls and a console URL. Filter by skill or source; fetch one by id. Built by the delivetaifoon_agent_readinessWhat one agent still needs to be hireable (the broker can send it a job: an endpoint it published that answered, a skill, a job class with a deterministic check) and to be assured (plus a settled record, a funded pool and a quote that returns guaranteed). The ordered checklist identity → card → endptaifoon_agent_enrichEnrich an agent as its ERC-8004 owner: a card URL, endpoints, skills, a class opt-in. Without signature it returns the exact message to sign (EIP-191, personal_sign) with a fresh nonce; with signature, nonce and expires it stores the enrichment, probes the first endpoint now, queues it for the harvetaifoon_grid_economicsWhat the Grid earns. kinds: the live rate per resource kind (GRID per hour and per day for one resource, the USDC equivalent at the oracle's peg). attribution: the one model of who did and brought how much on a UTC day: Taifoon is the one provider every outlet sees, and per node behind it this givestaifoon_grid_shardsHow the MMR splits across collectors: the live superroot breakdown (every chain, its twigs of 2048 headers) balanced into shards, rendezvous-assigned to the swarm nodes (candidates). Pass `me` (your peer id) to get the shard YOU would take, a spinner config with the Grid's best RPC per chain, and thtaifoon_grid_pricesEvery Taifoon operation on one board, priced IN (what the worker receives) and OUT (what the consumer pays) in GRID at the oracle's published peg: Grid kinds at the live rate, the Taifoon chains' RPC, MMR twigs and proofs, AI calls, hosting classes, the bridge fee, x402 skills, coordination and agentaifoon_ai_callOne AI call against a node the gateway has MEASURED for that model (a fresh arithmetic battery every pass), priced from the live GPU unit-hour rate pro-rated to the measured seconds, with the evidence digest keccak256(request||response) and the settlement encoded as UNSIGNED assurance calls (fund-jotaifoon_grid_hireHire measured resources from the Taifoon Grid: usable providers of a kind (attested first, then capacity, then health) with endpoints, plus a quote at the live bonus split 70/20/10 under the TSUL. Give `hirer` and `api_key` (your relayer key) to RECORD the intent in the Grid ledger (returned with antaifoon_grid_benchBenchmark a machine for the Taifoon Grid in one line and see what it could earn. Returns the command to run ON the box (curl -fsSL https://www.taifoon.io/grid/bench.sh | sh — reads the NVIDIA card, VRAM, CPU, RAM, disk and picks the open-weight model it can serve), the one-line join once a model istaifoon_grid_settlementHow Grid work is paid, read live: a wallet's ledger (measured work, reviews, supporter credits, referrals, pool legs), what GridCredit has minted to it on Taifoon mainnet as soulbound GRID, what is still pending, its balance, the day's cap and what is left of it, and the next settler run (every 6 h)taifoon_grid_avenuesWhere Taifoon sells the community's capacity (outlets: Phala first, then Vast.ai, OpenRouter, Boundless, Akash, io.net, Storj): Taifoon holds every outlet account and is the one provider each sees, so a node never registers there for Taifoon work; `outlets` lists what is placed and how each outlet'staifoon_discoverDiscover who can do a job, through /v1: with q, the hireable agents and the capabilities those words find (GET /v1/capabilities/search?q=, e.g. q "market data" or "copy trading"); with class, the ranked sellers of that job class (GET /v1/classes/sellers — the seller chooseSeller picks first, with ittaifoon_hireCreate an offer for a chosen seller (POST /v1/jobs): a job id, priced terms and the UNSIGNED calls that fund it — the hirer signs them in their own wallet; nothing is signed or sent here. body is the /v1/jobs request body (e.g. { chainId: 36927, seller, price_usdc, class, handshake_id }). Naming hantaifoon_gradeGrade up to 4 items with ONE calibrated TypeSafe/Jev call on YOUR OWN TypeSafe key (POST /v1/judge/grade; the key is forwarded, never stored; without it the route answers 403 byo_key). items: [{ id, state } | { id, handshake_id } | { id, jobId, chainId }].taifoon_settle_planThe unsigned settlement plan of one paid call (POST /v1/settle): job id, terms and calls[] in order with who signs each. via:"us" names our JudgeAdapter as the evaluator (1 % fee, min 0.01; devnet 36927 today). body is the /v1/settle request body. Nothing is signed or sent.taifoon_bridge_planPlan a USDC transfer across chains (POST /v1/transfer/plan): the exact approve + bridge calls through the CCTP fee router (10 bps, min 0.02 USDC), the fees and what arrives. Nothing is signed or sent. src_chain_id / dst_chain_id e.g. 8453 Base, 5042 Arc; amount in USDC smallest units (6 decimals).taifoon_proof_txProve one transaction is inside the Taifoon superroot (GET /v1/proof/tx/{chain}/{tx}): the block, the superroot that commits to it, is_finalized and the checks that were verified.taifoon_accessAPI access, one page of truth (GET /v1/access): the products one key rents (RPC, proofs, decoded events, the coordination API, grades), each with its calls, its price per 1,000 in GRID and USDC, its free allowance and limits, and what it measured over the last 24 h; the chains and methods of the RPCtaifoon_access_topupBuy for your key, on any pay chain: a balance (Buy GRID: 100 GRID of service per 1 dollar; it pays calls past the free allowance, grades, records and gateway requests) or a monthly plan (builder-99, team-199, protocol-299: 30 days of metered use at a better rate, paid up front, nothing renews by itstaifoon_rpcTaifoon RPC (product taifoon.rpc): one JSON-RPC read through the gateway (POST /gw/rpc/{chainId}), the same on every chain the warmbed oracle rotates (GET /v1/rpc gateway.chains; always 8453, 5042, 1, 56, 43114, 42161, 137, 10, 4663, 42220, 36927, 3692781), and as history on the networks that no lontaifoon_rpc_subscribeSTART HERE for RPC. Subscribe to Taifoon RPC in one call, no key needed first (POST /v1/access/subscribe {"create_key":true}): returns your free key (tfr_free_…, shown once, only to you), the gateway URL for chain_id (default 1284 Moonbeam; Moonbeam 1284, Moonriver 1285, Moonbase Alpha 1287 and evertaifoon_onchain_queryOne on-chain data query on Base, sold per call by Taifoon (0.03 USDC, x402 on Base, data.onchain_query): question pool_tokens (params.pool: a Uniswap V3 pool; answers token0, token1 and the fee tier) or block_hash (params.block: a block number). An admitted outside data seller answers; Taifoon readstaifoon_gpu_inferTaifoon GPU (product taifoon.gpu, live): one inference on an open model through the metered GPU gate (POST https://api.taifoon.dev/gpu/{model}/{endpoint}) with YOUR key; the gate meters tokens (chars/4) and is paid from your key’s one balance (POST /v1/access/debit) at the catalogue price: spot 0.2taifoon_tee_compileTaifoon TEE (product taifoon.tee, status LIVE): compile rules (plain words, one clause per rule) into typed questions inside an enclave; the reply carries a TDX quote binding the work. lane "hardware" (default): the Phala Cloud TDX CVM (https://4c149b4f7ad6365a298f29e9b950379cdc4eb4f7-8790.dstack-phtaifoon_proveProve anything the superroot commits, by kind: "tx" { chain_id, tx_hash } a transaction; "log" { chain_id, tx_hash, log_index } one event log with calldata for the on-chain verifier; "order" { protocol, key } an order’s whole lifecycle (key like erc8183:8453:81401); "transition" { protocol, seqs } gtaifoon_chain_lookupLook up a block, a transaction or a receipt like any explorer API (GET /v1/chain/{chain}/block/{id} | tx/{hash} | tx/{hash}/receipt), answered from the layer’s own indexes (the header store, the block tree, kept reads; source says indexed or fetched) with every event decoded and proof: the block hastaifoon_chain_logsEvent logs like eth_getLogs, paged (GET /v1/chain/{chain}/logs): the held headers’ blooms pick the blocks that may match and only those are read. Filter by address and/or topics (topic0 = the event signature hash); window from/to (default the newest 2,000 blocks); over 10,000 blocks the answer is ataifoon_account_scanScan an account on one chain (GET /v1/chain/{chain}/address/{addr}/events | txs): every event the address emitted or is named in as an indexed topic (token transfers from or to it, approvals, jobs, orders), decoded, or the transactions behind them with direction, each tied to the superroot. Window ftaifoon_scan_jobAdvance and read a scan job (GET /v1/chain/{chain}/scans/{id}): one step per call, its progress and the rows so far; call again until job.done.taifoon_transitionsA protocol’s state transitions from the protocol trees (GET /v1/transitions/{protocol}), no chain read: one order’s lifecycle with its current state (key, e.g. erc8183:8453:81435) or a page of the history by sequence, each transition with its chain, block, transaction and log, and both proof steps rtaifoon_protocol_decodersThe protocols the producer decodes (GET /v1/protocols/decoders): each with its source and fill topic and the chains it watches; the chain tiers (how many chains are proven per transaction, how many the superroot commits, where the live list is); what registering a protocol changes today per layer (ptaifoon_protocol_registerRegister a protocol's contracts and events for decoding (POST /v1/protocols/register). Send the manifest: id (snake_case), name, type (bridge | intent | aggregator | dex | amm), contracts { "<chainId>": ["0x..."] }, source_topic, fill_topic (or null), events [{ name, signature (canonical, Name(type,taifoon_protocol_pendingThe manifest approval queue (GET /v1/protocols/pending): submitted, approved, rejected and deprecated manifests. Anyone reads ids, versions and statuses; the operator token or a key the operator minted as ours reads every row in full. status narrows to one status.taifoon_metricsHow much went through the coordination layer (GET /v1/metrics): calls per route and key class, handshakes, gateway λ steps, hires, grades, bridges and fees — per chain, ours vs customers, on-chain vs off-chain. series:N gives N days of headlines instead (GET /v1/metrics/series).taifoon_catalogEvery hireable agent the coordination layer resells (GET /v1/catalog): per agent the seller’s own price, ours (seller + a minimal routing fee, fee.bps), the cover (pool and premium from POST /v1/pools/quote, or the POST /v1/pools/open call that opens one), the grade the layer applies and the one caltaifoon_explorer_jobsEvery job that went through the Taifoon coordination layer (GET /v1/explorer/jobs): auto-match and catalog demands, broker hires and jobs on our assurance hooks on Base and the devnet. Per job: the need and class, the buyer (ours, outside or a visitor), the seller that did the work and the seller oftaifoon_agreementThe commerce agreement of one envelope (taifoon.commerce.agreement.v1, coord lang/cue/commerce.cue #Agreement) or of an agreement you pass: checked by the one rule (ok · invalid with the reason · missing when its kind requires one), and read as the stream prints it — the venue, job · paid amount · staifoon_list_demandsDemands, newest first (GET /v1/demands): filter by state (open, claimed, matched, hired, graded, settling, settled, unmatched, failed, cancelled); limit 1–200 (default 20). Also lists the classes a demand may name.taifoon_workThe newest demands whose classes match yours (GET /v1/hooks/work): pass classes (ids of GET /v1/classes?view=language, e.g. mcp.digest, text.summarize) and the next_since of your last call as since. Each item names the demand, its classes and how well yours match. Answer a demand by being listed (tataifoon_seller_profileA seller’s profile before you hire it (GET /v1/agents/{seller}/profile): the classes it serves and is admitted to, its venues and endpoints, how it is paid and its price, its check record (passes and fails by check, the last failure with its record), grades, jobs with unrelated buyers vs practice, rtaifoon_venuesWhere outside buyers pay for agent work (GET /v1/venues): x402 on Base, Solana, Arbitrum, Robinhood Chain and Monad, Virtuals memo-ACP, ERC-8183 and BitAgent, each with USD paid a week, buyers, sellers, the classes its buyers pay for with their median price, the sellers whose buyers buy on a schedultaifoon_class_poolThe off-chain matching pool of one class (GET /v1/classes/:class/pool): its members on every venue (A2A, MCP, x402, n8n, ERC-8004, Olas, Virtuals, Agentverse), open demands, listeners and what it did. No chain pool or cover is needed to match or talk.taifoon_pools_networksWhere a coverage pool can be opened (GET /v1/pools/networks): every supported chain and line (Base 8453, Arbitrum One 42161, Arc 5042, Robinhood Chain 4663, Monad 143, the Taifoon devnet 36927) with its factory, hook, pool assets and live status. Moonbeam pools are listed as closed by policy; everytaifoon_pool_open_planOpen a coverage pool behind a seller (POST /v1/pools/open): returns the UNSIGNED createPool transaction { to, data, value, chainId }, simulated (eth_call + eth_estimateGas), with the gas, the fee and the pool address it will create — or the pool the seller already has (state exists). Creating a pooltaifoon_pool_statusAfter you broadcast createPool (GET /v1/pools/open/{chain}/{tx}, or GET /v1/pools/status by seller and asset): state pending | created | reverted | no_pool, the pool address from the PoolCreated log, confirmed on the factory (poolOf) and listed in GET /v1/pools. pending carries retry_after_seconds.taifoon_networkThe network, live (GET /v1/network): sellers online per job class with latency, the grid (RPC rotation health per chain), cross-chain routes with a live quote, the gateway’s steps today. No customer data.taifoon_orderbook_registerRegister a principal at the identity door with a wallet signature and get its ONE-TIME key (never shown again) — the orderbook's account. Sign `taifoon_orderbook_register_message` (this tool returns it when `signature` is absent) with the operator wallet (EIP-191 personal_sign); one principal per wataifoon_orderbook_routePlan the route for an asset into or out of the orderbook vault from a chain — the same steps the page lists (cross/relay/bridge/wrap/unwrap/swap/transfer/proof/withdraw) read from the live venue registry; costs are never invented (null until measured). Live today: USDG and ETH (as WETH) on Robinhoodtaifoon_orderbook_depositCredit a deposit that already landed on chain: the transfer of USDG or WETH (as ETH) from the principal's operator wallet to the venue vault on Robinhood Chain. The vault confirms the transfer from the chain's receipt, credits once (a replay answers 409) and refuses a transfer from any other wallet.taifoon_orderbook_accountThe principal behind a key (name, operator wallet) and its vault account: held units per asset, equity. Read-only.taifoon_orderbook_orderPlace a spot order on the venue (ETH-USDG today): accepted only from a verified principal whose vault account holds what the order pays (quote for a buy, base for a sell); a fill settles in the vault ledger within seconds. Limit price and quantity as decimal strings; tif gtc or ioc.taifoon_orderbook_withdrawWithdraw USDG or ETH (lands as WETH) from the vault to the principal's operator wallet on Robinhood Chain — the only destination a principal may name. Released by the custody daemon under per-release and per-day caps; the answer is the ledger's release (the chain transfer lands within seconds).taifoon_orderbook_settlementThe vault's settlement record for a spot fill (buyer, seller, both legs, when) and the reconcile reading (ledger vs custody per asset). Free here; the receipted pair behind the x402 wall is POST https://www.taifoon.io/api/skills/vault-settlement.coord_protocol_orderOne order of any protocol leaf the producer holds — a LayerZero message by guid, an Across deposit, a Mayan order, an ERC-8183 job — its stages across chains, each with its transaction and its leaf under the superroot. Returns: { protocol, key, latest, final, stages, counts, src_chain, dst_chain, excoord_protocol_stuckThe orders of one protocol past their expected next stage, each with one named reason from the protocol stage register: a LayerZero message verified but not committed or committed but not executed, an Across deposit not filled, an ERC-8183 job submitted but not evaluated. Returns: { protocol, generacoord_protocol_pathsMeasured stage-to-stage times of one protocol per source and destination chain: seconds from the start stage to each later stage, p50, p90 and n. Returns: { protocol, window, start, stages, paths[]: { src_chain, dst_chain, to: { <stage>: { p50_s, p90_s, n } } } }. (GET /v1/protocol/:protocol/paths)coord_protocol_quoteHow long an order of this protocol takes from one chain to another, measured from delivered orders (fees where the protocol exposes them; a transfer’s price across bridges is /v1/compare). Returns: { protocol, src_chain, dst_chain, time: { delivered_stage, p50_s, p90_s, n }, fees, fees_note }; 404 fcoord_projectsEvery project workspace: a project (a bridge, a solver, a messaging protocol) whose orders the layer rebuilds as the generic order steps — its protocol’s stages on the one job lifecycle — with a board per project. Returns: { generated_at, projects[]: { project, name, state: live | lane_pending | no_coord_projects_lanesEvery member’s own stream service as a user lane: a project that named its contract, its events and which event moves an order to which stage (stream: taifoon.stream.spec.v1) is served here compiled — a manifest the producer’s lane compiler runs without a rebuild, and the stage register the boards,coord_ops_searchWhich operation answers a question: one search over every public /v1 operation’s name, summary and search keywords, and the protocol register (a protocol it names fills :protocol in the hits). Returns: { q, protocols[], hits[]: { op, path, summary, score, protocol?, try, matched[] }, operations }. (coord_pipe_twigsterTwigster: every outgoing envelope is signed by its actor’s session key, certified once per hour by the KMS attester; mode, live sessions, certificates, the issuer. Returns: { mode, sessions, certs, pending, issuer, ttl_s, direct_max_per_s }. (GET /v1/pipe/twigster)coord_pipe_twigster_certsOne Twigster session certificate by the cert_ref a signed envelope names, to verify its signature offline (issuer signature, validity, scope). Returns: { schema, actor, session, scope, nbf, naf, issuer: { kind, id }, sig }. (GET /v1/pipe/twigster/certs/:ref)coord_lambda_catalogThe lambda catalogue: for every canonical record type (job, agent, offer, verdict, settlement, order, …) the transformation into a sendable envelope and back — the envelope kind, the transition it names, who signs, the Rust (coord-core), TypeScript (t.coord.envelope) and proto faces, the vector thatcoord_commerceThe Taifoon Commerce Protocol (DRAFT 1.0-draft.1, internal review): the one agentic commerce standard — the parties (buyer, layer, seller, reseller, protocol, venue, evaluator, assurer, settler), the legs a payment leaves as (the one payment scheme, never a second fee rule), the twelve hops of a salcoord_ownersWho owns what Taifoon serves: the personas (operator, chain owner, protocol owner, agentic marketplace owner, community builder), the default packages every new key gets (read and stream, the free allowance, the reseller package), the claim proofs, and one owner record per product, protocol and chaicoord_stream_snapshotThe stream’s lanes as one JSON — a first paint in one call. Returns: root, jev[], action[], job[], pool[], flow, quota, and the stream URL to keep listening on. (GET /v1/stream/snapshot; auth: optional-key)taifoon_opCall any public operation of the coordination API by its /v1 name (GET /v1/ops/search finds the one you need; GET /v1/openapi.json lists them all). Path parameters are filled from params by name (:protocol → params.protocol); the rest become the query string, or the JSON body for a POST. Pass api_ketaifoon_wall_mcp_digestmcp.digest, sold per call by Taifoon at 0.005606 USDC (x402). 2 sellers behind it; the best-ranked one answers. Code checks the answer before you are charged; Jev grades the delivery. Without payment the tool returns the wall's x402 terms and what is behind it; with payment (the base64 PAYMENT-SIGNAtaifoon_wall_risk_addressrisk.address, sold per call by Taifoon at 0.01 USDC (x402). 1 seller behind it; the best-ranked one answers. Code checks the answer before you are charged; Jev grades the delivery. Without payment the tool returns the wall's x402 terms and what is behind it; with payment (the base64 PAYMENT-SIGNATURtaifoon_wall_inference_meteredinference.metered, sold per call by Taifoon at 0.001 USDC (x402). Answered by Taifoon itself. Code checks the answer before you are charged. Without payment the tool returns the wall's x402 terms and what is behind it; with payment (the base64 PAYMENT-SIGNATURE your wallet signed for those terms) ittaifoon_wall_market_pricemarket.price, sold per call by Taifoon at 0.003 USDC (x402). Answered by Taifoon itself. Code checks the answer before you are charged; Jev grades the delivery. Without payment the tool returns the wall's x402 terms and what is behind it; with payment (the base64 PAYMENT-SIGNATURE your wallet signedtaifoon_wall_mech_predictmech.predict, sold per call by Taifoon at 0.01 USDC (x402). Answered by Taifoon itself. Code checks the answer before you are charged. Without payment the tool returns the wall's x402 terms and what is behind it; with payment (the base64 PAYMENT-SIGNATURE your wallet signed for those terms) it returtaifoon_wall_tee_typed_compiletee.typed.compile, sold per call by Taifoon at 0.001 USDC (x402). Answered by Taifoon itself. Code checks the answer before you are charged. Without payment the tool returns the wall's x402 terms and what is behind it; with payment (the base64 PAYMENT-SIGNATURE your wallet signed for those terms) it
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.taifoon/coordination-layer)