Rozo Checkout
Pay OpenRouter top-ups with USDC/USDT on 6 chains or BTC Lightning. Never holds funds.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"checkout": {
"url": "https://mcp.rozo.ai/mcp?src=registry"
}
}
}Remote endpoints
https://mcp.rozo.ai/mcp?src=registrystreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢supported_coins
List the coins and chains you can pay an OpenRouter (Coinbase) invoice with through Rozo. Static list, no network call.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢quote_invoice(url)
Look up a Coinbase payment link (e.g. an OpenRouter top-up) and return the merchant, invoice amount, what the payer pays, the link expiry and whether it is still payable. Creates nothing and moves no funds.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 512,
"description": "Coinbase link: https://payments.coinbase.com/payment-links/pl_... or https://payments.coinbase.com/payment-sessions/paymentSession_..."
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_deposit_order(url, chainId, tokenSymbol, email)
Creates a one-time deposit order; you pay from your own wallet. Returns the deposit address (or Lightning invoice), the exact amount to send, any required memo, the expiry and the rozoPaymentId. This server holds no keys and sends nothing. Send exactly the amount, on exactly that chain and token, before expiresAt. An unfunded order simply expires at no cost.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 512,
"description": "Coinbase link: https://payments.coinbase.com/payment-links/pl_... or https://payments.coinbase.com/payment-sessions/paymentSession_..."
},
"chainId": {
"type": "string",
"enum": [
"1",
"56",
"137",
"900",
"1500",
"8453",
"lightning"
],
"description": "Source chain id from supported_coins, e.g. \"900\" (Solana), \"8453\" (Base), \"lightning\"."
},
"tokenSymbol": {
"type": "string",
"minLength": 2,
"maxLength": 8,
"description": "Token you will pay with, e.g. USDC, USDT, BTC."
},
"email": {
"description": "Optional contact email so ROZO can reach the payer if the payment needs attention. Ask the user once if they are present; never required, omit it if they decline.",
"type": "string",
"maxLength": 320
}
},
"required": [
"url",
"chainId",
"tokenSymbol"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢payment_status(rozoPaymentId)
Check a Rozo order by rozoPaymentId: whether the deposit arrived, bridging/payout progress, and whether the Coinbase invoice settled. Read-only.
Input Schema
{
"type": "object",
"properties": {
"rozoPaymentId": {
"type": "string",
"maxLength": 64,
"description": "Order UUID returned by create_deposit_order."
}
},
"required": [
"rozoPaymentId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence