Create a one-off payment
Pulls amount of tokenKey from fromWallet and forwards it to toWallet. idempotencyKey is required. See Core concepts → Payments.
Authorization
apiKey Your merchant API key, shown once at creation in the dashboard (Settings → API key).
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/payments" \ -H "Content-Type: application/json" \ -d '{ "toWallet": "string", "amount": "25.00", "tokenKey": "usdc-polygon", "idempotencyKey": "550e8400-e29b-41d4-a716-446655440000" }'{ "id": "pay_01j8x2q3r4s5t6u7v8w9x0y1z2", "merchantId": "string", "customerId": "string", "source": "one_time", "subscriptionId": "string", "offerId": "string", "priceId": "string", "periodStart": "2026-08-19T14:32:00.000Z", "periodEnd": "2026-08-19T14:32:00.000Z", "attempts": 1, "idempotencyKey": "string", "paymentMethod": "wallet_connect", "fromWallet": "0x71c7656ec7ab88b098defb751b7401b5f6d8976", "toWallet": "0x71c7656ec7ab88b098defb751b7401b5f6d8976", "amount": "10.00", "platformAmount": "10.00", "merchantAmount": "10.00", "tokenKey": "usdc-polygon", "chainId": 137, "pullTxHash": "string", "forwardTxHash": "string", "platformTransferTxHash": "string", "distributeTxHash": "string", "status": "pending", "failureReason": "insufficient_allowance", "isSandbox": true, "affiliatePartnerId": "string", "affiliateCommissionPct": "string", "createdAt": "2026-08-19T14:32:00.000Z", "updatedAt": "2026-08-19T14:32:00.000Z"}