Element Pay Partner API
Provider-neutral fiat ↔ crypto ramps and optional banking for B2B partners. Integrate once against Element Pay — we route local African fiat (mobile money and bank) by corridor, return binding quotes, and notify your backend via webhooks when orders settle.Every customer must KYC
All end-customers must complete KYC in the customer vault before you quote withcustomer_id (pcus_*).
KYC and banking are different products:
status=approved→ corridor quotes and accepts withcustomer_idproducts.deposit_account.status=ready→ account open, deposit instructions, sends, etc.
What you can do today
Supported countries and payment methods come from
GET /partner/catalog. Details: Corridors overview.
Core pattern (ramps)
Every corridor order follows the same steps after KYC is approved:- Discover —
GET /partner/catalog(copyproviders[].id→network_id) - Quote —
POST /partner/orders/quotewithcustomer_id - Accept —
POST /partner/orders/{quote_id}/accept
order.processing, order.settled, order.failed. See Webhooks and Quote and accept.
Where to start
For coding agents: readllms.txt at the docs repo root, then Agent quickstart, then openapi.yaml.
Agent quickstart
Auth, OnRamp path, optional banking/accounts, webhooks, pitfalls.
Local fiat ↔ stablecoin
OnRamp + OffRamp: what changes per corridor, rate lock, finality.
Quickstart
KYC → approved → first KE OnRamp quote → accept.
Customer KYC
Requirements, documents, submit, and approval.
Quote and accept
Request checklist and response examples.
Customer-signed accepts
Optional EIP-712 accept when the customer wallet must authorize.
Banking
Optional — accounts after deposit account is ready.
Base URLs
All partner routes are under
/partner/*. Auth: X-API-Key header — Authentication.