One passkey gives an agent Bitcoin, Lightning, stablecoins, a Visa card and a SEPA IBAN — as twelve MCP tools it can actually drive. Nothing is custodied. No key ever reaches this server.
See every area, what depends on what, and what is still missing →
Most money MCPs make you register an OAuth client before an agent can even list the tools. There is nothing to authenticate here, because this server holds nothing worth stealing.
No database, no session store. Identity lives in an opaque token the agent carries. Restart the server mid-flow and nothing is lost.
Keys are derived in the browser from a WebAuthn PRF extension, used, and zeroized. The private key never exists on any server — including this one.
Every transfer needs a fresh passkey tap by the human. An agent proposes; only a fingerprint approves. Reads need a signed session too, so knowing an address reveals nothing.
The full Nuri stack — the same rails the app runs on, reachable by an agent.
On-chain and Lightning. Arkade-bound keys, real BOLT11 invoices.
you@nuri.com works from any wallet. No invoice, no expiry, no setup.
EURC and USDC on Base, USDC on Solana and Ethereum. Gas sponsored.
Virtual instantly, physical on request. Spends the wallet directly — never custodied.
A real SEPA IBAN. Euros arrive as stablecoin in the wallet.
13 providers ranked per quote. Multi-hop when nothing routes directly.
Mercuryo or Paybis, straight into self-custody.
Tanzanian shilling to any +255 number, settled over Lightning.
you.nuri.eth resolves the moment the passkey exists.
A 2-of-2 Safe: the passkey plus the Nuri co-signer.
Every tool returns the same thing, so there is nothing for an agent to memorise and nothing to get wrong.
Plain arguments. No session ids, no hex credentials to thread between calls.
Hand it to the human unchanged. They tap their passkey. That is the only step they ever take.
The one polling tool. Blocks server-side and returns the finished result — never ask the human to confirm they signed.
Carry that token into every later call. That is the whole state model.
Twelve, generated from the live server — this list cannot drift from what the MCP actually serves.
nuri_signup[Identity] Create a brand-new Nuri account: one passkey, a username, and with it <username>@nuri.com as a Lightning address plus <username>.nuri.eth as an ENS name — both live the moment the passkey exists, no extra registration.
nuri_login[Identity] Log an existing user in with one passkey tap. Takes NO arguments — the passkey itself reveals which account it is, so never ask for an email, username or address.
nuri_wait[Identity] The ONE tool for "has the user tapped yet?". Every Nuri tool that needs a passkey gives you a ticket — pass it here.
nuri_me[Identity] The whole account on one screen: username, Lightning address, ENS name, wallet addresses, balances, IBAN, cards, ID-check status — plus next_steps, an explicit list of what is missing and which tool fixes it.
nuri_receive[Receive] Every way to get paid, in one answer: the Lightning address that works with zero setup, a fresh Lightning invoice if you pass an amount, the EVM/Solana address, and the EUR IBAN.
nuri_send[Send] Send money to anything. Paste whatever the user has and this picks the rail itself: a Lightning invoice or address (you@nuri.com), a Bitcoin address, an IBAN (SEPA), a 0x address or ENS name, a Solana address, or a Tanzanian mobile number (delivers real TZS mobile money).
nuri_topup[Money in] Put money in with Apple Pay or a card. Buys a stablecoin through Mercuryo or Paybis and delivers it to the user own wallet, optionally swapping onward.
nuri_swap[Money in] Swap between Bitcoin, Lightning, Ethereum, Base, Solana and stablecoins. Call with confirm:false for a ranked quote, then confirm:true to create it.
nuri_card[Cards & banking] The Visa card: see it, create a virtual one, reveal the numbers, freeze/unfreeze, set a daily limit, order a physical card, or approve a purchase a shop is holding at checkout (3DS).
nuri_iban[Cards & banking] Get a bank account. kind:personal = the EUR IBAN that comes with the Nuri account (Wirex).
nuri_history[Advanced] Merged, newest-first activity: card purchases, IBAN transfers, swaps and Bitcoin received.
nuri_multisig[Advanced] A 2-of-2 multisig Safe for the user: their passkey plus the Nuri co-signer, so nothing moves on one signature alone and a lost device is recoverable.
No signup. This returns a live quote ranked across thirteen providers.
# no auth header. there is nothing to send. curl https://agent.nuri.com/mcp \ -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call", "params":{"name":"nuri_swap", "arguments":{"from":"BTC","to":"USDC_BASE","amount":0.01}}}'
Pick a username. Both of these resolve immediately — no registrar call, no transaction, no waiting.
A Lightning address any wallet on earth can pay. No invoice, no amount, never expires.
An ENS name resolving to the same passkey-derived account, on every EVM chain.