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}/status

Use 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-history

Key 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 created
  • bank_account.credited - Deposit received
  • bank_account.debited - Payment sent
  • payment.initiated - Outbound payment started
  • payment.completed - Payment settled
  • payment.failed - Payment failed
  • beneficiary.created - New beneficiary added

Compliance & Limits

Warning: KYC Required: Users must complete KYC before making payments. International transfers require enhanced verification.

Transaction Limits

User StatusCan Transact?Limits
FULL_USER✅ YesUnlimited
Not FULL_USER❌ NoKYC required before any transactions
Corporate✅ YesCustom limits (contact sales)

Info: KYC is mandatory: Users must reach FULL_USER status (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