- Customer external accounts - Scoped to individual customers, used for withdrawals and customer-specific payouts
- Platform external accounts - Scoped to your platform, used for platform-wide operations like receiving funds from external sources
Customer external accounts often require some basic beneficiary information for compliance.
Platform accounts are managed at the organization level.
Look up bank names with the Discoveries API
Some countries require abankName when creating an external account — including the Philippines, Nigeria, South Africa, and others. The bankName value must match exactly what Grid expects.
Use the Discoveries API to retrieve the list of valid bank names for a given country and currency:
cURL
Response
bankName from the response as the bankName value when creating an external account. The displayName is a human-friendly label you can show to your users. You can filter the list on the client side as the user types to provide a bank search experience.
Create external accounts by region or wallet
- United States
- Mexico
- Brazil
- Colombia
- El Salvador
- Europe
- Philippines
- United Kingdom
- India
- Nigeria
- South Africa
- Kenya
- Tanzania
- Zambia
- Rwanda
- Malawi
- Uganda
- West Africa
- Canada
- SWIFT (International)
- Cryptocurrency
ACH, Wire, RTP
cURL
Category must be
CHECKING or SAVINGS. Routing number must be 9 digits.Business beneficiaries
For business accounts, include business information:Minimum required beneficiary fields
The following tables show the minimum required fields for individual and business beneficiaries. All other fields are optional but recommended for faster compliance review.Individual beneficiaries
While only the fields listed above are strictly required, providing additional information like
birthDate, nationality, and address can reduce the likelihood of false positive compliance checks and increase transaction success rates.Business beneficiaries
For business beneficiaries, the required fields vary by destination currency:When sending to GBP, INR, BRL, DKK, PHP, HKD, IDR, MYR, SGD, THB, VND, or AED, business senders (originators) must also provide
registrationNumber.registrationNumber is the business’s official registration or incorporation number (e.g., EIN in the US, CNPJ in Brazil, company registration number in the UK). taxId is the business’s tax identification number where it differs from the registration number.Account status
Beneficiary data may be reviewed for risk and compliance. OnlyACTIVE accounts can receive payments. Updates to account data may trigger account re-review.
Listing external accounts
List customer accounts
List platform accounts
For platform-wide operations, list all platform-level external accounts:Platform external accounts are used for platform-wide operations like
depositing funds from external sources.
Best practices
Validate account information
Validate account information
Validate account details before submission:
Check account status
Check account status
Verify status before sending payments:
Secure account data
Secure account data
Never expose full account numbers. Display only masked info:
Using external accounts for ramps
External accounts serve as destinations for ramp conversions:For on-ramps (Fiat → Crypto)
External accounts represent crypto wallet destinations:- Spark wallets: Lightning Network wallets for instant Bitcoin delivery
- Self-custody: User-controlled wallets for full ownership
- No beneficiary required: Crypto wallets don’t need compliance information
For off-ramps (Crypto → Fiat)
External accounts represent bank account destinations:- Traditional bank accounts: ACH, wire, SEPA, CLABE, PIX, UPI, etc.
- Beneficiary required: Full compliance information needed for fiat destinations
- Multiple currencies: Support for USD, EUR, MXN, BRL, INR, and more
Crypto wallet destinations
Spark wallet addresses
The primary destination type for on-ramps:Spark wallet external accounts are immediately
ACTIVE and ready for on-ramp
conversions.Validate Spark addresses
Before creating external accounts, validate Spark wallet addresses:Spark addresses are case-insensitive and follow the bech32 format starting
with
spark1.Bank account destinations
For off-ramp flows, create external bank accounts with full beneficiary information:Example: US bank account for off-ramp
Listing external accounts
List customer external accounts
Filter by currency
Account status and verification
External accounts move through verification states:Spark wallet accounts are immediately
ACTIVE. Bank accounts may require
verification (typically instant to a few hours).Best practices for ramps
Validate addresses before creation
Validate addresses before creation
Always validate wallet addresses and bank account details before creating external accounts:
Use platform account IDs for tracking
Use platform account IDs for tracking
Map external accounts to your internal system using
platformAccountId:Handle multiple destinations per customer
Handle multiple destinations per customer
Support multiple wallets or bank accounts for flexibility:
Implement address verification for crypto
Implement address verification for crypto
For crypto destinations, implement additional verification:
Ramp-specific considerations
On-ramp destinations
- Instant delivery: Spark wallets receive Bitcoin within seconds
- No KYC required: Self-custody wallets don’t need beneficiary info
- Reusable addresses: Store and reuse Spark addresses for multiple conversions
- No minimum: Send any amount supported by Lightning Network
Off-ramp destinations
- Full compliance: Bank accounts require complete beneficiary information
- Verification delays: Bank account verification may take a few hours
- Settlement times: Vary by destination (instant for RTP/PIX, 1-3 days for ACH)
- Amount limits: Check minimum and maximum amounts per destination currency
Next steps
- Fiat-to-Crypto Conversion - Build conversion flows
- Self-Custody Wallets - Advanced wallet integration
- Webhooks - Handle account status updates
Related resources
- Platform Configuration - Configure supported account types
- Sandbox Testing - Test with mock accounts
- API Reference - Complete API documentation