Cripay Docs

Start here

What Cripay does, how a payment flows from your customer to your wallet, and the three ways to integrate (no code, a button, or the API).

In one paragraph

Cripay lets your business get paid in crypto the way Stripe lets it get paid by card. You tell Cripay "charge 25 USD". Cripay gives you a payment page where the customer pays with USDT, USDC, BTC, ETH or SOL from any wallet or exchange (Binance, Coinbase, MetaMask, Phantom, Trust…). When the money is on the blockchain and final, Cripay tells your system. The money lands in your own wallet. There is no KYC and no monthly fee; the platform keeps a small percentage of each confirmed payment.

You never touch a blockchain yourself. You work with three things: a payment (what you want to charge), a checkout URL (where the customer pays) and a webhook (how you find out it was paid).

Pick your path

If you…Start withTime
Don't want to write codePayment links and QR from the app2 minutes
Have a site and want a "Pay with crypto" buttonEmbedded checkout (embed.js or React)10 minutes
Use Claude Code, Cursor, Codex or OpenCodeIntegrate with your AI agent: the agent does it for you through MCP15 minutes
Have your own backendQuickstart (REST API + webhooks), then the TypeScript SDKan afternoon

The Developers page of the app shows these paths with your real URLs and key already filled into every snippet.

How a payment flows

  1. You create a payment, priced in USD. From the app (a QR or a link), or from your code with one API call.
  2. Cripay answers with a checkout_url. Send the customer there, or open it inside your site.
  3. The customer pays. They pick a coin and a network, then either scan a QR / copy the exact amount and address from their exchange, or connect their wallet and sign one transaction. The price in crypto is locked while they pay.
  4. Cripay watches the network. The payment becomes processing when the transaction is seen and confirmed when it is final (seconds on Solana, Tron and L2s; a few minutes on Ethereum; about ten on Bitcoin).
  5. Cripay tells you. A signed webhook reaches your server with the full payment; the customer sees a receipt.
  6. The money settles to the payout wallet you configured. If you prefer, it accrues in a Cripay balance that you withdraw whenever you want.

If the customer sends too little, the checkout shows the missing amount and the same address, and the payment completes when the rest arrives. If they send too much, you receive it all. If nothing arrives before the price expires, the payment is expired and no money moved.

Three ways to integrate

You want to…UseCode needed
Charge in person, invoice a client, take tips, sell a few thingsPayment links and QR codes from the appNone
Add a "Pay with crypto" button to an existing siteembed.js or the React componentFive lines of HTML
Run a store, a SaaS, a platform or an API with its own backendThe REST API, the TypeScript SDK and webhooksAn afternoon

All three end in the same place: the payment shows up in your activity, the webhook fires, the money reaches your wallet.

What you need before you start

  • An account. Email or wallet, one minute, no documents.
  • A payout wallet per network family (an EVM address for Ethereum/Base/BNB/Polygon/Arbitrum, a Solana address, a Tron address). This is where your money goes. Set it under Profile → Payout wallets.
  • For code: a test key (cpr_test_…) to build with, a live key (cpr_live_…) when you go live. Test keys never move real money and come with a simulator, so you can finish the whole integration without owning any crypto.

Six words you will meet

WordMeaning
PaymentOne request to get paid: an amount in USD, a status, and, once paid, the transaction on chain.
CheckoutThe page where the customer pays. Hosted by Cripay, in your brand, in the customer's language.
Payment linkA reusable URL that creates a payment each time someone opens it. No code.
WebhookAn HTTP request Cripay sends to your server when something happens (payment.confirmed is the one that matters). Signed, retried, replayable.
Test mode / live modeTwo separate worlds. Test keys and test payments use test networks and fake money; live keys use real networks and real money. Nothing crosses over.
SettlementWhere the money ends up: straight to your wallet (default) or in your Cripay balance.

Where to go next

  • Quickstart: a confirmed test payment in ten minutes, with and without code.
  • How it works: statuses, fees, settlement, partial payments and webhooks explained in plain words.
  • Guides: one thing at a time, with the exact fields.
  • API reference: every endpoint, generated from the OpenAPI document, with a playground.

Chains and assets

FamilyNetworksAssetsPay by connecting a walletPay by transfer (QR / address)
EVMEthereum, Base, Arbitrum, Optimism, Polygon, BNB Chain (testnets in test mode)USDC, USDT, native coinYes, one transactionYes, unique address per payment
Solanamainnet, devnetUSDC, USDT, SOLYesYes
Tronmainnet, NileUSDT (TRC-20), TRX—Yes
Bitcoinmainnet, signetBTC—Yes, to an address derived from your own xpub

GET /v1/currencies returns what your server actually offers, with minimum amounts, network fees and confirmation depths.

On this page