
Rozo Checkout
io.github.RozoAIv0.1.0Updated Oct 4, 2026
Pay OpenRouter top-ups with USDC/USDT on 6 chains or BTC Lightning. Never holds funds.
Overview
Lets an assistant quote and set up a one-time crypto payment for an OpenRouter top-up link, without holding funds.
- What it does
- A remote MCP server that helps an agent pay a Coinbase payment link for an OpenRouter top-up using coins the user already holds. Tools list supported chains and tokens, read a quote for a link (merchant, amount, payer cost, expiry, payability), create a one-time deposit order returning a deposit address or BOLT11 Lightning invoice with exact amount, memo and expiry, and read payment status including bridging and settlement. It holds no private keys, signs nothing and sends nothing; the user pays from their own wallet.
- When to use it
- Use it when a user wants an assistant to walk through paying an OpenRouter top-up with USDC, USDT or BTC over Lightning, and to check whether the link is still payable and whether the payment settled. Not needed for ordinary OpenRouter API usage.
- Requirements
- A remote streamable HTTP endpoint; no local runtime, packages, accounts, API keys or headers are declared. The client connects to the hosted MCP URL, optionally with a src query parameter for channel attribution.
Installation
In SourceWeft
- Open Rozo Checkout in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Other MCP clients
Add this to your client's mcpServers config.
{
"mcpServers": {
"checkout": {
"type": "http",
"url": "https://mcp.rozo.ai/mcp?src=registry"
}
}
}README
rozo-checkout-mcp
A small remote MCP server that lets an AI agent help a user pay an
OpenRouter top-up (a Coinbase payment link, payments.coinbase.com/payment-links/pl_* or
payment-sessions/paymentSession_*) with the coin they already hold:
- USDC or USDT on Solana, BNB Chain, Ethereum, Polygon
- USDC on Base or Stellar
- BTC over Lightning
It runs as a Cloudflare Worker and speaks MCP streamable HTTP at /mcp.
It never custodies funds
This server holds no private keys, signs nothing and sends nothing. It only:
- reads a quote for the Coinbase link,
- asks Rozo (through MPP Router) for a one-time deposit order, and
- reads order status.
The user pays from their own wallet. An order that is never funded expires and costs nothing. There are no secrets, no auth and no stored state; each request is handled statelessly.
Tools
create_deposit_order applies the same guards as the CLI before it returns a deposit address:
link payability (not used, not expired, v3 session still CREATED), an existing order must be
payment_unpaid with no pay-in and the same coin, the address must not be on the
compromised-address list, and at least 10 minutes must remain on both the order and the link.
Upstream endpoints (identical request shapes to the CLI, all keyless):
POST https://apiserver.mpprouter.dev/v1/services/rozo-agent-api/quote-invoicePOST https://apiserver.mpprouter.dev/v1/services/rozo-agent-api/create-invoiceGET https://apiserver.mpprouter.dev/v1/services/rozo-agent-api/invoice-status?rozo_payment_id=...GET https://intentapiv4.rozo.ai/functions/v1/payment-api/payments/<uuid>(read-only)
Channel attribution: ?src=
Every create-invoice call carries
<src> comes from the src query parameter of the MCP URL the client connected to. It is
lowercased, limited to [a-z0-9._-] and 100 characters, and defaults to mcp. Give each channel
its own URL so orders can be split by channel:
Connect
Claude Desktop / Claude.ai
Settings, Connectors, Add custom connector, URL https://mcp.rozo.ai/mcp?src=claude.
For a local claude_desktop_config.json through the mcp-remote bridge:
Claude Code
Cursor
~/.cursor/mcp.json:
MCP Inspector
Develop
Raw handshake with curl:
Deploy
Deployment and the mcp.rozo.ai custom domain need owner approval and are not automated here.
wrangler.toml pins the Cloudflare account that owns the rozo.ai zone and keeps the custom
domain route commented out until then.
MCP registry
server.json describes this server for the official MCP registry as io.github.RozoAI/checkout, with the
remote https://mcp.rozo.ai/mcp?src=registry. Publishing under the ai.rozo namespace requires
proving control of rozo.ai (DNS or HTTP verification with mcp-publisher).
Source: README.md at commit b785b06
Tools
0Version history
1- v0.1.0LatestOct 4, 2026

