Skip to main content

Documentation Index

Fetch the complete documentation index at: https://apidocs.bridge.xyz/llms.txt

Use this file to discover all available pages before exploring further.

When creating a card via the Stripe API, you specify the source of funds using the crypto_wallet parameter. Bridge supports two funding strategies for the Stripe integration:
Strategycrypto_wallet[type]Description
NoncustodialstandardFunds pulled just-in-time from a wallet your customer controls. Requires an onchain approval to Bridge’s smart contract.
Bridge Walletbridge_walletFunds pulled from a Bridge-custodied wallet you manage via the Bridge API.
Stripe Financial AccountN/AFunds held in a Stripe-managed financial account. This is a Stripe-native feature that doesn’t require Bridge. See the Stripe Financial Accounts documentation for details.

Noncustodial

With the noncustodial strategy, Bridge pulls funds directly from a wallet controlled by your customer at the time of each card authorization. The customer (or your application) must first set up an onchain approval granting Bridge’s smart contract permission to spend from the wallet. Bridge supports direct pulls from noncustodial wallets on Tempo, Solana, Base, Linea, and we are continually adding support for more EVM chains. This strategy works well when your customers already hold stablecoin balances in their own wallets and you want them to spend directly without maintaining a separate card balance.
curl -X POST https://api.stripe.com/v1/issuing/cards \
  -u sk_live_…: \
  -d cardholder=ich_1234 \
  -d currency=usd \
  -d type=virtual \
  -d status=active \
  -d "crypto_wallet[chain]=tempo" \
  -d "crypto_wallet[currency]=usdc" \
  -d "crypto_wallet[type]=standard" \
  -d "crypto_wallet[address]=0x82f30B63C1784aA21b754ddbcE52d58B40FF0eBE"
For Solana, pass the wallet owner address—not the associated token account address. Bridge derives the token account automatically from the owner address and currency.
A wallet can only be linked to one card at a time. Setting up the onchain approval is described in the Noncustodial wallets guide.

Bridge Wallet

With the Bridge Wallet strategy, funds are pulled from a Bridge Wallet that you control via the Bridge API. You’re responsible for funding and managing the wallet balance. This strategy works well when you want centralized control over card balances or when integrating cards into an existing Bridge wallet product.
curl -X POST https://api.stripe.com/v1/issuing/cards \
  -u sk_live_…: \
  -d cardholder=ich_1234 \
  -d currency=usd \
  -d type=virtual \
  -d status=active \
  -d "crypto_wallet[chain]=solana" \
  -d "crypto_wallet[currency]=usdc" \
  -d "crypto_wallet[type]=bridge_wallet" \
  -d "crypto_wallet[address]=8gN8ioFOObaraWxRcb5p9QHxBSQG8fgHhE95LoAGZXCK"
The address is the address of the Bridge Wallet you want to fund the card from. Once the card is activated, Bridge debits the wallet balance at the time of each authorization.

Comparing strategies

NoncustodialBridge Wallet
Who controls the walletCustomer (or your app)You, via Bridge API
Onchain approval requiredYes—before first spendNo
Funds sourceCustomer’s external walletBridge-custodied wallet
Excess funds returned toExternal walletBridge Wallet
Balance trackingVia onchain state; Bridge doesn’t track external wallet balanceVia Bridge Wallets API
Best forCustomers spending from their own walletCentralized balance management

The crypto_wallet parameters

ParameterDescription
chainThe chain the wallet is on. For example: solana, base, world_chain.
currencyThe stablecoin to spend from, for example usdc. Separate from the top-level currency param (fiat billing currency, always usd). Contact Bridge to confirm your stablecoin is supported.
typestandard for noncustodial wallets, bridge_wallet for Bridge-custodied wallets.
addressThe wallet address. For Solana, use the owner address—not the associated token account address.