NestDaddy

Robyn — Gasless Cross-Chain for AI Agents

io.github.ox31461/robyn · v1.0.5

Gasless cross-chain for AI agents: 25 nodes incl. Solana & native Bitcoin. One signature, no gas.

Connect Remote server

Terminal
claude mcp add --transport http robyn https://api.anygas.xyz/mcp
~/.cursor/mcp.json
{
  "mcpServers": {
    "robyn": {
      "url": "https://api.anygas.xyz/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "robyn": {
      "type": "http",
      "url": "https://api.anygas.xyz/mcp"
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://api.anygas.xyz/mcp

Tools 80 found in our last check

  • robyn_privacy_posture

    ONE read that tells you, for a chain and for the lane you reached Robyn on, exactly what stays private (relay lane, PQ transport, private mempool / sequencer) and what is still public (on-chain settlement, stealth is not PQ), the live mode of every privacy feature (messaging v2,…

  • robyn_receipt_deliver

    Hands a relayer-signed settlement receipt (from robyn_settle / a completed route) to the counterparty's sealed messaging-v2 mailbox, so they get verifiable proof (terms honored, authorized, clean provenance) WITHOUT ever contacting Robyn. Same wire shape as any message; content-…

  • robyn_receipt_verify

    Checks digest + relayer signature + signed terms of a receipt you received (e.g. opened from your v2 mailbox). Read-only.

  • robyn_mesh

    List the Robyn gasless chains and the cross-chain route graph (22 EVM nodes + Stellar), plus the relayer/Permit2 addresses. No credentials needed.

  • robyn_quote

    Best gasless route to move a token from one Robyn chain to another. Returns estimated output, the bridge used, duration, and the Robyn fee. Read-only — moves nothing. IMPORTANT: check `quoteOnly` on the response. If it is true the corridor can be PRICED but NOT settled — execute…

  • robyn_settle

    The one-verb primitive. Say where value should go; Robyn returns the best route (all rails compared), the gasless method (no native token needed), the privacy posture that will apply (API-relay + private mempool where available + uniform shape), and what the settlement receipt w…

  • robyn_attestation

    Returns a relayer-SIGNED attestation that, as of a signed timestamp, every component was up (router, signing daemons, MCP, privacy relay) AND the privacy invariants held — the adversary probes could not distinguish cover traffic from real (classifier = chance) and the k-anonymit…

  • robyn_preflight

    Run this before robyn_prepare/robyn_submit. Returns decision GO or NO_GO plus typed `blockers` (each with a `fix`) and `warnings`. It catches, for free, the failures that otherwise cost gas: a fixed corridor fee that would consume the whole amount so nothing arrives, a recipient…

  • robyn_vip_status

    Check whether an address holds a recognised member NFT and what it gets. Members pay ZERO on cross-chain transfers of $0.10-$25 to low-cost chains, 15bps instead of 25bps routing, and 10% instead of 25% gas markup. Read-only. Call this before quoting for a user so you can tell t…

  • robyn_route_status

    Status of an in-flight route by id (BRIDGING → DONE), with the destination tx once delivered.

  • robyn_cross_chain

    Plan a gasless cross-chain move and get the exact payload to sign. This hosted server never holds your key: call this, sign what it returns with your own wallet, then call robyn_submit to have the relayer broadcast it and pay the gas.

  • robyn_prepare

    Turn a plain-language or structured intent into a concrete plan plus the EXACT payload to sign. Costs nothing, moves nothing, needs no key. Returns status:"sign" with signRequest, or status:"quoted" if something is still missing.

  • robyn_sandbox_do

    Runs the identical path end to end against the sandbox: no key, no funds, no broadcast. Use this to prove an integration works before touching real money.

  • robyn_submit

    Relay an intent you already signed. The relayer broadcasts it and fronts all network gas; your account needs no native token. Build `permit2` from robyn_prepare: sign its signRequest.eip712 payload (canonical Permit2 domain + PermitTransferFrom/TokenPermissions types) and pass t…

  • robyn_netting_info

    Explains the opt-in netting ledger: transfers between two ENROLLED accounts settle as a book entry — no chain, no gas, no fee, instant, at ANY size including amounts below every per-chain cost floor. CUSTODIAL — this is the ONE part of Robyn that holds your balance; every other…

  • robyn_netting_account

    Whether an address is enrolled (and therefore custodied), its internal balance, recent history, and `nextNonce` — which you MUST use when signing the next transfer or withdrawal. An address that never enrolled is reported as not custodied. Read-only.

  • robyn_netting_preview

    Free and read-only. Given an amount, ranks EVERY exit chain by what actually arrives after the destination payout cost is deducted. Those costs differ by more than 1000x (Avalanche delivers ~$0.99994 of a dollar; Linea ~$0.927), so which chain you leave on is a real decision. Pa…

  • robyn_netting_statement

    Internal transfers produce NO transaction hash because no transaction occurs — this append-only journal is their only record. Never truncated; page with `before` (a seq number). Use this when a user asks to verify or dispute an internal payment, since there is no chain to check.

  • robyn_netting_reserves

    Publishes what Robyn OWES across all netting accounts against the real relayer float backing it, per chain. Solvency is checkable rather than asserted. Deposits are refused if they would push liabilities above a safe share of the float. Read-only — a user considering a custodial…

  • robyn_netting_enroll_payload

    Returns the EXACT message the account must sign with its OWN key to open a custodial balance. This endpoint holds no key and enrols nobody — it returns the text; the user signs it, then POST {address, signature} to /api/netting/enroll. CUSTODIAL — this is the ONE part of Robyn t…

  • robyn_netting_transfer_payload

    Returns the exact string to sign, with the correct next nonce, for a free instant transfer between two ENROLLED accounts. Signs nothing and moves nothing — the sender signs the returned message, then POSTs {from,to,amount,nonce,signature} to /api/netting/transfer. BOTH parties m…

  • robyn_counterparty_check

    Your OWN payment history with a recipient address: how many times, how recently, and whether this amount is typical. Call it before paying an address you have not confirmed. THIS IS NOT A REPUTATION SCORE and says nothing about whether the address is honest. A familiar address i…

  • robyn_preflight_full

    ONE call combining serviceability, routing competitiveness, cheaper alternatives, delivery basis and mandate budget into a single go/no-go. Call this before executing rather than making five separate checks. BLOCKERS AND WARNINGS ARE DIFFERENT. `blockers` WILL fail — do not atte…

  • robyn_integration_lint

    Post the request you INTEND to make and get back what is missing or unsafe, with the concrete consequence. Run this before your first live execute. Findings marked `unsafe` can lose money or make you report something untrue — fix them, do not proceed. IMPORTANT: it lints the REQ…

  • robyn_recipes

    Ordered playbooks for real goals: pay-someone-safely, prove-what-i-spent, spend-within-a-budget, handle-failures-well, stay-current. CALL THIS BEFORE IMPROVISING A SEQUENCE. Each step says what it answers, what to do with the answer, whether it is optional, and what skipping it…

  • robyn_changelog

    Machine-readable API history. Pass the version your integration was built against as `since` and you get only what has changed after it, with an explicit `breaking` flag on each entry. CHECK `mustAct` FIRST: if true there are breaking changes and an existing integration may ALRE…

  • robyn_errors

    The full error taxonomy: every errorCode, whether it is retryable, and the suggested recovery action. Read this once and branch on errorCode instead of parsing messages.

  • robyn_verify_outcome

    Check what ACTUALLY happened to a settled transfer, against the destination chain rather than Robyn's own database. Optionally assert who should have been paid (`recipient`) and the minimum that should have arrived (`minAmount`); we decode the payout transaction's ERC-20 Transfe…

  • robyn_plan

    Validate a WHOLE multi-step workflow up front instead of one hop at a time. Fees and durations accumulate across steps. Evaluation stops at the first unroutable step rather than reporting speculative results behind it. If the plan cannot work, the response names the BINDING CONS…

  • robyn_spend_statement

    A statement of every transfer in a window with each fee broken down, SIGNED by Robyn's relayer key (EIP-191). Use this when you must PROVE to a principal what you spent — your own summary is a claim by the party being audited, but this is verifiable against a published address w…

  • robyn_fee_forensics

    Reconstruct a settled transfer unit by unit: destination payout gas, Robyn margin, or a Robyn SUBSIDY where Robyn absorbed a loss. Each line names who was paid and how the figure was derived. Anything that cannot be attributed is returned as `unattributed` rather than folded int…

  • robyn_delivery_stats

    How long settlements ACTUALLY take, per rail and per corridor — not a single advertised constant. CHECK `basis`/`status`: below the sample threshold this returns `insufficient-data` and the figure is a static ESTIMATE, not a measurement. Say which you are quoting when you tell a…

  • robyn_mandate_events

    Poll for spend, nearly-exhausted, exhausted, approval-required and revoked events on a principal's mandates. Pass the returned `cursor` back as `since` for only what is new. Use this to tell a principal their budget is running low or that a large payment is waiting on their appr…

  • robyn_mandate_list

    List all mandates granted by a principal address, with remaining budget, co-sign threshold, expiry and revocation state. Use this before telling a user they are safe: live mandates can still be drawn against WITHOUT further approval, and a forgotten grant is the one that hurts.…

  • robyn_mandate_cosign_request

    For mandates with a co-sign threshold, check whether a specific spend needs the principal to approve it and get the exact digest they must sign. The digest binds the mandate, the transfer AND the amount, so an approval cannot be reused for a different payment — do not attempt to…

  • robyn_mandate_certificate

    A signed certificate listing every spend counted against a mandate, the budget, the total spent, and whether it stayed inside. Hand it to the principal at the end of a period. Every spend listed was VERIFIED ON-CHAIN before counting, and the amount is what the chain showed arriv…

  • robyn_mandate_check

    Check a proposed spend against a signed spending mandate BEFORE making it. Returns WITHIN_MANDATE, EXCEEDS_MANDATE or EXPIRED plus the remaining budget. If EXCEEDS_MANDATE, do NOT split the spend into smaller pieces to get under the limit — that defeats the control your principa…

  • robyn_mandate_status

    Remaining and consumed budget for a signed mandate. Consumption counts ONLY transfers verified on-chain, so the figure cannot be inflated by claiming spends that did not happen.

  • robyn_improve_cost

    Turns a price into a decision. Returns concrete, QUANTIFIED changes — a cheaper destination chain with the exact saving, the size at which a fixed payout cost stops dominating, whether the instant float lane applies, and whether rails that would have competed were unavailable. C…

  • robyn_why_this_route

    Returns the full routing decision: every rail that quoted, what each would deliver, the margin the winner won by, and which rails stayed SILENT and why. Signed, so you can archive the rationale. CHECK `wasCompetitive` BEFORE TELLING A USER THE PRICE IS GOOD. If it is false, exac…

  • robyn_capability_snapshot

    A signed, timestamped record of current capability: which chains can actually be PAID OUT ON right now, which are merely policy-eligible, which rails are execute-ready, and whether delivery figures are measured or estimated. USE `serviceableNow`, NOT `policyEligible`, when decid…

  • robyn_evidence_bundle

    Assembles EVERYTHING about a settled transfer in one call: the on-chain verification, the unit-by-unit fee breakdown, what the alternative route would have cost, and whether the delivery time is measured or estimated — signed as a whole. This is the artefact to hand to a princip…

  • robyn_payment_request_prepare

    Build a canonical payment request (payee, chain, token, amount, memo, expiry) and return the digest for THE PAYEE to sign with their own wallet. Robyn does not sign these and holds no payee keys — a request signed by Robyn would prove nothing about the payee. Use this when an ag…

  • robyn_payment_request_verify

    ALWAYS run this before paying a request you received. It confirms the payee address, chain, token and amount were signed by whoever controls the payee address, and that the request has not expired. If `signedByPayee` is false, DO NOT PAY — that is what an altered payee address l…

  • robyn_payment_request_settlement

    After paying, prove it: re-checks the transfer against the DESTINATION CHAIN and confirms the payee was paid at least the amount requested. Returns paid=true only on a verified on-chain result; paid=null means undetermined, which is NOT evidence you satisfied the request.

  • robyn_refusal_verify

    Check a signed refusal receipt. Send header `x-anygas-receipt: 1` on any request and, IF Robyn refuses it, the error response carries a signed `refusalReceipt` recording what was asked, when, and why. This matters because when a provider says no, the AGENT gets the blame — a rec…

  • robyn_7702_delegate

    The canonical Robyn EIP-7702 batch-executor delegate: its address on each of the 22 EVM chains, the ABI, and the EIP-712 scheme for executeSigned. Delegate to this and the relayer can sponsor your transactions. Read-only.

  • robyn_7702_check

    Check that a signed EIP-7702 authorization tuple recovers the expected account, and whether its nonce matches the live account nonce. Free, read-only, moves nothing.

  • robyn_sponsor_7702

    Price or request an EIP-7702 sponsored transaction: Robyn submits your signed authorization as a type-4 transaction and PAYS THE GAS, so your account needs no native token. Over this HOSTED endpoint the call is a DRY price-check (returns estGas, priceUsd and the exact envelope)…

  • robyn_yield_account

    An agent's own Aave v3 / Moonwell position (aUSDC/mUSDC) per chain + the capped allowance it granted the relayer + live APY (best-yield auto-selected). Non-custodial: funds stay in the agent's wallet, Robyn holds no key and no pool.

  • robyn_yield_quote

    Read-only JIT quote: how a spend would be fulfilled from an agent's Aave yield venue (draw <= your allowance -> Aave/Moonwell withdraw -> gasless deliver). Moves nothing.

  • robyn_yield_spend

    Spend from your yield (Aave v3 or Moonwell) with ONE EIP-712 signature: Robyn pulls only up to your on-chain aUSDC/mUSDC allowance, unwinds exactly what is needed, and delivers gaslessly; the remainder keeps earning. This HOSTED endpoint is READ-ONLY: it returns the exact EIP-71…

  • robyn_message_info

    Sonar — PRIVATE · SEALED · POST-QUANTUM MESSENGER (broadcast to everyone, understood by one, remembered by none). Hybrid ML-KEM-768+X25519 encryption, a one-time stealth handle per message, fixed-size ciphertexts, 60 s release grid. The server stores only (ephemeralPubKey, viewT…

  • robyn_message_directory

    Every published v2 mailbox. PUBLIC rows carry {address, metaAddress, kemPub}; PRIVATE rows (the default since 2026-08-28) carry {handle, metaAddress, kemPub} and deliberately NO address. Identical for every reader, so fetching it reveals nothing about whom you intend to message…

  • robyn_message_mailbox_of

    For a Robyn name or NULL handle the server must resolve it, so this reveals your intended recipient to the server — prefer robyn_message_directory when you have an address. Returns {address|handle, metaAddress, kemPub} (private-handle rows carry no address by design). Read-only.

  • robyn_message_send

    Relays a message you sealed locally with /svc/msg2-sdk.mjs (seal(mailbox, inner) → {ephemeralPubKey, viewTag, ct}). This tool cannot encrypt for you: sending plaintext here would expose it to the relay, so it only accepts the sealed triple. Replay-idempotent (a resend returns du…

  • robyn_message_feed

    Returns released rows {id, ephemeralPubKey, viewTag, ct, releaseAt, nextAfter}, identical for every reader. Scan locally with the SDK (inbox(identity)) — checkStealthAddress with your viewPriv, then open ct with your KEM secret. Page with after=<nextAfter> (exact compound cursor…

  • robyn_message_publish_mailbox

    Registers a mailbox so others can seal to you. PRIVATE BY DEFAULT: the server stores only a salted hash of your signing address — pass `handle` to be reachable by name (agents get the same handle claim browsers have), or `public:true` to bind your bare 0x address in the open dir…

  • robyn_plus_info

    Plus sells capacity (rate-limit-exempt sends), funded cover rows and signed/anchored Merkle proofs — never a "more private lane" (that would be a smaller crowd). Paid in ETH (Robinhood Chain, Ethereum, Arbitrum, Base), USDC (Base, Arbitrum) or BTC (Chainflip). Redeemed with RFC…

  • robyn_plus_invoice

    Creates an invoice for one bundle (500 passes, $3 quoted in the chosen asset). Returns {invoiceId, payTo, amount (base units), human, chainId, expires}. Pay from any wallet; then blind tokens locally with the SDK and call robyn_plus_claim. For btc pass refundAddress (your BTC ad…

  • robyn_plus_invoice_status

    Status, remaining passes and payment details for an invoice. Read-only.

  • robyn_plus_trial

    Try Plus before paying: submit up to 20 BLINDED tokens (base64, from plus-sdk blindTokens()) and receive blind signatures — identical BLINDED passes to paid ones (the server never sees a pass; unlinkable to the claim only once the Plus mint key is pinned in the witness-chained h…

  • robyn_plus_claim

    Submit BLINDED tokens (base64, from plus-sdk blindTokens()) with the payment txHash. Payment is verified on-chain (recipient, amount, confirmation; one tx pays one invoice), then each blinded token is signed blind. Unblind locally (plus-sdk claim() does all of this). This tool n…

  • robyn_message_anchor_proof

    Merkle inclusion proof for an anchored row id: leaf, path, root, the signer’s EIP-191 signature over the batch statement and the on-chain tx when enabled. Verify locally with plus-sdk verifyAnchorProof(). Read-only.

  • robyn_message_erasure

    The last purge statement (expired count, cumulative, root of purged ids) signed by the operator. Read-only.

  • null_ecosystem

    The live NULL manifest: every product (messenger, Pay, Vault, Drop, Legacy, Agent Wire, forward secrecy), its status, its page, the wired/proposed integrations between them, the security spine, and the concept pipeline. This is the same single source of truth the owner console a…

  • null_names_quote

    Quotes a handle: 3ch $512/yr, 4ch $128/yr, 5-6ch $4/yr (deliberately under ENS), 7+ characters FREE forever. Includes live state (available/registered/grace/premium with the 21-day Dutch decay) and the exact register->pay->claim steps. Names are public by definition - quoting on…

  • null_names_market

    Live listings of premium handles for sale, plus the full deal protocol: agree peer-to-peer in a sealed chat, pay stealth or via NULL Escrow 2-of-3, then finalize with the dual-signed (secp + ML-DSA) witness-chained transfer and a 2% ($1 min) fee receipt. Listing your own handle:…

  • null_prekeys_fetch

    Fetches {spk, sigSpk, otk, otksLeft} for a recipient so you can start an X3DH-PQ forward-secret session (SDK: fs.startOutbound). ALWAYS fetch by META-ADDRESS: the sigSpk check verifies against the meta-address spendPub (sha256("null-fs-spk/v1:"+spk), secp256k1) and CANNOT run on…

  • null_prekeys_publish

    Makes you reachable with forward secrecy: publishes your signed prekey bundle (medium-term spk + one-time otks) so peers can start X3DH-PQ sessions TO you. Generate and sign locally with the SDK (fs.genBundle + publishPrekeys — sigSpk is secp256k1 over sha256("null-fs-spk/v1:"+s…

  • null_balance

    Reads an address balance through the NULL server-side RPC proxy, so YOUR IP never reaches any public RPC provider (this host queries upstream from its own address). BE HONEST ABOUT THE TRADE: querying a stealth address you derived LINKS that address, your session, and the time o…

  • null_notarize

    Proof-of-existence: hash the document LOCALLY (sha256, 64 hex) and send only the hash. The issuer countersigns {h, ts} with ML-DSA-65 (post-quantum); ts is SERVER-assigned. Optional owner endorsement: ownerAddr + ownerSig = EIP-191 over "null-notary/owner/v1|<h>"; if you add own…

  • null_prov_issuer

    Returns the post-quantum issuer public key that countersigns notary attestations, provenance mints and the witness-log head. Pin it once and verify everything against the pinned copy - a proof should never carry the key it wants to be checked against. Public on every lane.

  • null_prov_mint

    Relays a provenance request you signed LOCALLY (SDK mintProvenance builds it): {meta, claim, ts, sig, bind, sig2}. A post-quantum identity MUST include sig2 (ML-DSA) or the issuer refuses. The issuer checks your signature + identity binding and countersigns - the claim is REGIST…

  • null_login_verify

    Stateless dual-signature check (secp256k1 + ML-DSA-65) of a NULLAUTH1 assertion for YOUR rp domain and the ONE-TIME challenge YOU issued; returns {ok, psid, mode, named, meta, handle(claim)}. Prefer verifying locally with @null/login-rp (no call at all); this tool is the conveni…

  • null_witness_head

    ML-DSA-signed head {seq, root, sig} of the append-only log that binds every mailbox record (slot|meta|kemPub|ts). Signed by the SAME issuer key as null_prov_issuer. Keep the last head you saw; a later head must extend it (null_witness_range) - a fork is proof of equivocation. Pu…

  • null_witness_range

    Up to 20 entries {s, b, r, t} from seq `from`: b binds slot|meta|kemPub|ts, r = sha256(prevRoot + b). Replay the chain from a head you trust to prove a mailbox binding was never silently swapped. Public on every lane.

  • null_transparency

    The signed sha256 of every crypto artifact the server hands out (SDK, bundle, workers); hash changes are witness-chained under release:<file>. Fetch an artifact, hash it, compare - a mismatch means you were served something that is not the signed release.

  • null_capsule_cancel

    Destroys a future-dated capsule you sent with {holdMs, cancellable:true}, using its one-time cancel token. Already-released rows are untouchable. The token proves nothing about who you are. Private-lane-only: use the stdio door.

  • null_calls_info

    What the blind call relay offers (1:1 and conference, codecs, join-token model). Media keys are sealed through the feed and never reach the relay. Calls themselves need a media-capable client (browser); agents can read the posture and hand a human the join flow.

Details

Endpointhttps://api.anygas.xyz/mcp (Streamable HTTP)
Package[email protected] (NPM, stdio)
First published14 Jul 2026
Last updated14 Jul 2026
Registry nameio.github.ox31461/robyn

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.