Getting the bank details
CallGET /fiat-deposits/bank-details. The response carries the beneficiary name and address, the account number, the bank name and address, the SWIFT code, and the domestic bank and branch codes.
The reference belongs to your business rather than to a single transfer, so it is the same every time.
Send the transfer in the billing currency of your card program. That is the currency the master account is credited in.
Read the bank details fresh before each transfer rather than storing them. A bank can close an account, and a transfer sent to a closed account has to be recalled.
FIAT_DEPOSITS_NOT_ENABLED means the capability is off for the project; talk to Reap to have it turned on.
What happens after you send
The bank settles the transfer, and Reap credits the master account balance. You then receive a FIAT_DEPOSIT_CREATED webhook, and the balance endpoint reflects the new amount. A bank transfer carries no deposit fee. Timing depends on the rail and the sending bank. A domestic transfer usually settles the same day. An international one can take two or three business days.Unlike a crypto deposit, a bank transfer becomes visible to you only once it is settled and credited. There is no earlier status to poll for, so a transfer you have sent but not yet seen a webhook for is still with the banks.
Reading a deposit
Look one up withGET /fiat-deposits/:id, or list them alongside your other activity through the activities endpoint with type=FIAT_DEPOSIT.
Each deposit reports the transfer twice. amount and currency are what reached your balance. originalAmount and originalCurrency are what the bank recorded receiving.
transactionId is the bank’s own identifier for the transfer. Use it to reconcile a deposit against a bank statement.
Testing in sandbox
Bank transfers cannot be sent end to end in sandbox, so usePOST /simulation/fiat-deposits to create one. It returns the deposit it recorded, credits the balance, and fires the same webhook a real transfer would.
Pass the amount to credit and the currency you are sending. A currency your project does not accept is rejected with SIMULATION_UNSUPPORTED_CURRENCY, listing the ones it does. A sender name is generated unless you pass one, and the reference is left off unless you pass it.