Talk to usGet started
Wallet

Top up by bank transfer

Declare a transfer and get the account to send it to, with a reference code for the memo. The money is pending until it lands.

POST/v1/wallet/bank-transfers
Live API. A POST to /v1/cards issues a real card.
Authorizations
Authorizationstringrequired
Bearer token: Authorization: Bearer mk_live_.... Create a key in the AgentPay console under Developer, API keys.
Bodyapplication/json
amountnumberrequired
The amount in the transfer currency, above zero.
railstringdefault: ach
Which account to send to.
Available options: ach, wire_domestic, wire_international, uae_local
currencystring
USD, or AED for uae_local. Defaults by rail.
sent_onstring
yyyy-MM-dd, the day the transfer was sent.
sender_bank_namestring
What the statement will show, so the transfer is matched faster.
sender_account_namestring
sender_referencestring
idempotency_keystring
Your own key, up to 80 characters. A retry returns the same declaration.
Response200application/json
funding_event_idstring
statusstring
pending until the money lands.
already_recordedboolean
true when the idempotency_key matched an earlier declaration.
amountnumber
currencystring
railstring
reference_codestring
Eight characters. Goes in the transfer memo.
pending_balancenumber
The wallet's pending after this declaration.
instructionsobject
The account to send to. Show it to the person as it is. Fields depend on the rail: beneficiary_name, account_number, routing_number or swift_bic, iban, bank_name, bank_address, beneficiary_address, reference, note.
request_idstring
The request id, also in the X-Mooj-Request-Id header.
Errors
StatusCodeWhen
400invalid_amountamount is missing or not above zero.
400invalid_requestrail is not one of the four, or the declaration was refused as malformed.
402wallet_limitThe transfer would take the wallet above its ceiling.
402funding_budget_reachedThe account's funding budget for the period is reached.
402funding_unavailableTop-ups are paused for the moment.
502bank_transfer_failedThe declaration could not be recorded. Retry.