Start
Quick start
Five calls cover a deposit: rates, a quote, a customer, an address, then the settlement.
Create the customer once and reuse external_user_id. Ask them to send a supported asset (USDT, USDC, BTC, ETH, BNB, TRX, SOL, LTC, XRP, or DOGE) to the deposit address on the network you return. Wait for deposit.credited before you credit their balance in your app.
A quote does not move money. It tells you the rate, the fee, and what each side receives.
Identity is required on create: bvn or nin, or identity_type plus an 11-digit identity_number. Repeating the same external_user_id returns the existing customer.
curl -s -X POST https://api.vastel.io/api/v1/swap/quote \
-H "Content-Type: application/json" \
-H "X-Public-Key: vst_pub_xxxxxxxx" \
-H "X-Secret-Key: vst_sec_xxxxxxxx" \
-d '{
"from_currency": "USDT",
"to_currency": "NGN",
"amount": "100",
"amount_side": "from"
}'