One API for payments, wallets, and crypto settlement
Accept cards, PayPal, mobile money, and crypto through a single integration. Settle into Mavunta balances, USDT, or USDC. Start in sandbox, go live after verification.
- Sandbox keys
- Signed webhooks
- Scoped access
- Hosted checkout
- Payment links
curl https://api.mavunta.com/v1/payment-intents \
-H "Authorization: Bearer cwk_test_sk_..." \
-H "Idempotency-Key: order-1001" \
-H "Content-Type: application/json" \
-d '{
"amount": "1500",
"currency": "KES",
"settlement_currency": "USDT",
"payment_methods": ["mavunta_balance", "card", "mpesa"]
}'
{
"id": "pi_...",
"status": "awaiting_payment",
"checkout_url": "https://www.mavunta.com/pay/pi_...",
"request_id": "req_test_...",
"environment": "test",
"livemode": false
}Pick an integration path
Most teams start with Mavunta Pay. Wallet, market data, and trading endpoints are there when you need them.
Accept payments
Payment intents, hosted checkout, and payment links. Take cards, PayPal, mobile money, and crypto through one integration.
Pay API referenceSettle in stablecoins
Receive USDT or USDC into your Mavunta balance. Read balances and settlements, then reconcile against your own ledger.
Read the guidesListen to webhooks
Signed, retried events: payment_intent.paid, payment_intent.refunded, payment_intent.failed. Verify the HMAC signature and update orders in real time.
Webhook guideBuild advanced flows
Market data, trading endpoints, and wallet operations for treasury and execution. Scoped keys keep each integration least-privilege.
Platform APIsHow a payment works
Five steps from intent to settled. Webhooks confirm the truth, not the browser redirect.
- 1
Create a payment intent with the amount, currency, and settlement asset.
- 2
Redirect the customer to the hosted checkout URL.
- 3
They pay by card, PayPal, mobile money, or crypto.
- 4
Mavunta confirms the payment and settles into your wallet.
- 5
Your server receives a signed webhook and marks the order paid.
Sandbox first
Test without moving real funds. Sandbox keys (cwk_test_) simulate successful payments, cancellations, timeouts, refunds, webhook retries, and checkout expiry before you request live access.
Local and global rails
One integration covers the way your customers actually pay, wherever they are.
- Cards
- PayPal
- M-Pesa
- USDT
- USDC
- On-chain crypto
- Mavunta balances
Security built in
Money-moving keys are least-privilege by default. Live access is earned, not instant.
- Scoped API keys (publishable, restricted, secret)
- IP allowlists per key
- HMAC-signed webhooks
- Idempotency keys on every create
- Request logs and audit trails
- 2FA-protected key creation
- Live mode gated on KYB approval
- Rate limits with response headers
SDKs and tooling
Official libraries that match the webhook signature scheme byte for byte, plus a command-line tool for local webhook forwarding.
- Node.js
- PHP
- Python
- Go
- Java
- Laravel
- WooCommerce
- CLI
Build your first payment today
Sandbox keys are instant. You only request live access once a test payment and webhook are working.