ROZO Intents Pay & Bridge

Workflows

Cross-chain crypto payments and bridging via Rozo. Send USDC/USDT across Ethereum, Base, BNB Chain, Solana, and Stellar. Use when user says "pay", "send", "transfer", "payout", "check balance", "payment status", or shares a QR code screenshot. Also triggers on wallet addresses (0x, base58, G/C stellar), transaction hashes. Auto-detects wallet type, auto-selects token (USDC preferred), checks balances, gets fees, and confirms before sending. Do NOT use for general blockchain questions or non-payment tasks.

Install

openclaw skills install rozo-intents-skills

Rozo Cross-Chain Payments / Bridging

Send cross-chain crypto payments and bridging via Rozo. Send USDC/USDT across Ethereum, Base, BNB Chain, Solana, and Stellar.

Routing

Determine the user's intent and load the matching sub-skill:

IntentSub-skillTriggers
Send a paymentskills/send-payment/SKILL.md"pay", "send", "transfer", "payout", shares a QR code, provides an amount + address
Check wallet balanceskills/check-balance/SKILL.md"check balance", "how much do I have", "show my balance", "wallet balance"
Parse a QR codeskills/parse-qr/SKILL.md"scan QR", "parse QR", "read this QR", shares a QR image without mentioning payment
Check payment statusskills/payment-status/SKILL.md"check payment", "payment status", "where is my payment", "track payment", provides a payment UUID or tx hash

Rules:

  1. If the user mentions sending/paying → route to send-payment (it handles QR parsing internally)
  2. If the user shares a QR code WITHOUT mentioning payment → route to parse-qr first, then offer to send
  3. If the user asks about balance before sending → route to check-balance, then continue to send-payment if they want to pay
  4. If ambiguous, ask the user what they'd like to do

Supported Chains

Pay-Out (sending to)

ChainUSDCUSDT
EthereumYesYes
ArbitrumYesYes
BaseYesYes
BSCYesYes
PolygonYesYes
SolanaYesNo
StellarYesNo

Pay-In (paying from)

ChainUSDCUSDT
EthereumYesYes
ArbitrumYesYes
BaseYesNo
BSCYesYes
PolygonYesYes
SolanaYesYes
StellarYesNo

Runtime

Requires Node.js (ES modules). All scripts in scripts/dist/ are run with node.

Authentication & Rate Limiting

The Rozo APIs are public and rate-limited — no API keys or authentication tokens are required.

EndpointHostAuthNotes
Payment API (create, get, check)intentapiv4.rozo.aiNone (rate-limited)Main Rozo payment API
Balance API (check balance)api-balance.rozo-deeplink.workers.devNone (rate-limited)Rozo balance service (Cloudflare Workers)

Both hosts are operated by Rozo. The balance endpoint uses a separate Cloudflare Workers deployment for performance.

Quick Reference

  • Amount limits: $0.01 minimum, $10,000 maximum per transaction
  • Token selection: Auto — fetch balance, prefer USDC, fall back to USDT
  • Payment type: exactOut by default — recipient gets exact amount, fee added on top

Scripts

Shared Node.js scripts in scripts/dist/ (run with plain node):

ScriptPurpose
check-balance.jsFetch wallet balances via Rozo balance API
check-stellar-trustline.jsVerify asset trustline (USDC/EURC) on Stellar G-wallets
create-payment.jsCreate a payment (or dryrun for fee estimate) via Rozo API
get-payment.jsGet payment status by ID, tx hash, or address+memo
parse-qr.jsParse payment QR code URIs (EIP-681, Solana Pay, Stellar URI)
chains.jsShared chain/token config (imported by other scripts)

Shared Resources

  • references/supported-chains.md — chain IDs, token addresses, decimals
  • references/api-reference.md — Rozo API endpoints and schemas
  • references/wallet-detection.md — address format detection rules