- Top-Up: The Cards API will automatically create a wallet for each card, as well as any number of deposit addresses on various chains with which funds can be transferred to the card.
- Bridge Custodial Wallet: Funds are pulled from a Bridge wallet created through the Bridge Wallets API. This requires setting up and funding a Bridge wallet through the Wallets API, and subsequently providing the wallet address to the Cards API.
- Non-Custodial: Funds are pulled from a non-custodial wallet each time a card is swiped. The wallet must approve or allow Bridge’s cards smart contract to spend an amount of the specified token from that wallet before the card account can be used.
Comparing Funding Strategies
Below is a table that compares the functional tradeoffs of each funding strategy.| Funds In | Funds Out | Webhooks | |
|---|---|---|---|
| Top-up | You fund the card by sending stablecoins to the deposit address provided in the funding_instructionsfield of the card account. | Funds are held within the top-up wallet until you physically move it out using the withdrawal endpoint. | Webhook events are published whenever the balance changes in the top-up balance. |
| Bridge Wallet | You fund the Bridge wallet directly using any available funding method available in the Wallets API. Funds will be debited from the Bridge wallet upon use. | Excess funds will be returned automatically to the Bridge wallet, and can be transferred out using any withdrawal method provided in the Wallets API. | Card account webhooks are not published when a Bridge wallet’s balance changes. |
| Noncustodial | Your wallet signs an approval or allowance to let Bridge’s smart contract spend from it. Bridge pulls funds from your external wallet at the time of card authorization. | Excess funds will be returned automatically to the external wallet. | Bridge does not automatically keep track of the balance of a non-custodial wallet. Card account webhook events are published when excess funds are recorded or returned to the non-custodial wallet. |
