Move stablecoins across chains, gaslessly, in seconds.
Settlement infrastructure other agents can pay through. Send a payment yourself, no gas needed on either side.
Sign once, no gas required
Amount (USDC)
10.00 USDC
Recipient
0xf611...F8B9
Received
9.95 USDC
Deposit confirmed, releasing
Live status streams in with no polling. This screen updates itself the moment the destination chain confirms.
How Breeja moves your money
One signature, zero gas tokens. Here is the full path from your wallet to theirs.
Sign
The payer signs a free EIP-3009 permit off-chain, naming a recipient and amount. No transaction, no gas, no wallet popup surprises.
Relay
The relayer submits the permit on the source chain and pays the gas. Payer and recipient never hold a gas token on either side.
Release
A pre-funded pool on the destination chain releases to the named recipient within seconds, gas paid by the relayer.
A mesh, not a bridge
Five chains, every direction. Pay from any of them, land on any of them.
What's actually wired in
Only listed here once it works end to end, with a deploy or a round trip you can check. No aspirational logos.
Circle CCTP
Burn-and-mint offered as the trust-minimized route for the same payment, alongside the fast pool
Circle Arc
Arc Testnet runs the full mesh on native USDC, with a live verified round trip out to Base Sepolia
The Graph
Three subgraphs deployed to Subgraph Studio, merged at query time to power the payment history dashboard
ENS
Resolve payment recipients by name, and reverse-resolve them for display, in both the widget and the SDK
Hedera
Deployed with a live verified round trip. Hedera's USDC has no EIP-3009, so the payer approves and pays their own gas there
Breeja SDK and MCP
npm install @breeja/sdk, plus an MCP server so any agent can call the rail directly
One call, no gas, no permits to reason about
Install the SDK or point an MCP-speaking agent at the server. Either way, quoting, signing, and submission happen inside the call.
npm install @breeja/sdkimport { Breeja } from "@breeja/sdk";
const breeja = new Breeja({ apiKey: process.env.BREEJA_API_KEY });
const payment = await breeja.pay({
from: "base-sepolia",
to: "arbitrum-sepolia",
amount: "10.00",
recipient: "0xAbC0000000000000000000000000000000dEaD",
signer: account,
});
console.log(payment.id, payment.status);{
"mcpServers": {
"breeja": {
"command": "npx",
"args": ["-y", "@breeja/mcp"],
"env": {
"BREEJA_API_KEY": "your-api-key",
"BREEJA_SIGNER_KEY": "0xyour-signer-key"
}
}
}
}Custody, stated plainly
Fast pool, custodial
The relayer controls DestPool liquidity and decides when to release. On this route you trust the relayer's key and solvency, not a trustless message protocol, the same tradeoff early Across and Hop made. It's why the route is fast.
CCTP, trust-minimized
Circle's canonical burn-and-mint. Slower, gas-only cost, and no pool custody in the loop. Offered as the alternative for the same payment.
Mitigations in place
- CCTP offered as an alternative route for the same payment, with no pool custody in the loop.
- Release is replay-protected on-chain: DestPool records every source reference it has paid, so the same deposit can never be released twice.
- Payment state is durable and forward-only. A terminal payment is never rewritten, and a reconciler recovers anything left in flight by a restart.
Not present yet, stated rather than implied
- The relayer key is a hot server key. A hardware-backed signer and a Safe multisig owner are both planned and neither is deployed.
- Release is not decentralized. A bonded watcher network attesting to source deposits before release is the next real trust reduction.
Frequently asked questions
On the fast-pool route, yes, and we say this plainly: the relayer controls DestPool liquidity and decides when to release. You're trusting the relayer's key and solvency, not a trustless message protocol, the same tradeoff early Across and Hop made. CCTP is offered as a trust-minimized alternative for the same payment, at the cost of latency.
The payer signs a free, off-chain EIP-3009 permit naming a recipient and amount. No transaction, no gas. The relayer submits the deposit on the source chain and the release on the destination chain, paying gas on both sides, and recoups that cost via a small fee. Neither side ever needs to hold a gas token. One honest exception: Hedera's USDC does not implement EIP-3009, so paying from Hedera means approving on-chain and covering that gas yourself.
Yes. The @breeja/sdk package and the @breeja/mcp server both call the same relayer API the web app uses, no browser needed. Recipient is a separate parameter from payer, so agent-to-agent payments are a first-class case, not a workaround bolted onto a human-first flow.
Six chains. Base, Arbitrum, and Optimism Sepolia, plus Circle's Arc Testnet and Hedera Testnet, are all live as both source and destination. Ethereum Sepolia is source-only: it can send into the mesh but has no destination pool. Every one of them has a real deploy and a verified round trip on-chain. Testnet only, for now.