Step 1: Generate your API key
Head over to dashboard.lumx.io. Once logged in, generate a new API key and store it securely. See Authentication for details.Step 2: Create a customer with the accounts you need
Send aPOST /customers request including an accounts array with the currencies you want to provision. Each currency triggers a virtual account that enters verification alongside the customer.
Request
Response
The
wallets array is only returned once the customer’s verification status is APPROVED. Subscribe to the customer.approved webhook or call Read a customer to retrieve wallets after approval.Step 3: Collect ToS acceptance and KYC
Before the customer can transact, they must accept Lumx’s terms of service and complete identity verification. Generate a ToS acceptance link and share it with the customer:Request
Response
TERMS_OF_SERVICE requirement moves to APPROVED and the customer’s verification.link becomes available. Read the customer and share that link so they can complete KYC. See Individual verification or Business verification for the full flow.
Step 4: Wait for accounts to activate
Each requested account stays inAWAITING_ONBOARDING until the customer is approved, then provisioning is requested and the account goes through its own verification.
Subscribe to the
account.active webhook to know the moment an account is ready to receive funds. See Webhooks for the full event list.
account.active event
Step 5: Create an autoconversion rule for each account
Once an account isACTIVE, create an autoconversion rule for it, using the id from the account.active event as accountId. You do this once per account: every deposit that lands through the rule’s deposit details is converted to stablecoin and credited to the customer’s wallet, whatever the amount.
Request
Response
sourceDepositInfo, which carries the details to share with the payer for each rail on the account: a static PIX brCode for BRL, a CLABE and memo for MXN, bank details for USD, an IBAN for EUR, a sort code and account number for GBP. See Share the deposit details for the fields per currency.
Each deposit must be worth at least 50 USD in the account’s currency. A USD, EUR, or GBP account holds one active rule at a time; BRL and MXN accounts can hold several, each with its own reference.
Subscribe to onramp.success to know the moment a deposit is converted and the wallet is credited. Each matched deposit runs as an on-ramp, so it follows the same lifecycle. See Transactions. In sandbox, trigger a deposit with POST /autoconversion-rules/simulate-deposit.
Related resources
Accounts
Understand virtual fiat accounts and their lifecycle.
Coverage
Supported currencies, rails and countries.
Webhooks
Subscribe to account and customer events.
Accounts API
Full API reference for accounts.