Developers
Global money movement in a few API calls.
Everything you can do in the console, you can do over a predictable REST API, with a sandbox that behaves like production.
Built for retries, reconciliation and audits.
- Idempotent by defaultSend the same Idempotency-Key and we return the original result. Network blips never double-pay.
- Firm quotesQuote first, then pay against the quote ID. The rate you show is the rate you get.
- Scoped keysSeparate sandbox and live keys, each limited to the scopes it needs.
- Real sandboxPre-funded balances, simulated rails and test counterparties that succeed, fail or return on demand.
import SurgePay from "@surgepay/node";
const surgepay = new SurgePay(process.env.SURGEPAY_SECRET_KEY);
const quote = await surgepay.quotes.create({ from: "USDC", to: "NGN", amount: "12400.00" });
const payout = await surgepay.payouts.create(
{ quote: quote.id, source: "wal_usdc_base", counterparty: "cp_lagos_freight" },
{ idempotencyKey: "po-2026-1184" },
);Resources
Eight resources cover almost everything.
Checkout
/v1/checkout/sessions
Create a hosted checkout for cards, bank transfer, mobile money and crypto, and get one webhook when it’s paid.
Payment accounts
/v1/payment-accounts
Generate a one-time or per-customer bank account number and reconcile transfers automatically.
Crypto
/v1/crypto/charges
Accept BTC, ETH, SOL, USDC, USDT and more, settled to USDC or local currency.
Accounts
/v1/accounts
Open and list USD, GBP, EUR, NGN and KES accounts with receiving details.
Wallets
/v1/wallets
USDC and USDT wallets on EVM chains, Tron, Solana and Stellar, with deposit addresses per network.
Mobile money
/v1/mobile-money
STK push and MoMo collections, wallet payouts and name lookup on M-Pesa, MTN MoMo and Airtel Money.
Yield
/v1/yield
Move idle USD or USDC in and out of yield and read daily accruals.
Quotes
/v1/quotes
Firm FX and on/off-ramp quotes, honoured for 30 seconds.
Payouts
/v1/payouts
Send to banks and mobile wallets in 12 African countries, CNY to China, or any wallet. Approval policies apply.
Counterparties
/v1/counterparties
Save and verify recipients before you pay them.
Transactions
/v1/transactions
A single, filterable ledger of every movement.
Webhooks for every state change.
Signed with HMAC-SHA256, retried with exponential backoff for three days, and replayable from the console.
- checkout.session.completed
- A customer paid by card, transfer, mobile money or crypto
- deposit.received
- Funds landed in an account or wallet
- mobile_money.collection.succeeded
- A customer approved a mobile money payment
- approval.required
- A payout is waiting on approvers
- transaction.processing
- Approved and sent to the rail
- transaction.completed
- Delivered to the recipient
- transaction.failed
- Rejected, returned or expired, with a reason code
- counterparty.verified
- Name check passed
Start building today.
Request sandbox access and make your first payout in under ten minutes.