Base URL:
https://api.rach.finance/api/v1/ · Auth: X-API-Key (a test_sk_ or
live_sk_ key — see Environments)Two ways to take a payment
Hosted checkout
Create a session without a network. Send the customer to
payment_url; they
choose the coin and network on Rach’s page and pay. Least code.Your own pay page
Create the session with a
network and coin, and get a deposit address back
immediately. Show it in your UI; Rach does the rest.Create a checkout
POST /checkout/create
Hosted checkout: the price currency (e.g.
USD). With a network: the coin, USDT or USDC.Optional. A network code from Supported networks —
ETH, BSC, POL,
BASE, ARB, AVAX, CELO, TRX or SOL. Omit it and the customer chooses.Where Rach POSTs the webhook when the payment confirms.
Build your own pay page
These public endpoints take the session id and need no key, so your frontend can call them directly:How a payment is confirmed
1
Detected
Rach watches every open session’s address on-chain and records the incoming
transfer — only from the genuine USDT/USDC contract for that network.
2
Confirmed
Once the transaction has the network’s confirmation depth (see the
table), Rach re-reads the transaction itself to check what
it really delivered, then marks the session
paid.3
Credited and notified
The amount, less fees, is credited to your balance and Rach sends
payment.confirmed to your callback_url (webhooks).paid: about a minute on Base,
Arbitrum, Avalanche, Celo, BNB Chain, TRON and Solana; a few minutes on
Ethereum (12 blocks) and Polygon (128 blocks).
Edge cases, handled for you
- Late payments. A session
expiredby its timer is still watched for 24 hours. A payment that arrives in that window confirms the session. - Partial payments. The session stays
pendinguntil transfers to its address add up to the amount. - Old funds. A transfer that landed on the address before the session existed is never counted towards it.
- Wrong coin. USDC sent to a USDT session (or the reverse) is not counted.
Check a payment
Rely on the webhook, or poll:Response
status is pending, paid or expired.
Other endpoints
Collected funds are withdrawn from the dashboard — see
Settlement & withdrawals. The full schema is in the
Payments API Reference under Checkout (Crypto Gateway).

