Advanced Features

Coming Soon: Credit Cards 💳

Note:
Preview: The Accounts API will soon enable credit card issuance backed by Bakkt accounts. Stay tuned!

Warning:
Merchant-Gated Feature: Card issuance is not part of the default Accounts API surface. Once released, access to the card endpoints will depend on your contractual agreement with Bakkt and will need to be explicitly enabled for your merchant account. Reach out to your Bakkt account manager to confirm whether the card program is included in your agreement.

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!

Warning:
Merchant-Gated Feature: High-yield savings accounts are not enabled for every merchant by default. Availability of these endpoints depends on your agreement with Bakkt and the savings program must be activated for your merchant account before it can be used. Contact your Bakkt account manager to confirm whether savings accounts are part of your contract.

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/account/bakkt/payin/ach/simulate
{
  "user_uuid": "<USER_UUID>",
  "amount": 1000,
  "currency": "USD"
}

Instantly credits €1000 (or account currency) to the Bakkt account.

Test Recipient 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

Recipient Management

  • Validate bank details before saving (use /banks/ endpoint)
    • Save recipients 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 recipient 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

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 recipient (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 (Bank accounts, statements, ACH pull)

Capabilities:

  • ✅ Create checking and savings accounts (USD)
  • ✅ Custody fiat funds
  • ✅ Accept deposits (bank transfer, ACH pull via Plaid)
  • ✅ View transaction history
  • ✅ Generate account statements
  • ✅ Send to recipients
  • 🔜 High-yield savings accounts (coming soon!)
  • 🔜 Issue credit cards (coming soon!)

Info:
Per-Merchant Availability: Some capabilities listed above — including savings accounts and card issuance — are gated by your contractual agreement with Bakkt. They are not automatically available to every merchant, and must be enabled for your account before the related endpoints can be used. If an endpoint returns 403/404 and you believe it should be available, please contact your Bakkt account manager.

Next Steps

Bank Accounts

Create checking and savings accounts and manage fiat custody

Payments & Transfers

Manage recipients and money movement

View Full API Reference

Explore all endpoints with interactive examples