A crypto payment gateway and API.
Invoices with a hosted checkout page, and programmable wallets with unlimited deposit addresses, automatic sends and free internal transfers.
Bitcoin, Litecoin, Base, Ethereum, Polygon, BNB Chain and Solana. USDC, USDT and DAI. Behind one integration.
Behind one integration.
A wallet is created with a single unauthenticated POST, with nothing to sign up for. The keypair is the identity, and when you create one from this site the recovery phrase is generated in your browser and never sent to any server, including ours.
- Deposit fee
- 0.5%
- Minimum invoice and send
- $1.00
- Chains
- 7
- Settlement
- raw or USDC
Create a wallet
The response is the only time we show you the private key and the recovery phrase. We keep a SHA-256 hash of the private key, and the webhook secret we have to sign with. The key itself and the recovery phrase are never stored, so nobody here can recover them for you.
curl -X POST https://buxapi.com/v1/wallets \
-H 'content-type: application/json' \
-d '{"settlement_mode":"raw","label":"acme-prod"}' Response
{
"public_key": "bux_pub_7Yd4Qk9v2mTb8sXaLpR3ZnHc6JwEuFgKmQ2Ts9VbXe1Z",
"private_key": "bux_sec_3Rn8pQx5wKdA2vYcTb7LmZ9HsEjUfG4NpW6TqBx2Ye8L",
"mnemonic": "canyon ridge olive panic sudden cliff moral tuna gospel wrist annual filter",
"webhook_secret": "whsec_9f1c4a...",
"settlement_mode": "raw",
"warning": "Store the private key and mnemonic now. They are shown only once and BuxAPI cannot recover them for you."
}Create an invoice
A USD-priced invoice locks a per-token quote at creation, so the payable amount is fixed for its lifetime. Send the payer to checkout_url and take the result from the webhook.
curl -X POST https://buxapi.com/v1/invoices \
-H "authorization: Bearer $BUX_SEC" \
-H 'content-type: application/json' \
-d '{
"amount": 2500,
"currency": "usd",
"accepted": ["base:usdc", "solana:usdc"],
"order_id": "order_10412",
"success_url": "https://acme.example/thanks"
}' Response, abridged
{
"id": "inv_4kR2QpN7vXsB1mLdZaYc9F",
"status": "pending",
"currency": "usd",
"amount": "2500",
"accepted": ["base:usdc", "solana:usdc"],
"quotes": { "base:usdc": "25000000", "solana:usdc": "25000000" },
"received": {},
"expires_at": "2026-08-05T14:52:11.000Z",
"checkout_url": "https://buxapi.com/pay/inv_4kR2QpN7vXsB1mLdZaYc9F"
}Chains and tokens
| Chain | Key | Deposits | Sends | Notes |
|---|---|---|---|---|
| Bitcoin | btc | BTC | BTC | Raw settlement, amounts in satoshis |
| Litecoin | ltc | LTC | LTC | Raw settlement, amounts in litoshis |
| Base | base | USDC, USDT, DAI, ETH | USDC, USDT, DAI, ETH | USDC/USDT 6 decimals, DAI/ETH 18 |
| Ethereum | eth | USDC, USDT, DAI, ETH | USDC, USDT, DAI, ETH | USDC/USDT 6 decimals, DAI/ETH 18 |
| Polygon | polygon | USDC, USDT, DAI | USDC, USDT, DAI | No native POL |
| BNB Chain | bsc | USDC, USDT, BNB | USDC, USDT, BNB | USDC and USDT are 18 decimals here |
| Solana | solana | USDC, USDT, SOL | USDC, USDT, SOL | SPL classic, SOL 9 decimals |
One EVM deposit address serves all four EVM chains. Solana, Bitcoin and Litecoin addresses are derived separately from the same wallet.
Pricing
0.5% of every confirmed deposit, taken in the asset the deposit is credited in: the token itself in raw mode, USD in convert mode. Sends are charged their estimated network cost, with a margin for gas moving between queueing and broadcast, and no service fee on top. Internal transfers between BuxAPI wallets are instant and free. No monthly fee, no volume commitment.
Custom integrations
Need this built directly into your product rather than integrated by your team? We do direct integration work: balances, checkout, payouts and reconciliation wired into your stack. Tell us what you are building.