Stablecoin payments API for global money movement: USD/EUR/MXN virtual accounts with real bank details, custodial wallets, programmatic transfers between fiat and stablecoins, Visa-powered cards linked to stablecoin balances, and branded stablecoin issuance (USDB or your own). Acquired by Stripe but still operated as a standalone API surface.
- 01issuing USD/EUR/MXN virtual accounts that mint stablecoins on deposit
- 02global B2B payouts settled in USDC/USDT/USDB
- 03fiat ↔ stablecoin orchestration with KYC/KYB built in
- 04Visa cards tied to a stablecoin balance
- 05launching a branded yield-bearing stablecoin (Open Issuance)
- # REST API — no official SDK. Use fetch / ofetch / axios.
- pnpm add zod # recommended for runtime-validating Bridge responses
| Variable | Scope | Description |
|---|---|---|
| BRIDGE_API_KEY | Server | API key from the Bridge dashboard. Sent as the `Api-Key` header on every request. Server-only. |
| BRIDGE_WEBHOOK_SECRET | Server | HMAC signing secret for verifying Bridge webhook events (transfers, KYC updates, virtual-account credits). |
| BRIDGE_API_BASE_URL | Server | Defaults to https://api.bridge.xyz/v0. Override only if you've been given a partner-specific or sandbox base. |
Use Bridge as your stablecoin payments backbone. Call the REST API server-side: `fetch('https://api.bridge.xyz/v0/customers', { method: 'POST', headers: { 'Api-Key': BRIDGE_API_KEY, 'Content-Type': 'application/json' }, body: JSON.stringify({ ... }) })`. Core resources: `/customers` (KYC/KYB), `/virtual_accounts` (issue USD/EUR/MXN bank details), `/wallets` (custodial stablecoin balances), `/transfers` (move funds across fiat ↔ stablecoin rails), `/cards` (Visa issuance), `/external_accounts` (bank destinations for offramps). All write operations should be idempotent — pass `Idempotency-Key` on POSTs to safely retry. Verify the HMAC signature on every webhook before mutating state; events are at-least-once.
- ⚑Bridge requires partner onboarding and KYB before live API keys are issued — sandbox keys won't move real money but DO mirror the full flow.
- ⚑Virtual account minting is asynchronous: a fiat deposit produces a webhook event minutes later, not an immediate stablecoin balance. Build for async, not request/response.
- ⚑USDB (Bridge's stablecoin) is yield-bearing and rebases — accounting needs to track balance deltas, not just transfer events.
- ⚑Open Issuance (branded stablecoins) requires per-issuer reserve attestation and regulator approval; do not promise launch dates in your UI before Bridge signs off.
- ⚑Idempotency keys are scoped per endpoint — reusing the same key across two endpoints does NOT prevent duplicate operations.
- ⚑Bridge and Stripe Crypto Onramp are separate API surfaces despite the acquisition; the Stripe SDK does not cover Bridge endpoints.