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:
- Users:
POST /user- See Onboarding API - Corporates:
POST /corporate- See 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 Type | Required Status | Verification |
|---|---|---|
| Users | FULL_USER | Complete KYC via Sumsub |
| Corporates | ACTIVE | Complete 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:
| Operation | Auth Required | Headers |
|---|---|---|
| GET endpoints | API Key + User UUID | Authorization, user-uuid |
| POST/PUT/PATCH | Session ID | Authorization, 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.
Sandbox Setup
Environment setup, API keys, and authentication details.
Feature Guides
Explore detailed guides for each major feature:
On-Ramp
Fiat to stablecoin conversions
Off-Ramp
Stablecoin to fiat conversions
Custody Wallets
Hold stablecoins securely
Single-Use Wallets
Corporate invoice tracking (whitelisted only)
Go to Single-Use Wallets Guide
Reference
Technical reference and integration resources:
Supported Assets
Chains, tokens, and currencies
Integration
Webhooks, monitoring, and fees
Webhooks
Real-time event notifications for transactions and bank accounts
Managing Fees and Commissions
Configure merchant fees, minimum fees, and fee subsidies
On-Ramping USD via ACH Pulls (Plaid)
Plaid-based ACH pull integration for USD on-ramp
Remittance: Global Payouts
Send payouts to recipients in local fiat currencies worldwide
Solana Integration
Solana-specific considerations for on-ramp and off-ramp
Allowed Post Codes Formats
Post code validation formats by country
Minimum and Maximum Transaction Values
Fiat and stablecoin transaction limits by currency and network
Infrastructure Addresses
Public registry of wallets and smart contracts
Updated 3 days ago
