Skip to main content

Quickstart

Get a sandbox quote and accept flow working in minutes.

Prerequisites

  • Sandbox API key (is_test_…) from Element Pay
  • webhook_url configured on that key (recommended)
  • curl and jq (optional)

1. Configure environment

Every request:

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

Note a 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 vault customer_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.
Save data.quote_id (format yc_receive_…).
Replace network_id with a value from your sandbox catalog if the example UUID does not match your environment.

4. Accept the quote

Wait ~2 seconds, then accept with an empty body:

5. Listen for webhooks

Configure webhook_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