This guide uses the v3 API (
https://sandbox.hifibridge.com/v3). Sandbox
transactions are simulated and do not move real funds.Overview
With HIFI Push to card, you can convert stablecoins into fiat and deliver funds to an eligible recipient card. The workflow has three steps:1
Register card
Create a counterparty for the recipient, add their card, and save the
returned
externalCardId.2
Send payout
Create a push-to-card offramp with
destination.externalCardId, review the
quote, and accept it before expiration.3
Track payment
Use webhooks or the retrieve endpoint to follow the payment through card
payout processing.
Prerequisites
Before you start, make sure you have:- API keys from the Dashboard
- A verified HIFI user with KYC or KYB approved
- A funded HIFI or external wallet with USDC
- The recipient’s eligible card details
HIFI Push to card currently supports payouts to Visa cards globally through
Visa Direct.
Transaction Limits
The same limits apply to domestic and cross-border payouts, and are enforced separately per sender and per recipient.
Each individual push-to-card payout can be up to $15,000.
Register Card
Register the recipient card once, then reuse the returnedexternalCardId for future push-to-card payouts to that card.
Create Counterparty
Create a counterparty for the recipient under the verified user. External card counterparties requirephoneNumber, email, and address.
Response
Response
id. You will use it in the external card path.
Create External Card
Create an external card for the counterparty. HIFI tokenizes the card with the provider and returns an external card ID.Response
Response
string
External card ID. Use this value as
destination.externalCardId when sending the payout.string
Card status.
ACTIVE means the card can be used as an offramp destination.Send Payout
Send a payout by creating an offramp quote to the registered card, then accepting the quote.Create Payout Quote
Create an offramp withdestination.externalCardId. Provide exactly one source wallet identifier (source.walletId or source.externalWalletId) and exactly one amount (source.amount or destination.amount).
Response
Response
string
Offramp ID. Use this value to accept the quote and track the payment.
string
OPEN_QUOTE means the quote is ready to review and accept.string
The registered card destination for the push-to-card payout.
string
Quote expiration timestamp. Accept the quote before this time.
Accept Quote
After reviewing the quote, accept it to execute the payout.Response
Response
Track Payment
Track the payment with webhooks for real-time updates or poll the retrieve endpoint with the offramp ID.Listen for Webhooks
Subscribe to Offramp events and handleOFFRAMP.STATUS.* events. Use eventAction or the transfer status in the event data to update the payment in your system.
Retrieve Payment Status
Use the offramp ID returned when you created the payout quote.string
Stablecoin conversion transaction hash, when available.
object
Fiat payout tracking details, when available from the card payout provider.
Notes
- Use
destination.externalCardIdfor push-to-card offramps. Do not includedestination.externalAccountIdin the same request. - Push-to-card currently uses USD card payouts.
- External cards must be
ACTIVE. - The counterparty attached to the card must remain active.
requestIdis idempotent for creating offramps. Reusing the samerequestIdfor a different transfer will return a conflict.