A checkout layer for invoices that get paid in stablecoins and bank transfers
Checkout Gateway sits between your billing system and your wallets and bank accounts. It gives every invoice a secure payment page, checks what the payer submits, and reports everything back to you.
For finance teams
Create invoices with line items and due dates, or reusable payment links. See who paid, how they paid, and their proof, all in one place. Record payments that arrived another way.
For developers
A signed REST API for payment methods, invoices, payment links and checkout sessions, with idempotency keys and signed webhooks. Build against test mode, then switch keys.
For your customers
A clean, mobile-friendly page with the exact amount, a wallet QR code or bank details, and live status updates. No account and no app needed.
The payment lifecycle
Every checkout follows the same clear states, and your webhook endpoint hears about each change.
- STEP 1
Open
Link shared, waiting for the customer.
- STEP 2
Claimed
Customer submitted a tx hash or transfer details.
- STEP 3
Verified on-chain
The transfer was found on a finalized block (crypto).
- STEP 4
Paid
Money confirmed. The invoice is closed.
- STEP 5
Expired / Cancelled
Nothing arrived in time, or the merchant cancelled.
Supported payment methods
| Method | Assets / currencies | Paid into | Test mode |
|---|---|---|---|
| Ethereum (ERC-20) | USDT, USDC | Your Fireblocks / DFNS wallet | Sepolia testnet (USDC) |
| TRON (TRC-20) | USDT | Your Fireblocks / DFNS wallet | Nile testnet (USDT) |
| Bank transfer | USD, EUR, GBP and more | Your Noah, Mesta, OpenPayd or Tazapay account | Simulated confirmations |
| Cards (Stripe) | Planned | — | — |
Frequently asked questions
Do you hold our money?
No. Customers pay straight into your own Fireblocks or DFNS wallets and your own bank accounts with Noah, Mesta, OpenPayd or Tazapay. We show the payment details, verify what we can, and tell your systems.
Do my customers need an account?
No. Each invoice or payment link is a private URL. The customer opens it, chooses how to pay and confirms. Bots are kept out by a captcha before payment details are shown.
We use the same wallet for every customer. How do you know who paid?
Each checkout asks for an exact amount. The customer then submits their transaction hash (crypto) or transfer details and receipt (bank). We check crypto transactions on a finalized block: token, recipient wallet, amount, and that the transaction is newer than the checkout. A hash can only be claimed once. Bank transfers are confirmed from your provider's credit, or by you marking them paid.
When is an invoice 'paid'?
Only when the money is confirmed: by your payments back office (from the custody or bank credit), by your team in the dashboard, or, if you turn it on, automatically once the on-chain transfer is verified. A customer saying 'I paid' never marks an invoice paid on its own.
What does test mode include?
Everything, on test networks: Sepolia (USDC) and TRON Nile (USDT) with real on-chain verification, and simulated bank payments. Test keys can only reach test data.
How do we go live?
Complete business verification. Then add your live wallets and accounts, which a second Admin must approve, create live API keys, and switch the dashboard to Live.
Card payments?
Stripe card payments are planned for a later phase.