> ## Documentation Index
> Fetch the complete documentation index at: https://direct-api.reap.global/llms.txt
> Use this file to discover all available pages before exploring further.

# Funding methods

> Funding options tells you what your business can use; funding instructions returns fresh bank details or a wallet address for the method you chose.

Two calls drive funding. Always start with
[Get funding options](/api-reference/treasury/list-treasury-funding-options.md), which
lists the products, methods, networks and currencies **your business** can
use; never hard-code them. Then call
[Get funding instructions](/api-reference/treasury/get-treasury-funding-instructions.md)
with the `product`, `type` (`CRYPTO` or `BANK_TRANSFER`) and `network` you
picked. `network` is always required: a crypto network (`ETHEREUM`,
`POLYGON`, `SOLANA`, `TRON`, `HYPERLIQUID`) or a bank rail (`FPS`, `CHATS`).
`currency` is sent in addition for bank transfers.

## Crypto funding (`type: "CRYPTO"`)

| Rule | Detail |
| - | - |
| Networks | `ETHEREUM`, `POLYGON`, `SOLANA`, `TRON`, `HYPERLIQUID` (HyperEVM) |
| Currencies | USDC and USDT on Ethereum, Polygon and Solana; USDC only on HyperEVM; USDT only on TRON. Ethereum also supports USDe. |
| Minimum | USDC/USDT 2.00 |
| Credit time | About 5 minutes on-chain |
| Status | `READY` returns `address`; `IN_PROGRESS` means the wallet is still being created, so retry after `retryAfterSeconds` |

Send only on the requested network, in a supported currency, above the
minimum; anything else can't be credited automatically.

## Bank funding (`type: "BANK_TRANSFER"`)

For supported currencies and how fiat funding works end to end, see
[How to add funds to your Reap Account?](https://support.reap.global/hc/en-us/articles/16170706183567-How-to-add-funds-to-your-Reap-Account) in the Help
Center.

| Rule | Detail |
| - | - |
| Available for | `CARD` product only; `network` is `FPS` or `CHATS`, and `currency` is sent in addition (`HKD` via `FPS`, `USD` via `CHATS`) |
| Reference ID | A fresh `IBM-XXXXXX` reference is generated on every call. Put it in the transfer's remarks |
| Reconciliation | Starts once the funds land in Reap's bank account. With the Reference ID in the remarks: automatic, within a few minutes. Without: the Reap team reconciles the funds manually, which can take 1 to 2 business days |
| Account name | Send from an account in your business's registered name |
| `expiresAt` | Currently always `null`. References don't expire, but re-fetch instructions before each transfer anyway |

The instructions response includes the bank details to send to: account
name, account number, bank code and similar fields, plus the `referenceId`.

## Confirm the transfer

After sending a bank transfer, call
[Confirm bank transfer](/api-reference/treasury/confirm-a-bank-transfer.md) with
the `referenceId` and `amount`, and an `Idempotency-Key`. Confirmation tells
Reap a transfer is on its way; it does not reconcile or credit anything.
The funds are reconciled once they land in Reap's bank account.
Each confirmation is recorded under the person who created the API key.

| Response | What to do |
| - | - |
| `400 DUPLICATE_REFERENCE` | Already confirmed, so check Treasury history first. Never resubmit under a new reference |
| `403 TREASURY_REQUESTER_NOT_AVAILABLE` | The key's creator is no longer an approved team member, so create a key under a current member |
| `400 FUNDING_METHOD_NOT_AVAILABLE` | That product/network/currency isn't available for your business; use a method from funding options |

## Related endpoints

* [Get funding options](/api-reference/treasury/list-treasury-funding-options.md) ·
  [Get funding instructions](/api-reference/treasury/get-treasury-funding-instructions.md)
* [Confirm bank transfer](/api-reference/treasury/confirm-a-bank-transfer.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.