curl --request POST \
--url https://api.onswitch.xyz/onramp/initiate \
--header 'Content-Type: application/json' \
--header 'x-service-key: <api-key>' \
--data '
{
"amount": 150050,
"country": "NG",
"currency": "NGN",
"asset": "base:usdc",
"beneficiary": {
"holder_type": "INDIVIDUAL",
"holder_name": "Chinonso Adeyemi",
"wallet_address": "0x8F3aC91d2B741E59f064E9053a4d2E8F1c0b6D93a"
},
"exact_output": false,
"callback_url": "https://your-app.com/webhook",
"reference": "a3f9c2e1-7b4d-4a8e-9c62-1d8f4e6b2a90",
"channel": "BLOCKCHAIN",
"developer_fee": 0.5,
"developer_recipient": "0x8F3aC91d2B741E59f064E9053a4d2E8F1c0b6D93a"
}
'{
"success": true,
"message": "Onramp initiated successfully",
"timestamp": "2026-04-23T14:41:52.183Z",
"data": {
"status": "AWAITING_DEPOSIT",
"type": "ONRAMP",
"reference": "8f82e3fe-a881-4182-8af0-7cb36d9dd858",
"beneficiary": "69ea2fb0d4a6a8e1d4600027",
"rate": 1396.176,
"developer_fee": {
"amount": 0,
"amount_usd": 0,
"currency": "USDC",
"network": "BASE"
},
"source": {
"amount": 2000,
"amount_usd": 1.432484,
"network": "FIAT",
"currency": "NGN"
},
"destination": {
"amount": 1.432484,
"amount_usd": 1.432484,
"network": "BASE",
"currency": "USDC"
},
"deposit": {
"amount": 2000,
"expires_at": "2026-04-23T15:11:52.180Z",
"account_number": "6022671694",
"account_name": "Switchlabsltd Checkout",
"bank_code": "090286",
"bank_name": "Safehaven Microfinance Bank",
"asset": "base:usdc",
"note": [
"Kindly send the exact amount to the bank account to complete the transaction.",
"This dynamic bank account has a 30 minutes expiry window and can only be used once."
]
},
"meta": {},
"created_at": "2026-04-23T14:41:52.180Z",
"updated_at": "2026-04-23T14:41:52.180Z"
}
}Initiate a local currency to stablecoin transaction.
curl --request POST \
--url https://api.onswitch.xyz/onramp/initiate \
--header 'Content-Type: application/json' \
--header 'x-service-key: <api-key>' \
--data '
{
"amount": 150050,
"country": "NG",
"currency": "NGN",
"asset": "base:usdc",
"beneficiary": {
"holder_type": "INDIVIDUAL",
"holder_name": "Chinonso Adeyemi",
"wallet_address": "0x8F3aC91d2B741E59f064E9053a4d2E8F1c0b6D93a"
},
"exact_output": false,
"callback_url": "https://your-app.com/webhook",
"reference": "a3f9c2e1-7b4d-4a8e-9c62-1d8f4e6b2a90",
"channel": "BLOCKCHAIN",
"developer_fee": 0.5,
"developer_recipient": "0x8F3aC91d2B741E59f064E9053a4d2E8F1c0b6D93a"
}
'{
"success": true,
"message": "Onramp initiated successfully",
"timestamp": "2026-04-23T14:41:52.183Z",
"data": {
"status": "AWAITING_DEPOSIT",
"type": "ONRAMP",
"reference": "8f82e3fe-a881-4182-8af0-7cb36d9dd858",
"beneficiary": "69ea2fb0d4a6a8e1d4600027",
"rate": 1396.176,
"developer_fee": {
"amount": 0,
"amount_usd": 0,
"currency": "USDC",
"network": "BASE"
},
"source": {
"amount": 2000,
"amount_usd": 1.432484,
"network": "FIAT",
"currency": "NGN"
},
"destination": {
"amount": 1.432484,
"amount_usd": 1.432484,
"network": "BASE",
"currency": "USDC"
},
"deposit": {
"amount": 2000,
"expires_at": "2026-04-23T15:11:52.180Z",
"account_number": "6022671694",
"account_name": "Switchlabsltd Checkout",
"bank_code": "090286",
"bank_name": "Safehaven Microfinance Bank",
"asset": "base:usdc",
"note": [
"Kindly send the exact amount to the bank account to complete the transaction.",
"This dynamic bank account has a 30 minutes expiry window and can only be used once."
]
},
"meta": {},
"created_at": "2026-04-23T14:41:52.180Z",
"updated_at": "2026-04-23T14:41:52.180Z"
}
}Documentation Index
Fetch the complete documentation index at: https://docs.onswitch.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Service key for API authentication
x >= 0ISO 3166-1 alpha-2 country code.
AD, AE, AF, AG, AI, AL, AM, EU, AN, AO, AQ, AR, AS, AT, AU, AW, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BM, BN, BO, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CU, CV, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, FI, FJ, FK, FM, FO, FR, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, GZ, HK, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV, SY, SZ, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XK, YE, YT, ZA, ZM, ZW base:usdc, solana:usdc, solana:usdt, ethereum:usdc, ethereum:usdt, polygon:usdc, polygon:usdt, bsc:usdc, bsc:usdt, arbitrum:usdc, optimism:usdc, gnosis:usdc, gnosis:usdt, arbitrum:usdt, avalanche:usdc, monad:usdc, optimism:usdt, monad:usdt, plasma:usdt, avalanche:usdt, tron:usdt, linea:usdt, mantle:usdt, hyperevm:usdt, berachain:usdt, linea:usdc, berachain:usdc, sonic:usdc, base:cngn, bsc:cngn AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, FOK, GBP, GEL, GGP, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, IMP, INR, IQD, IRR, ISK, JEP, JMD, JOD, JPY, KES, KGS, KHR, KID, KMF, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, SSP, STN, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TVD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VES, VND, VUV, WST, XAF, XCD, XDR, XOF, XPF, YER, ZAR, ZMW, ZWL Webhook URL to receive transaction status updates.
Transfer channel. Onramp supports blockchain settlement only.
BANK, BLOCKCHAIN, SWIFT, SEPA, SEPA_EUR, WIRE, ACH, DOMESTIC_GBP, MOBILEMONEY, ALIPAY, WECHATPAY Optional developer fee percentage (0-100)
0 <= x <= 100Optional wallet address to receive developer fee.
Successfully initiated onramp transaction
Hide child attributes
AWAITING_DEPOSIT, PROCESSING, COMPLETED, FAILED OFFRAMP, ONRAMP, SWAP, WALLET