Stablecoin API Overview

Prerequisites

Before using the Stablecoin API, users must be set up through the Onboarding API:

1. User/Corporate Creation

Create via Onboarding API:

Target Address Setup:
During user creation, you must set the target_address field:

POST /user
{
  "first_name": "John",
  "last_name": "Doe",
  "email": "[email protected]",
  "country": "US",
  "target_address": "0xABC...123",  // DEFAULT wallet for on-ramp conversions
  "target_solana_address": "3KWx..."  // Optional: for Solana support
}

Note:
Target Address: This is the user's EXTERNAL wallet (MetaMask, Coinbase, hardware wallet, etc.) where on-ramp conversions will be sent by default. This is different from Bakkt custody addresses.

2. KYC/KYB Verification

Users and corporates must complete verification before using On/Off Ramp:

Entity TypeRequired StatusVerification
UsersFULL_USERComplete KYC via Sumsub
CorporatesACTIVEComplete KYB verification

Warning:
No Partial Access: Users cannot use On/Off Ramp until fully verified. Access is binary: either full access (unlimited) or no access.

3. Authentication

Different endpoints have different auth requirements:

OperationAuth RequiredHeaders
GET endpointsAPI Key + User UUIDAuthorization, user-uuid
POST/PUT/PATCHSession IDAuthorization, bakkt-session-id

Overview

The Stablecoin API enables bi-directional stablecoin to fiat conversions:

  • On-Ramp: Fiat → Stablecoin (link stablecoin fiat account to user's wallet)
  • Off-Ramp: Stablecoin → Fiat (1st party to user's own stablecoin fiat account, or 3rd party to any bank)
  • Single-Use: One-time wallets for corporate batch processing
  • Custody: Hold stablecoins without automatic conversion

Key Features

On-Ramp (Fiat → Stable)

Link stablecoin fiat account to wallet. Deposit fiat, automatically receive stablecoin.

Off-Ramp (Stable → Fiat)

Send stablecoins to receive fiat. First party (own stablecoin fiat account) or third party (any bank account).

Single-Use Wallets

Corporate-only: Generate unique wallets per invoice with auto-offramp to main remote bank account.

Custody Wallets

Hold stablecoins without auto-conversion. User controls when to convert.

Getting Started

Quick Start Guide

Make your first Stablecoin API call in minutes with sample API keys.

[Go to Quick Start](/guides/quick-start)

Sandbox Setup

Environment setup, API keys, and authentication details.

[Go to Sandbox Setup](/guides/sandbox-setup)

Feature Guides

Explore detailed guides for each major feature:

On-Ramp

Fiat to stablecoin conversions

[Go to On-Ramp Guide](/guides/on-ramp)

Off-Ramp

Stablecoin to fiat conversions

[Go to Off-Ramp Guide](/guides/off-ramp)

Custody Wallets

Hold stablecoins securely

[Go to Custody Guide](/guides/custody)

Single-Use Wallets

Corporate invoice tracking (whitelisted only)

[Go to Single-Use Wallets Guide](/guides/single-use-wallets)

Reference

Technical reference and integration resources:

Supported Assets

Chains, tokens, and currencies

[Go to Supported Assets](/guides/supported-assets)

Integration

Webhooks, monitoring, and fees

[Go to Integration Guide](/guides/integration)

Webhooks

Real-time event notifications for transactions and bank accounts

[Go to Webhooks Guide](/guides/webhooks)

Managing Fees and Commissions

Configure merchant fees, minimum fees, and fee subsidies

[Go to Fees Guide](/guides/fees)

On-Ramping USD via ACH Pulls (Plaid)

Plaid-based ACH pull integration for USD on-ramp

[Go to ACH / Plaid Guide](/guides/ach-plaid)

Remittance: Global Payouts

Send payouts to recipients in local fiat currencies worldwide

[Go to Remittance Guide](/guides/remittance)

Solana Integration

Solana-specific considerations for on-ramp and off-ramp

[Go to Solana Guide](/guides/solana)

Allowed Post Codes Formats

Post code validation formats by country

[Go to Post Codes Reference](/guides/postcodes)

Minimum and Maximum Transaction Values

Fiat and stablecoin transaction limits by currency and network

[Go to Transaction Values](/guides/transaction-values)

Infrastructure Addresses

Public registry of wallets and smart contracts

[Go to Infrastructure Addresses](/guides/infrastructure-addresses)