Guide

How to accept Cardano (ADA) payments for your business

Cardano has a large, loyal community and cheap transactions, but very few checkout tools support it. Here's how to accept ADA directly into your own wallet with automatic order matching — no custodian, no KYC, no node to run.

What you need

Cardano wallets rotate change addresses, but a receiving address you publish stays valid forever and all funds show up in the same wallet. Pick one receive address and paste it once.

How invoices are told apart on Cardano

Cardano has no destination tags, so CryptoInvoice uses unique amounts: each invoice gets a few random digits in the last decimals, for example 43.105347 ADA instead of 43.105. The payer sends exactly that amount (every wallet supports 6 decimals) and the payment is matched to the invoice instantly. If a payer rounds the amount, the oldest open invoice for your address with ≥ 99% of its value is matched instead, and you can always reconcile by transaction hash.

Outputs that you send to yourself (wallet consolidation, change) are ignored, so they never get mistaken for customer payments.

Step by step

  1. Create a workspace in the dashboard with your addr1… address. Save the secret key.
  2. Create an invoice in USD/EUR/GBP or ADA, or share your pay page /pay/yourname for open amounts.
  3. The customer scans the QR (address) and types the exact amount, or uses the wallet deep-link (web+cardano:) which pre-fills it in wallets that support CIP-13.
  4. Detection within a block or two. Status goes to paid when the transaction is in a block and confirmed after 6 blocks (~2 minutes). Webhooks fire for both.

Minimum amounts

Cardano requires roughly 1 ADA in any output (the “min-UTxO” rule), so CryptoInvoice sets the minimum invoice at 1.5 ADA. For very small items, consider batching or using USDC on Ethereum.

Integration example

const res = await fetch("https://cryptoinvoice.dev/api/invoices", {
  method: "POST",
  headers: { Authorization: "Bearer sk_live_…", "Content-Type": "application/json" },
  body: JSON.stringify({ amount: "15", currency: "USD", asset: "ADA", memo: "Premium month", metadata: { user_id: 42 }, redirect_url: "https://app.example/welcome" }),
});
const { invoice } = await res.json();
// send the user to invoice.url, listen for the webhook to unlock the feature

FAQ

Do you support native tokens or stablecoins on Cardano?

Not yet — ADA only. For dollar-denominated payments, USDC and USDT on Ethereum are supported.

Which explorer do you use?

Detection uses Koios (a community-run open API); links on the checkout page point to Cardanoscan.

Can I use a stake-key (stake1…) or a Byron address?

No — use a Shelley payment address that starts with addr1.

Start accepting payments today

Create a workspace, paste your address, and send your first payment link. Free for 50 invoices a month, no sign-up form.

Open the dashboard API docs

More guides: XRP · Cardano · Ethereum · USDC & USDT