Solana MCP by Vybe
Solana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Gasless cross-chain for AI agents: 25 nodes incl. Solana & native Bitcoin. One signature, no gas.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ROBYN_SVC, ROBYN_SIGNER_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://api.anygas.xyz/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"robyn": {
"command": "npx",
"args": [
"-y",
"anygas-mcp"
],
"env": {
"ROBYN_SVC": "ใส่ค่าของคุณ",
"ROBYN_SIGNER_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http robyn https://api.anygas.xyz/mcpclaude mcp add robyn --env ROBYN_SVC='ใส่ค่าของคุณ' --env ROBYN_SIGNER_KEY='ใส่ค่าของคุณ' -- npx -y anygas-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"robyn": {
"url": "https://api.anygas.xyz/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"robyn": {
"command": "npx",
"args": [
"-y",
"anygas-mcp"
],
"env": {
"ROBYN_SVC": "ใส่ค่าของคุณ",
"ROBYN_SIGNER_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"robyn": {
"type": "http",
"url": "https://api.anygas.xyz/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"robyn": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"anygas-mcp"
],
"env": {
"ROBYN_SVC": "ใส่ค่าของคุณ",
"ROBYN_SIGNER_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://api.anygas.xyz/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ROBYN_SVC envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 10 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
robyn_privacy_postureONE 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_deliverHands 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-h
robyn_receipt_verifyChecks digest + relayer signature + signed terms of a receipt you received (e.g. opened from your v2 mailbox). Read-only.
robyn_meshList the Robyn gasless chains and the cross-chain route graph (22 EVM nodes + Stellar), plus the relayer/Permit2 addresses. No credentials needed.
robyn_quote ดูเหมือนสั่ง AIBest 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_settleThe 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 wi
robyn_attestationReturns 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-anonymity
robyn_preflightRun 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_statusCheck 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 th
robyn_route_statusStatus of an in-flight route by id (BRIDGING → DONE), with the destination tx once delivered.
robyn_cross_chainPlan 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_prepareTurn 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_doRuns 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_submitRelay 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 th
robyn_netting_infoExplains 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 t
robyn_netting_accountWhether 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_previewFree 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. Pas
robyn_netting_statementInternal 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_reservesPublishes 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_payloadReturns 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 th
robyn_netting_transfer_payloadReturns 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 mu
robyn_counterparty_check ดูเหมือนสั่ง AIYour 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 is
robyn_preflight_fullONE 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 attem
robyn_integration_lintPost 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 REQU
robyn_recipesOrdered 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 c
robyn_changelogMachine-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 ALREA
robyn_errorsThe 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 ดูเหมือนสั่ง AICheck 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 Transfer
robyn_planValidate 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 CONST
robyn_spend_statementA 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 wi
robyn_fee_forensicsReconstruct 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 into
robyn_delivery_statsHow 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_eventsPoll 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 appro
robyn_mandate_listList 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. A
robyn_mandate_cosign_requestFor 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_certificateA 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 arrive
robyn_mandate_checkCheck 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 principal
robyn_mandate_statusRemaining 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_costTurns 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. CR
robyn_why_this_routeReturns 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, exact
robyn_capability_snapshotA 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 decidi
robyn_evidence_bundleAssembles 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 principa
robyn_payment_request_prepareBuild 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 age
robyn_payment_request_verifyALWAYS 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 lo
robyn_payment_request_settlementAfter 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_verifyCheck 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 rece
robyn_7702_delegateThe 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_checkCheck 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_7702Price 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_accountAn 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_quoteRead-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_spendSpend 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-712
robyn_message_infoSonar — 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, viewTa
robyn_message_directoryEvery 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_ofFor 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_sendRelays 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 dup
robyn_message_feedReturns 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= (exact compound cursor — never ski
robyn_message_publish_mailboxRegisters 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 dire
robyn_plus_infoPlus 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 9
robyn_plus_invoiceCreates 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 add
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub ox31461 ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด 29 วันที่ผ่านมา
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 308 ms (HTTP 200)
ไม่ต้องล็อกอิน
คำอธิบายเครื่องมือ 4 ตัวมีข้อความที่ดูเหมือนสั่ง AI อ่านรายการด้านล่างก่อนติดตั้ง
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 4 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: ROBYN_SIGNER_KEY
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด 29 วันที่ผ่านมา และส่งรุ่นล่าสุด (1.0.5) เข้า registry 4 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Solana MCP by Vybe, Solana MCP by Vybe, Oracle3 prediction-market arbitrage checks
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Solana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.
Solana MCP for wallets, trades, markets, PnL, transfers, onchain data, signable swaps and API tools.
Kalshi and Polymarket data, venue fees, no-arbitrage checks and paper execution for AI agents.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A gasless intent layer for AI agents. Sign one intent, hold no native gas anywhere, and pay or move value across 22 EVM chains + Stellar mainnet. Robyn's relayer fronts the gas — on the source chain, the destination chain, and the bridge — and is reimbursed from the token being moved. The agent's signer needs zero native balance. It only signs.
🔗 Live now — [anygas.xyz](https://api.anygas.xyz) · Ask the concierge · Live mesh (JSON) · llms.txt
npx jsr add @robyn/agent-kit
import { RobynAgent } from '@robyn/agent-kit';
const agent = new RobynAgent({ signer, svc: 'https://api.anygas.xyz/svc' });
// Move value across chains — one signature, zero gas on either side. const { id } = await agent.crossChain({ fromChain: 8453, fromToken: USDC_BASE, // Base toChain: 42161, toToken: USDC_ARB, // Arbitrum amount: 25_000000n, });
That's the whole thing. No faucet, no per-chain gas top-ups, no bridge picking, no native token held anywhere. The signer signs a single Permit2 intent; Robyn does the rest and takes its fee in the token being moved.
Two capabilities, one gasless model:
pay / payAny / buy.route (quote) / crossChain (execute) / routeStatus (track).Live on mainnet, both directions to Stellar.
A single relayer mesh spans 22 EVM chains and Stellar mainnet. Any node can be a source or a destination — EVM↔EVM and EVM↔Stellar both run on mainnet today. Stellar is a first-class destination: set toChain: "stellar", toToken: "USDC".
Query the live registry and route graph at runtime — agent.chains() / agent.routeInfo(), or the robyn_mesh tool.
Robyn is live. These are on-chain, verifiable moves — not testnet, not simulated:
| What | Transaction |
|---|---|
| EVM→EVM Permit2 delivery (Base→Arbitrum) | 0x98a988b1… |
| EVM→Stellar (source leg, Arbitrum) | 0x22c16ca8… |
| EVM→Stellar (destination leg, Stellar) | 63f5eb1c… |
Gasless pay_any on Stellar mainnet | d96d7e52… |
Stellar mainnet contract: CDDJAVK2CLA2LIYJWXH4APVFEDQBH3HT72UFAVSLNBLDTEZELJ6PEKD2
Pick the surface that fits your stack. All three are MIT client packages published on JSR.
@robyn/agent-kitThe one-import way for an agent (or any automated system) to transact gaslessly.
npx jsr add @robyn/agent-kit
import { RobynAgent } from '@robyn/agent-kit';
const agent = new RobynAgent({ signer, svc }); await agent.payAny({ token: ANY, to: merchant, amount, verifiedAsset: USDG }); // gasless pay await agent.crossChain({ fromChain: 8453, fromToken, amount, toChain: 42161, toToken }); // cross-chain
@robyn/mcpGive any MCP-capable agent (Claude Desktop, Cursor, agent frameworks) Robyn's tools directly.
npx jsr add @robyn/mcp
{
"mcpServers": { "robyn": { "command": "npx", "args": ["-y", "robyn-mcp"], "env": { "ROBYN_SVC": "https://api.anygas.xyz/svc", "ROBYN_SIGNER_KEY": "0x…" // optional — omit for a safe read-only server } } } }
Tools: `robyn_mesh`, `robyn_quote`, `robyn_route_status` (no credentials) and `robyn_cross_chain` (needs a signer key).
@robyn/adaptersThe same four tools as a drop-in for the agent framework you already use.
npx jsr add @robyn/adapters
import { robynTools } from '@robyn/adapters/ai-sdk'; // Vercel AI SDK
import { robynLangchainTools } from '@robyn/adapters/langchain'; // LangChain import { robynActionProvider } from '@robyn/adapters/agentkit'; // Coinbase AgentKit import { robynOpenAITools, robynAnthropicTools, robynDispatcher } from '@robyn/adapters/schemas'; // raw function-calling
Always paid from the token you're already moving — the agent never needs a native balance to cover fees. Every quote returns the fee before you execute (route / robyn_quote).
Cross-chain uses Permit2 SignatureTransfer. Once per (token, chain), the signer approves Permit2 to spend the token — a standard, single ERC-20 approval:
await token.approve('0x000000000022D473030F116dDEE9F6B43aC78BA3', ethers.MaxUint256);
After that, every move is a single gasless signature — no native token, ever.
These packages are MIT — build on Robyn, ship it, and sell your product built with it, no restrictions. The license covers only these client libraries. Robyn's relayer, smart contracts, and network are proprietary and are not licensed here; don't use these packages (or the Robyn API) to run a competing gasless-relay service or to replicate Robyn. See NOTICE.
_Build with Robyn: yes. Clone Robyn to cut it out: no._
packages/agent-kit/ @robyn/agent-kit — the SDK
packages/mcp/ @robyn/mcp — the MCP server packages/adapters/ @robyn/adapters — framework adapters docs/ integration guide, fee & security overview
MIT for the client packages in this repo. See NOTICE for scope.