Browse the docs

Funding Your Balance

Your prepaid balance is the money you have added to Moon but not yet put on a card. You fund it by bank transfer from your own business bank account: your organization gets its own receiving account details, you send a transfer to them, and the amount is credited to your prepaid balance once the transfer settles. From there you load cards, as described in Adding a balance.

How funding works

  1. Get your funding details. Each organization has its own receiving account details: an account and routing number for US transfers, a virtual IBAN for euro and international transfers, and a CLABE for transfers in Mexico.
  2. Send a transfer from your business bank account, quoting your reference.
  3. Moon matches and credits it. Each incoming transfer is matched to your organization by the account details and reference it was sent to, then added to your prepaid balance.
  4. You're told when it lands. A MOON_CREDIT_FUNDS_CREDITED webhook reports each credit, and GET /v1/api-gateway/moon-credit returns the new balance.

Get your funding details

Your funding details are in the dashboard under Settings, and the API returns them too:

cURL

curl --request GET \
     --url https://api.themooncard.com/v2/api-gateway/funding-instructions \
     --header 'accept: application/json' \
     --header 'x-api-key: YOUR_API_KEY'

JSON

{
  "currency": "USD",
  "reference": "MC-4F7K2Q",
  "account_holder_name": "Acme Inc.",
  "methods": [
    {
      "type": "us_bank_account",
      "rails": ["ach", "wire"],
      "bank_name": "Moon partner bank",
      "account_number": "000123456789",
      "routing_number": "123456789"
    },
    {
      "type": "iban",
      "rails": ["sepa", "swift"],
      "iban": "DE89370400440532013000",
      "bic": "PRTNDEFFXXX"
    },
    {
      "type": "clabe",
      "rails": ["spei"],
      "currency": "MXN",
      "clabe": "012345678901234567"
    }
  ]
}
FieldDescription
currencyThe currency of your prepaid balance. Transfers in another currency are converted to it.
referenceQuote it in the transfer's memo or remittance information so the transfer is matched straight away.
account_holder_nameThe name the receiving account is held under, as your bank should show it.
methodsOne entry per way to pay in: its type, the payment rails it accepts and the account details.

The details stay the same for your organization, so you can save them as a payee in your bank once.

Send a transfer

MethodSend fromTypical time to creditSend to
ACH creditA US business bank account1 to 2 business daysAccount and routing number
Wire (US)A US business bank accountSame business day, if received before the cut-offAccount and routing number
SEPA credit transferA euro business bank account1 business dayVirtual IBAN and BIC
International (SWIFT)A business bank account abroad1 to 5 business daysVirtual IBAN and BIC
SPEIA Mexican business bank accountUsually within minutesCLABE
  • Quote your reference. A transfer without it is still credited, but matching it can take longer.
  • Send from an account in your business's name. Transfers from a third party's account may be returned.
  • Fees. Your own bank and any intermediary bank may charge for the transfer; the amount credited is the amount that arrives. Moon's fees for funding, if any, are set out in your order form.

Know when funds land

Each credit to your prepaid balance sends a MOON_CREDIT_FUNDS_CREDITED webhook to your registered endpoint:

JSON

{
  "type": "MOON_CREDIT_FUNDS_CREDITED",
  "webhook_event_id": "d4e5f6a7-b8c9-0123-def0-234567890123",
  "data": {
    "amount": 25000.0,
    "id": "6f1d0a94-3b52-4c8e-9a17-5d2e8c4b0f31",
    "currency": "USD",
    "reference": "MC-4F7K2Q",
    "created_at": "2026-10-27T15:05:12.000Z",
    "deprecated_fields": []
  }
}

Read your balance at any time with GET /v1/api-gateway/moon-credit (or GET /v2/api-gateway/moon-credit); the amount is available to load onto cards as soon as the webhook arrives. See Webhooks for registering an endpoint and verifying signatures.

Fund a specific account (V2)

In V2, a transfer to your funding details credits your top-level organization's account. Move money to another account, such as a child organization's, with POST /v2/api-gateway/accounts/transfer; see Transfer funds between accounts.

Moving money back to your bank

Unused money on a card goes back to your prepaid balance when you move it off the card or close the card. To send money from your prepaid balance back to your business bank account, ask your account team; it is paid to the account your transfers came from.

In the Sandbox

The Sandbox has no real bank transfers. Ask your account team to credit test funds to your Sandbox balance, then load cards and simulate spending as described in Simulating card transactions.

Last updated October 27, 2026