Rvess Pay[Beta] Open app

Developer documentation

Bring the ADA off-ramp into your dApp.

Use the hosted widget for the fastest integration, or call the Rvess Pay API when you need to own the interface.

01 · Hosted integration

Add to your dApp with an iframe

The hosted flow handles live rates, injected CIP-30 wallets, Cardano mobile wallets through CIP-45 QR or CIP-158 deep links, recipient details, deposit instructions, and payout status. Place it in a 520px-wide container.

<iframe
  src="https://pay.rvess.com/embed"
  title="Buy and sell ADA with Rvess Pay"
  width="520"
  height="720"
  allow="clipboard-write"
  style="border:0;max-width:100%"
></iframe>
Preview embed
02 · API integration

Build your own interface

All endpoints return JSON. Transaction creation recalculates pricing server-side and validates payout limits before issuing a Cardano deposit address.

GET/api/rates

Returns the current ADA/USD price and supported local-currency conversion rates.

POST/api/transactions

Creates a 15-minute quote and returns the deposit address, public reference, and expiry time.

const response = await fetch("https://pay.rvess.com/api/transactions", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    adaAmount: 500,
    country: "KE",
    provider: "MPESA",
    recipientPhone: "+254712345678",
    walletProvider: "Lace",
    senderWalletAddresses: ["addr1..."]
  })
});
GET/api/transactions/:id

Poll this endpoint for Cardano deposit confirmation and mobile-money payout progress.

AWAITING_DEPOSITDEPOSIT_CONFIRMEDPAYOUT_COMPLETE