Push to card

Push to card sends funds from a Moov wallet to a Visa or Mastercard debit or prepaid card. Most eligible cards receive funds within 30 minutes, 24/7/365.

Before you start

  • Moov has approved your account for push to card. The source account needs send-funds.push-to-card for disbursements to others, or wallet.balance for transfers to its own card (see use cases).
  • The source wallet has enough availableBalance to cover the payout and any payout fee
  • The recipient has the transfers capability and a linked card that is eligible
To push funds to a recipient's card via Apple Pay or Google Pay, use the push-to-apple-pay or push-to-google-pay payment methods.
Push to card funds flow diagram

Use cases

Moov supports push transfers for two use cases: merchant settlement and funds disbursement. Moov will configure the source account depending on your use case:

Merchant settlement is commonly used by businesses that are looking to access their funds faster through a self-to-self transfer from their wallet to a card. If you're using push to card for merchant settlement, the source account must have the wallet.balance capability enabled.

Funds disbursement enables real-time transfers to another account. Some funds disbursement examples include gig economy payouts, insurance disbursements, corporate rebates, payroll, government, or reimbursements. If you're using push to card for funds disbursement, the source account must have the send-funds.push-to-card capability enabled.

With a PCI attestation of compliance on file with Moov, use the card metadata endpoint to check whether a card is debit or prepaid.

Check card eligibility

Link the recipient's card with the card link Drop, or with the link a card endpoint if you have a PCI attestation on file with Moov. Then check the card's domesticPushToCard field with the retrieve a card endpoint.

curl -X GET "https://api.moov.io/accounts/{accountID}/cards" \
  -H 'Authorization: Bearer {token}' \
  -H "x-moov-version: v2026.07.00"

The domesticPushToCard field describes the push to card timing that is available for the card, if supported:

Timing Description
fast-funds Funds will be available to the destination within 30 minutes or less of the authorization.
standard Fast funds is not supported on this card. Transfer will follow standard card settlement timing.
not-supported This card is ineligible for push-to-card payments. Contact your issuer for more details.
unknown Eligibility has not been checked or is unknown.

Send a push-to-card payout

You can simulate push to card transfers in test mode using specific test cards.

The recipient's card gets a push-to-card payment method when the account has the transfers capability, the card's domesticPushToCard is fast-funds or standard, and Moov has approved your account for push to card. The per-transfer maximum is in transfer limits.

Initiate the transfer

Create a transfer with the sender's moov-wallet payment method as the source and the recipient's push-to-card payment method as the destination.

curl -X POST "https://api.moov.io/accounts/{accountID}/transfers" \
  -H "Authorization: Bearer {token}" \
  -H "x-idempotency-key: UUID" \
  -H "X-Wait-For: rail-response" \
  -H "x-moov-version: v2026.07.00" \
  --data-raw '{
    "amount": {
      "value": 100,
      "currency": "USD"
    },
    "destination": {
      "paymentMethodID": "string"
    },
    "source": {
      "paymentMethodID": "string"
    },
    "description": "Optional transaction description."
  }'

Choose payout fees (optional)

For push-to-card payouts, you can pass the payout fee to the recipient with feePaidBy. If you don't, the funding wallet (source) pays it.

Track transfer status

Subscribe to the transfer.updated webhook event, or retrieve the transfer with the GET endpoint, and read destination.cardDetails.status:

destination.cardDetails.status Meaning
initiated Transfer created, awaiting authorization
completed The issuer approved the credit. fast-funds cards are credited within 30 minutes; standard cards follow card settlement timing.
failed The issuer declined or processing failed. See cardDetails.failureCode and error responses.
curl -X GET "https://api.moov.io/accounts/{accountID}/transfers/{transferID}" \
  -H "Authorization: Bearer {token}" \
  -H "x-moov-version: v2026.07.00"

Defer delivery

To deliver a push-to-card payout later, set destination.cardDetails.scheduledDeliveryOn on the create transfer request to a time 24 to 48 hours in the future. In test mode, any future time up to 48 hours works. Deferred payouts can have a different payout fee than instant ones.

{
  "destination": {
    "paymentMethodID": "{pushToCardPaymentMethodID}",
    "cardDetails": {
      "scheduledDeliveryOn": "2026-11-04T15:00:00Z"
    }
  }
}

Velocity limits

Moov has a transfer limit of $50,000 per push to card transaction. Each card fingerprint can also receive a limited number and amount of push to card payouts over time, set by Visa and Mastercard. Moov may set lower limits for your approved use case.

Window Maximum per card
1 day 150 transfers or $100,000
7 days 250 transfers or $250,000
30 days 750 transfers or $500,000

Error responses

Amount limit: If you have exceeded the amount limit, you'll receive a 400 error response. You can retry the transfer with a lower amount.

Velocity limits: If you have exceeded the velocity limits, push to card transfers will fail. The transfer status will be failed and the failure reason will be rejected-high-risk.

Issuer limits: If you have exceeded issuer limits, the transfer status will be failed and the failure reason will be destination-payment-error. Contact the issuer if you require guidance on specific issuer limits.

The decline code is in destination.cardDetails.failureCode on the retrieve a transfer and list transfers responses.

You'll also receive a 400 error response if your account is not enabled for disbursement. If you need to enable disbursement, please contact Moov so we can configure your account accordingly.

When a payout fails or is reversed

If a push-to-card payout fails, is canceled, or is reversed, the full transfer amount and payout fee return to the source wallet. See payout fees.

Next steps