Advanced Features
Coming Soon: Credit Cards 💳
Note: Preview: The Accounts API will soon enable credit card issuance backed by Bakkt accounts. Stay tuned!
Future Endpoints (In Development)
// Issue virtual or physical card
POST /user/card
{
"linked_account_uuid": "bakkt-account-uuid",
"card_type": "VIRTUAL",
"spending_limit": 5000,
"currency": "USD"
}
// Get card details
GET /user/card/{card_uuid}
// View card transactions
GET /user/card/{card_uuid}/transactions
// Freeze/unfreeze card
PATCH /user/card/{card_uuid}/statusUse Cases:
- Virtual cards for online shopping
- Physical cards for everyday spending
- Employee expense cards backed by company accounts
Coming Soon: High-Yield Savings Accounts 💰
Note: Preview: The Accounts API will soon enable high-yield savings accounts with competitive interest rates. Earn passive income on USD balances!
Future Endpoints (In Development)
// Create savings account
POST /user/savings-account
{
"linked_account_uuid": "bakkt-account-uuid",
"currency": "USD",
"initial_deposit": 1000
}
// Get account details and accrued interest
GET /user/savings-account/{account_uuid}
// View transaction history
GET /user/savings-account/{account_uuid}/transactions
// View interest payment history
GET /user/savings-account/{account_uuid}/interest-historyKey Features:
- Interest Rate: Up to 3.08% APY on USD deposits
- Note: Rates are merchant-specific and defined in your contractual relationship
- Eligibility: USD only, available exclusively to US residents
- Account Opening: Same simple process as standard Bakkt account creation
- No Hidden Fees: Transparent pricing with no account maintenance fees
Use Cases:
- Emergency fund savings with competitive returns
- Short-term and long-term savings goals
- Cash reserves earning passive income
- High-yield alternative to traditional checking accounts
Sandbox Testing
Simulate Deposits
Test money IN flows without real bank transfers:
POST /user/bank-account/bakkt/{account_uuid}/simulate
{
"value": 1000
}Instantly credits €1000 (or account currency) to the Bakkt account.
Test Beneficiary Creation
In Sandbox, any valid-format bank details work for supported currencies:
- EUR: Use any valid IBAN
- GBP: Use account "12345678", sort code "123456"
- USD: Use any valid routing number + account number
- NGN: Use any valid account number + bank code
Transactions complete instantly for testing (no real banking delays).
Best Practices
Account Setup
- Create accounts in currencies you'll operate in
-
Display account details clearly (IBAN, routing, etc.)
-
Implement balance tracking
-
Generate statements regularly for accounting
-
Beneficiary Management
- Validate bank details before saving (use
/banks/endpoint)-
Save beneficiaries for recurring payments
-
Support all account currencies: EUR, GBP, USD, NGN
-
Double-check account numbers (typos cause payment failures)
-
Account Operations
- Show exchange rates between supported currencies
-
Display account balances (coming soon)
-
Track transaction history
-
Generate statements for accounting
-
Implement webhooks for real-time updates
-
Compliance
- KYC required for all payment operations
- Enhanced KYC for high-value transactions
- Monitor AML hold status
- Maintain transaction records for auditing
Webhooks
Subscribe to payment events:
bank_account.created- Account createdbank_account.credited- Deposit receivedbank_account.debited- Payment sentpayment.initiated- Outbound payment startedpayment.completed- Payment settledpayment.failed- Payment failedbeneficiary.created- New beneficiary added
Compliance & Limits
Warning: KYC Required: Users must complete KYC before making payments. International transfers require enhanced verification.
Transaction Limits
| User Status | Can Transact? | Limits |
|---|---|---|
FULL_USER | ✅ Yes | Unlimited |
Not FULL_USER | ❌ No | KYC required before any transactions |
| Corporate | ✅ Yes | Custom limits (contact sales) |
Info: KYC is mandatory: Users must reach
FULL_USERstatus (complete KYC verification) before they can make any payments or transfers. There are no transaction limits for verified users.
Holds & Review
Transactions may be held for:
- First-time beneficiary (15-30 min review)
- Large amounts (manual review)
- AML screening triggers
- Unusual patterns
Status: ON_HOLD_REVIEW - typically resolved within 1-24 hours
API Summary
Total Endpoints: 11 (Virtual IBANs, statements, ACH pull)
Capabilities:
- ✅ Create Virtual IBANs (EUR, GBP, USD, NGN)
- ✅ Custody fiat funds
- ✅ Accept deposits (bank transfer, ACH pull via Plaid)
- ✅ View transaction history
- ✅ Generate account statements
- ✅ Send to beneficiaries
- 🔜 High-yield savings accounts (coming soon!)
- 🔜 Issue credit cards (coming soon!)
Next Steps
Bank Accounts
Create Virtual IBANs and manage fiat custody
Payments & Transfers
Manage beneficiaries and money movement
View Full API Reference
Explore all endpoints with interactive examples
Stablecoin API
Convert between fiat and stablecoins
Updated about 2 months ago
