Most agentic payment infrastructure today is single-currency. The world isn't. Sera gives any agent — or any app — the ability to quote, convert, and settle across 40+ stablecoins and 20+ fiat currencies — USD, SGD, MYR, JPY, EUR, GBP, BRL, MXN, IDR, and more.
Build a cross-border payment app, an FX trading dashboard, a prediction market on FX, a treasury rebalancer, an x402-paid API, an AI agent — anything that needs a real FX layer underneath.
An agent paying a Singapore vendor in a single dollar-denominated stablecoin pushes FX risk onto the recipient every cycle. An agent settling payroll in Manila that way means someone, somewhere, is converting and absorbing the spread.
The agentic payment stack today assumes one global currency. Real settlement doesn't work that way. Sera is the multi-currency settlement infrastructure underneath agents and apps — quote, convert, and settle in whatever currency the counterparty actually uses.
Already have an agent stack? Install the MCP. Building one from scratch? Start from a template. Want it ready out of the box? Run the bundled agent. Or skip MCP entirely and call the protocol-level x402 endpoint.
Adds the Sera MCP to Claude, ChatGPT, Cursor, OpenAI Agents SDK, OpenClaw, Hermes, NanoClaw, or any host that speaks MCP. Same install also ships a sera CLI for cron jobs, CI scripts, and ops debugging — no agent required.
Copy a starter — terminal chat, browser chat UI, or webhook responder — wired to the MCP. TypeScript, OpenAI Agents SDK by default.
The Sera Agent: a complete interactive multi-currency settlement assistant. MCP and LLM pre-wired. One npm install, one command.
x402 endpoint. Pay USDC, deliver any of 40+ stablecoins. Standard 402 → pay → 200 flow. Drops Sera into any agent that already speaks x402.
Sera is FX + settlement infrastructure. An AI agent is one obvious thing to build on top — but not the only one. Each card below is a real product surface with a working tutorial, reference repo, or open issue you can claim.
Drop-in React component. User picks recipient + amount in their currency, widget quotes + executes the cheapest source asset. Replaces a $80+ SWIFT wire with a $2 on-chain swap.
Live FX dashboard reading Sera's reference rates + multi-source mid + executable depth. Spot deviations in basis points across 60+ stablecoin FX pairs. Read-only — no wallet required.
Binary markets like "USD/JPY > 158 by Friday" using Sera's reference rate as the settlement oracle. Markets settle in stablecoins; payouts route through Sera FX so winners get paid in any currency.
Cron job that reads multi-currency wallet balances, computes drift from target weights, and emits Sera swap intents. Runs daily, signs nothing — just generates execution-ready quotes.
Charge AI agents per call in USDC over plain HTTP. Sera's x402-service is the reference; you can wrap any API the same way. Standard 402 → pay → 200 flow. No paywall pages, no Stripe.
The classic — an MCP-powered agent with the full 32-tool surface. Use the bundled Sera Agent or wire the MCP into Claude Code, Cursor, Hermes, OpenClaw, or your own host.
Pay employees in their local stablecoin from a single USD treasury. Cron runs every payday — sources cheapest path per recipient, signs from a Safe, settles in their preferred fiat-pegged stable.
Recurring payments via x402 + EIP-3009 pre-authorizations. Customer signs once, server charges monthly + auto-converts to your preferred treasury currency through Sera. No Stripe.
Internal trading-desk dashboard. Trader requests a quote for a notional, sees Sera mid + executable rate + maker spread ladder, hits "execute" to fire the signed Intent. One-screen workflow.
Bot in a Telegram chat. /quote USD MYR 5000 returns rate + cost. /send 0xVendor generates a signing link. Group treasuries, friends-and-family payments, communities.
Cron + spread_radar across a fiat basket. Pings Slack/Telegram any time triangular drift exceeds your threshold. Recipe in the docs is 8 lines; productionizing adds dedup + per-pair cooldown.
Automated maker on a chosen pair. Quotes both sides at a target spread, manages inventory drift, hedges on a CEX when exposure passes a limit. Uses round_trip_cost as the floor and fx_volatility for sizing.
MCP is an open protocol. Anyone who builds with it gets Sera by adding three lines to their config. Three integrations have their own write-up below; the rest follow the standard MCP stdio pattern.
Six concrete agent behaviors that need more than one currency. Each maps to one or two MCP tool calls. Cost callouts compare typical TradFi rails to Sera execution at the same notional.
Agent identifies the cheapest source asset, generates a quote, signs the Intent, recipient receives exact MYR. Single tool call: sera.pay_invoice.
Agent values balances across wallets in any reporting currency, computes drift, emits suggested swaps. sera.rebalance_plan.
Agent probes corridors in parallel, diffs against multi-source external mid, ranks executable deals. sera.find_deals.
Returns the full spread ladder for a pair — quote price, delta, earnings — across institutional bps levels. sera.maker_quote_ladder.
Polls quotes within a budget and surfaces the executable swap when threshold crosses. sera.limit_watcher.
Round-trip product across any three currencies should equal 1.0. Deviation surfaces inconsistencies or arbitrage. sera.spread_radar.
git clone https://github.com/Josh-sera/sera-mcp
cd sera-mcp && npm install && npm run build
claude mcp add sera --scope user \
--env SERA_NETWORK=mainnet \
--env POLICY_PRESET=standard \
-- node $(pwd)/dist/index.js
Call sera.doctor
# Returns overall_ok: true with green checks for sera_health,
# network_sanity, tokens_registry, signer_mode, policy.
# From the sera-mcp directory:
node dist/cli.js doctor
node dist/cli.js fx USD SGD
node dist/cli.js deals --min-bps 25 --json | jq
# Or after npm link / npm install -g:
sera doctor
sera ladder USDT JPYC 30000
sera spread-radar USD,SGD,MYR,EUR,GBP,JPY
For other hosts (Cursor, ChatGPT, OpenClaw, Hermes, NanoClaw, etc.) see the integrations folder. Run sera --help for the full CLI reference.
# Pick chat-cli, web-chat, or webhook-agent
git clone https://github.com/Josh-sera/sera-agents
cp -r sera-agents/templates/web-chat ~/my-sera-agent
cd ~/my-sera-agent && npm install
export OPENAI_API_KEY=sk-...
npm start
# Then customize SYSTEM_PROMPT in agent.ts / server.ts
# Add your own MCPs alongside sera in the mcpServers array
git clone https://github.com/Josh-sera/sera-agents
cd sera-agents/sera-agent && npm install
export OPENAI_API_KEY=sk-...
npm start
# Interactive terminal chat. Try:
> What stablecoins do you support for SGD?
> How much USDC to deliver exactly 5,000 MYR?
> Run sera.doctor
cd sera-agents/x402-service
npm install
npm run demo # X402_MODE=demo, listens on :8402
# From another terminal:
curl -X POST localhost:8402/x402/swap \
-H 'Content-Type: application/json' \
-d '{"from_currency":"USD","to_currency":"MYR",
"amount":100,"recipient":"0xVendor"}'
# 402 with payment_required + payment_id
# Retry with X-PAYMENT: <id>:demo-auth header → 200
Each tool is callable from any MCP host, the bundled CLI, or programmatically. Full API reference → with method signatures, params, and response shapes.
/tokens (40+ stablecoins) and the active trading-pair catalog (780+ pairs). Pair existence ≠ tradeable now — use scan_markets to find what's actually quotable.
compare_to_external_fx diffs Sera against Frankfurter (ECB). multi_source_mid takes the median across three free providers. spread_radar flags pair asymmetry and triangular drift across a basket — runs without any liquidity.
find_deals is the headline: scans markets in parallel, diffs each against external mid, ranks the deals. probe_depth characterizes price impact at a size ladder. round_trip_cost reveals the maker hedge floor. infer_book reconstructs a synthetic order book that isn't published as a primitive.
simulate:true on get_quote to probe with no wallet. execute_swap enforces uuid binding + server-derived USD notional caps. limit_watcher polls until target rate hits — patient quote pattern.
pay_invoice — "I owe X in currency Y, what's the cheapest source asset?" Requires SERA_API_KEY.
/orders for trade history or a specific trade. Filter by trade_id, uuid, owner_address. Requires SERA_API_KEY.
SERA_HISTORY_DB to a SQLite path and the MCP logs every fx_rate + quote call it serves. Over time, your install becomes its own price feed — series, volatility, mark-to-market PnL queryable.
A thin HTTP wrapper that exposes the full Sera multi-currency settlement engine as a standard x402 endpoint. The calling agent doesn't need an MCP host, doesn't import a Sera SDK, doesn't sign EIP-712 Intents — it just speaks HTTP 402 → pay → 200. Underneath, every swap routes through Sera Protocol and settles on-chain.
SIGNER_PRIVATE_KEY + RPC_URL. Every swap routes through Sera.
# 1. Run the service
cd sera-agents/x402-service && npm install && npm run demo
# 2. Initial request — get 402 with payment_required
curl -i -X POST localhost:8402/x402/swap \
-H 'Content-Type: application/json' \
-d '{"from_currency":"USD","to_currency":"MYR",
"amount":100,"recipient":"0xVendor"}'
# 3. Retry with X-PAYMENT header
curl -X POST localhost:8402/x402/swap \
-H 'Content-Type: application/json' \
-H 'X-PAYMENT: <PAYMENT_ID>:demo-authorization' \
-d '{"from_currency":"USD","to_currency":"MYR",
"amount":100,"recipient":"0xVendor"}'
# Response: 200 with delivered + paid + trade_id
| Single-currency rails | Sera for Agents | |
|---|---|---|
| Stablecoins | Typically one | 40+ across 20+ fiats |
| FX between currencies | Not supported | Atomic, smart-routed |
| Recipient settles in | Issuer's currency only | Any supported currency |
| Agent host coverage | Hosted SDK | Open MCP, every host |
| Custody | Centralized issuer | Non-custodial, on-chain |
| Treasury awareness | None | Multi-wallet, exposure, rebalance |
| Lock-in | Vendor rails | Open protocol, open MCP |
32 tools. Every major agent host. The MCP is open source. Sera Protocol charges only on actual swap settlement, on-chain.