Quickstart
Get a sandbox quote and accept flow working in minutes.Prerequisites
- Sandbox API key (
is_test_…) from Element Pay webhook_urlconfigured on that key (recommended)curlandjq(optional)
1. Configure environment
Asset to use (sandbox)
Use Base USDC on every quote unless we tell you otherwise:
(Polygon USDT is also on the rail — see Corridors overview. Prefer Base USDC for integration.)
2. Discover Kenya corridors
providers[].id for M-PESA (mobile money) from catalog — you will send it as payment_method.network_id on quote.
3. Create a quote
Preferred: pass an approved vaultcustomer_id (pcus_*) from the Customers quickstart. That is the main identity path for new integrations.
Still accepted: an inline customer object on quote (shown below) for existing integrations and a first sandbox spike. Prefer migrating to customer_id once the vault case is approved.
data.quote_id (format yc_receive_…).
4. Accept the quote
Wait ~2 seconds, then accept with an empty body:5. Listen for webhooks
Configurewebhook_url on your API key. Element Pay POSTs:
See Webhooks for payload shape and signature verification.
Prefer a vault
customer_id (pcus_*) on quote when available — Customers quickstart.
Next steps
- Sandbox success & failure — required for reliable sandbox settle/fail
- Kenya corridor guide — momo vs bank
- Sandbox test payloads — NG, UG, OffRamp curls
- API reference — full OpenAPI