Cash for AI agentsBuilt on Robinhood ChainLive on mainnet
Your agent can't open a PayPal account.Now it doesn't need one.
Nara lets any AI agent pay a real person on PayPal, Zelle, Revolut or Venmo with its USDG. A human runner sends the dollars from their own account, and an escrow holds the USDG until they land.
SDK · MCP server · non-custodial escrow
- PayPal
- X Money
- Venmo
- Cash App
- Revolut
- Zelle
- Wise
- Apple Cash
- Google Pay
- Lydia
- Payoneer
- WeChat Pay
- Alipay
- Pix
- Mercado Pago
Nara is not a bank and is not affiliated with Robinhood or with any payment app named on this site.
Who it pays
Your landlord. Your designer. Your plumber. On the app they already use.
Your agent asks in plain words. A runner pays from their own account, and the person gets an ordinary payment from a person.
DemoFictional people and payments. The name they see is the runner's, as with any payment from a person.
The problem
An agent can hold money and sign a transaction. It can't pass KYC, own a phone number or open a PayPal account. So until now it couldn't pay your landlord, your designer or your plumber.
A wallet pays wallets.
Your landlord doesn't have one.
A card pays merchants.
Your plumber doesn't take one.
Nara pays people.
On PayPal, Zelle, Venmo and the apps they already use.
How it works
Five steps. One of them is a person.
Your agent never opens a payment app. A runner does, while the USDG waits in an escrow that can only pay that runner or refund your agent. No third path, not even for Nara.
$800 to @landlord on Zelle, start to finish
DemoStep 1
Your agent asks
Rail, amount, deadline, a fee cap. No recipient details yet.
- 02
Step 2
A runner takes it
Someone with that app accepts, at a fee inside your cap. First valid taker wins.
- 03
Step 3
USDG locks in escrow
Your SDK seals the recipient for that runner, then funds the contract.
- 04
Step 4
The runner pays on Zelle
From their own account, then they seal a proof for your agent.
- 05
Step 5
Settles after 24 h
No dispute in the window: the runner is paid. Or your agent releases early.
- Nobody pays by the deadline: full refund
expire() - The runner backs out: full refund
cancel() - Nothing arrived: dispute within 24 h
dispute()
- per job
- $1,000
- per agent, per day
- $5,000
- runner fee, capped by you
- ≤ 5%
- Nara fee
- 1%
The escrow contract is public and verified on Sourcify. Read the terms and the risks.
Privacy
The recipient sees dollars. Nobody sees whose agent paid.
Sealed end to end
The recipient's details are encrypted for the one runner who took the job.
Fresh keys, every job
A runner's jobs can't be linked on-chain, and Nara never asks for a name.
Honest about the rest
Amounts, timing and your agent's address are public, like on any chain.
One payout · $800 rent on ZelleDemo
- The recipient's detailsemail, phone, IBAN
- rent@example.com
- Who owns the agentyou
- You
- The agent's address0x…
- 0x51c0…a9e2
- The runner's identitytheir payment-app name
- partlyJamie R., on Zelle
- Amounts and timingdollars, USDG, when
- $800 · 820 USDG · 14:09
- The proof of paymentreference, screenshot
- ref 5TY07931AB
Your agent: Everything. It's your payment.
For developers
Six lines to pay a person. Or one sentence to Claude.
A TypeScript SDK and an MCP server. One call posts the job, seals the details for the runner who takes it and funds the escrow.
// npm i https://usenara.cash/pkg/nara-agent-0.1.1.tgz
import { createNaraAgent } from "nara-agent";
const agent = createNaraAgent({ privateKey: process.env.NARA_AGENT_PRIVATE_KEY! });
const job = await agent.payFiat({
rail: "zelle", to: "rent@example.com", amountUsd: 800, memo: "October rent",
});
console.log(job.state); // "paid": a runner sent the $800 on Zellejob.status()
Demo- 14:02:07openzelle · $800
- 14:02:41assignedrunner · 1.5%
- 14:02:44funded820 USDG locked
- 14:09:16paidproof sealed
- +24 hreleased812 → runner
MCP tools
- nara_pay_fiat
- nara_job_status
- nara_release
- nara_dispute
- nara_balance
- nara_rails
No API keys · Fees you cap · One state machine. You set maxFeeBps per job. Runner fees never exceed 5%, Nara takes 1%.
Read the quickstartTry the agent console demo
New job · $800.00 on Zelle
USDG already locked · pay within 41 min
Paid back after 24 h
812.00 USDG
to a fresh address · private balance
For runners
Get paid to pay people. From the apps you already use.
Take a job, send the money from your own account, get it back in USDG plus your fee. Your keys are your account.
Your apps, your rules
Pick the apps you can pay from, your limits and your fee. Take only the jobs you want.
No name, no email
Your keys come from a wallet signature. A fresh key for every job, so your jobs don't link on-chain.
Paid at fresh addresses
The amount plus your fee, in USDG, to a new address each time, straight into your private balance.
The USDG is locked first
You only send money once the agent's USDG sits in the escrow, with a clear deadline.
You front each payment and the escrow pays you back after 24 h; keep your proof in case of a dispute. The person you pay sees your payment-app name. Runners are independent and follow each app's terms.
Become a runnerFAQ
Questions, answered plainly.
Still curious?
A runner: an independent person with an account on that app. They take the job, send the payment from their own account, and get the amount back in USDG plus their fee once the window closes.
If the job isn't marked paid before its deadline, anyone can expire it and every USDG goes back to your agent. A runner can also cancel before paying, with the same full refund.
Your agent disputes within the 24 h window. The arbiter opens the sealed proof and decides on the evidence: the USDG goes to the runner or back to your agent. It can't go anywhere else.
Not from us. They get an ordinary payment from a person on the app they use. Your agent and you, its owner, stay out of it.
The runner's fee, capped by your agent and never above 5%, plus a 1% Nara fee and network gas. Both fees are fixed when the escrow is funded.
Illicit funds, fraud, scams, sanctions evasion, and payments to people who didn't agree to be paid. Runners must also follow their payment apps' terms and limits.
Your agent has the money. Now it can pay people.
Plug in the SDK or the MCP server, or pay people for agents and get paid in USDG.



