Create Payment
Submit a stablecoin-to-fiat payout.
Authorizations
Stablepay API key. Include as Authorization: Bearer <key>.
Headers
Client-generated UUID. Required to prevent duplicate payments.
Body
The payment amount in local currency.
1350
Stablecoin sent onchain for payment settlement.
USDC, USDT Fiat currency received by the recipient.
GHS, KES, NGN, TZS, UGX, XAF, XOF, ZAR, ZMW Recipient country code.
BF, BJ, CI, CM, GH, KE, NG, SN, TZ, UG, ZA, ZM Supported blockchains for onchain settlement.
BSC, SOLANA The supported payment method used to deliver funds to the recipient.
BANK, MOMO, PAYBILL, TILL Recipient full name associated with the payment method.
"Jane Doe"
Recipient phone number or account number.
"254712345678"
Mobile network operator or bank code. Available MNO options: MPESA, MTN, AIRTEL, TIGO, TELEBIRR, CBE, ZAMTEL. Available bank options: OPAY, PALMPAY, MONIEPOINT.
Wallet issuer's unique reference.
"csh-txn-20260506-001"
Onchain address to return funds to if the payout fails.
"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"
YES, NO "NO"
Only required for PAYBILL: M-Pesa Paybill business number (6 digits).
"123456"
Response
Payment accepted. Processing is async — poll or await webhook.
Prefixed ULID for this payment.
"pay_01HV8KZMRJPQR9S7T3XABCDEF"
Current state of the payment in the state machine.
initiated → provider_accepted → succeeded | failed | refunded
How the recipient receives funds.
BANK, MOMO, PAYBILL, TILL Stablecoin sent onchain for payment settlement.
USDC, USDT Total stablecoin amount charged.
"10.500000"
Fiat amount the recipient receives.
"1350.000000"
Fiat currency received by the recipient.
GHS, KES, NGN, TZS, UGX, XAF, XOF, ZAR, ZMW Provider's transaction ID. Null until the provider accepts.
"CC4SOjQu8UUarKaOGZy9"
Caller's own reference code (e.g. "csh-txn-20260506-001"). Stored as supplied in the payment request.
"csh-txn-20260506-001"

