Skip to main content
POST
/
cards
/
{cardId}
/
fund
Fund Card
curl --request POST \
  --url https://api.fyatu.com/api/v3/cards/{cardId}/fund \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "amount": 50,
  "reference": "my-order-12345"
}
'
{ "success": true, "status": 200, "message": "Card funded successfully", "data": { "cardId": "crd_8f3a2b1c4d5e6f7890abcdef12345678", "amountFunded": 50, "fee": 0.5, "reference": "my-order-12345" }, "meta": { "requestId": "req_a1b2c3d4e5f6", "timestamp": "2026-01-17T10:00:00+00:00" } }

Overview

Add funds to a card from your business wallet. A funding fee may apply based on your pricing configuration.

Path Parameters

ParameterTypeDescription
cardIdstringThe unique card identifier

Request Body

FieldTypeRequiredDescription
amountnumberYesAmount to fund in USD (must be greater than 0)
referencestringNoYour unique reference for this operation. Defaults to cardId if not provided. Returned in webhooks for easy reconciliation.

Example Usage

<?php
$cardId = 'crd_8f3a2b1c4d5e6f7890abcdef12345678';
$data = [
    'amount' => 50.00,
    'reference' => 'my-order-12345'  // Optional: your unique reference
];

$ch = curl_init("https://api.fyatu.com/api/v3/cards/{$cardId}/fund");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $accessToken,
        'Content-Type: application/json'
    ],
    CURLOPT_POSTFIELDS => json_encode($data)
]);

$response = curl_exec($ch);
$result = json_decode($response, true);

if ($result['success']) {
    echo "Funded: $" . $result['data']['amountFunded'] . "\n";
    echo "New Balance: $" . $result['data']['newBalance'] . "\n";
    echo "Reference: " . $result['data']['reference'] . "\n";
}

Error Responses

StatusError CodeDescription
400CARD_NOT_ACTIVECard is not active (frozen, suspended, or terminated)
400INSUFFICIENT_BALANCEBusiness wallet balance is too low
400CARD_FROZENCard is frozen at bank partner (auto-syncs local status)
400CARD_TERMINATEDCard has been terminated (auto-syncs local status)
500DEBIT_FAILEDFailed to debit from business wallet
500FUNDING_FAILEDFailed to fund card at the bank partner
A funding fee (CARD_FUNDING_FEE) may apply. Use the Get Pricing endpoint to retrieve your current rates.

Authorizations

Authorization
string
header
required

JWT access token obtained from /auth/token

Path Parameters

cardId
string
required

Body

application/json
amount
number
required

Amount to fund in USD (min $5)

Required range: x >= 5
reference
string

Your unique reference for this operation. Defaults to cardId if not provided.

Maximum string length: 100

Response

Card funded successfully

success
boolean
Example:

true

status
integer
Example:

200

message
string
data
object
meta
object