Skip to main content
Time to complete: 10-15 minutes
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.
For user onboarding, use a KYC Link or the API flow described in Quickstart and Users.

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 returned externalCardId for future push-to-card payouts to that card.

Create Counterparty

Create a counterparty for the recipient under the verified user. External card counterparties require phoneNumber, email, and address.
Save the returned counterparty 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.
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.
Card details are submitted once to create a provider token. Store the returned id, not the raw card number.

Send Payout

Send a payout by creating an offramp quote to the registered card, then accepting the quote.

Create Payout Quote

Create an offramp with destination.externalCardId. Provide exactly one source wallet identifier (source.walletId or source.externalWalletId) and exactly one amount (source.amount or destination.amount).
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.
When the quote is accepted, HIFI starts the transfer flow.

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 handle OFFRAMP.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.
Common statuses include:
string
Stablecoin conversion transaction hash, when available.
object
Fiat payout tracking details, when available from the card payout provider.

Notes

  • Use destination.externalCardId for push-to-card offramps. Do not include destination.externalAccountId in 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.
  • requestId is idempotent for creating offramps. Reusing the same requestId for a different transfer will return a conflict.