Use Cases
Explore common implementation patterns and use cases for the Bultra platform.
On-Ramp (Fiat to Crypto)
On-ramping enables users to convert fiat currency into cryptocurrency. This is one of the most common use cases for crypto exchanges, wallets, and DeFi applications.
Overview
The on-ramp flow allows your users to:
- Deposit fiat currency (USD, GBP, EUR) from their bank account
- Exchange fiat for stablecoins or cryptocurrencies
- Receive crypto in their Bultra account or withdraw to external wallet
Implementation Flow
- Customer Onboarding: Create an application for your user with required KYC information and documents
- Account Setup: Once approved, the customer receives fiat and crypto accounts
- Counterparty Creation: Set up the user's bank account as a counterparty for deposits
- Fiat Deposit: Create a payment (collection) to receive fiat from the user's bank
- Currency Exchange: Exchange fiat for the desired cryptocurrency using the exchange API
- Optional Withdrawal: If needed, withdraw crypto to an external wallet
Example Flow
// 1. Create fiat deposit (collection)
POST /v1/payments
{
"counterparty_id": "cpty_bank_123",
"account_id": "acc_usd_456",
"amount": "1000.00",
"currency": "USD"
}
// 2. After deposit completes, exchange USD for USDC
POST /v1/exchanges
{
"source_account_id": "acc_usd_456",
"destination_account_id": "acc_usdc_789",
"action": "FIX_SOURCE",
"amount": "1000.00"
}
// 3. Optionally withdraw to external wallet
POST /v1/withdrawals
{
"counterparty_id": "cpty_wallet_abc",
"account_id": "acc_usdc_789",
"amount": "995.00"
}
Key Considerations
- KYC Requirements: Users must complete identity verification before transacting
- Bank Verification: Counterparties undergo AML screening
- Exchange Rates: Market rates may vary; consider using OTC for large amounts
- Processing Times: ACH deposits typically take 2-3 business days
Off-Ramp (Crypto to Fiat)
Off-ramping enables users to convert cryptocurrency back into fiat currency and withdraw to their bank account.
Overview
The off-ramp flow allows your users to:
- Deposit cryptocurrency from external wallets
- Exchange crypto for fiat currency
- Withdraw fiat to their bank account
Implementation Flow
- Customer Verification: Ensure customer is onboarded and verified
- Crypto Counterparty: Set up the user's external wallet as a counterparty
- Crypto Deposit: Receive crypto from the user's external wallet
- Currency Exchange: Exchange cryptocurrency for fiat
- Bank Counterparty: Set up the user's bank account for withdrawal
- Fiat Withdrawal: Send fiat to the user's bank account
Example Flow
// 1. User deposits crypto (receive deposit address)
GET /v1/accounts/acc_eth_123/deposit-address
// 2. After crypto arrives, exchange ETH for USD
POST /v1/exchanges
{
"source_account_id": "acc_eth_123",
"destination_account_id": "acc_usd_456",
"action": "FIX_SOURCE",
"amount": "0.5"
}
// 3. Withdraw USD to bank
POST /v1/withdrawals
{
"counterparty_id": "cpty_bank_789",
"account_id": "acc_usd_456",
"amount": "1500.00",
"purpose": "PERSONAL_ACCOUNT"
}
Key Considerations
- Blockchain Confirmations: Crypto deposits require network confirmations
- Exchange Slippage: Large exchanges may experience price movement
- RFI Requirements: Large withdrawals may trigger documentation requests
- Withdrawal Limits: Daily/monthly limits may apply based on verification level
Wallet as a Service
Build a multi-currency wallet for your users with Bultra handling the infrastructure, compliance, and custody.
Overview
Wallet as a Service enables you to:
- Offer multi-currency accounts (fiat and crypto) to your users
- Leverage Bultra's compliance infrastructure (KYC/AML)
- Enable peer-to-peer transfers between your users
- Integrate with external payment rails for deposits and withdrawals
Architecture
Your application acts as the front-end while Bultra provides:
- Account Management: Multi-currency accounts with real-time balances
- Transaction Processing: Deposits, withdrawals, transfers, and exchanges
- Compliance: KYC/KYB verification and ongoing AML monitoring
- Custody: Secure storage for fiat and crypto assets
Key Features
| Feature | API Endpoint | Description |
|---|---|---|
| User Onboarding | /applications |
Create and verify users |
| Account Creation | /accounts |
Open fiat/crypto accounts |
| Balance Inquiry | /accounts/{id} |
Real-time balance checks |
| P2P Transfers | /transfers |
Move funds between users |
| Currency Exchange | /exchanges |
Convert between currencies |
| Transaction History | /accounts/{id}/transactions |
View past activity |
Webhook Integration
Subscribe to events to keep your application in sync:
APPLICATION_STATUS_CHANGED- User verification updatesPAYMENT_EXECUTED- Incoming deposits completedWITHDRAWAL_EXECUTED- Outgoing transfers completedTRANSFER_EXECUTED- Internal transfers completedEXCHANGE_EXECUTED- Currency exchanges completed
B2B Payments
Enable business-to-business payments with support for multiple currencies and payment rails.
Overview
B2B payment capabilities include:
- Send payments to suppliers and vendors
- Receive payments from business customers
- Multi-currency support with automatic FX
- Batch payment processing
Implementation Flow
- Corporate Onboarding: Complete KYB for your business customers
- Vendor Setup: Create counterparties for payment recipients
- Payment Initiation: Create withdrawals to send payments
- Collection Setup: Create payments to receive from customers
- Reconciliation: Use transaction history and webhooks for tracking
Supported Payment Rails
| Region | Currency | Rails | Speed |
|---|---|---|---|
| United States | USD | ACH, Fedwire | Same day - 3 days |
| United Kingdom | GBP | FPS, BACS, CHAPS | Instant - 3 days |
| Europe | EUR | SEPA, SEPA Instant | Instant - 2 days |
| Global | Crypto | On-chain | Minutes |
Best Practices
- Use Idempotency: Always include idempotency keys for payment requests
- Implement Webhooks: Don't poll for status—use event notifications
- Handle RFIs Promptly: Respond to information requests quickly to avoid delays
- Validate Counterparties: Verify bank details before large payments
Contact Support: For large or complex B2B payment requirements, reach out to your account manager for customized solutions including OTC trading and dedicated payment rails.