POST
/api/v2/crypto-virtual-accounts/equalsmoney-depositsDeposit crypto into an EqualsMoney budget through the crypto on/off-ramp
Creates an asynchronous crypto-to-fiat deposit. Hoppa returns a the crypto on/off-ramp funding instruction, monitors conversion and settlement into the configured platform EqualsMoney account, then transfers the settled fiat to the target user's EqualsMoney budget. Send a stable Idempotency-Key when retrying the same deposit.
Authentication
Send your API key in the x-api-key header on every request.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| Idempotency-Key (header) | string | Yes | Stable caller-generated key used to return the original operation when the same request is retried. |
Request body
application/json
| Field | Type | Required | Description |
|---|---|---|---|
| UserId | unknown | No | |
| CryptoCurrency | USDC | USDT | Yes | Crypto asset deposited into the user's the crypto on/off-ramp virtual account. Possible values: USDC, USDT. |
| CryptoAmount | string | Yes | Positive decimal amount encoded as a string; do not send a JSON floating-point number. |
| ChainId | 1 | -200 | 137 | 42161 | No | the crypto on/off-ramp chain IDs: Ethereum 1, Tron -200, Polygon 137, Arbitrum 42161. Possible values: 1, -200, 137, 42161. |
| FiatCurrency | USD | EUR | GBP | Yes | Settlement currency must be enabled in the company provider configuration. Possible values: USD, EUR, GBP. |
| TargetBudgetId | string | No | Optional EqualsMoney budget to credit. When omitted, the service selects the user's budget that supports FiatCurrency. |
| BoomFiAccountId | string | No | Optional the crypto on/off-ramp virtual parent account ID override. Normally omit it so Hoppa resolves the user's linked the crypto on/off-ramp account. |
| BoomFiAccountReference | string | No | Optional the crypto on/off-ramp account_reference override. Normally omit it so Hoppa resolves the user's linked the crypto on/off-ramp account. |
Responses
202 — Accepted
| Field | Type | Required | Description |
|---|---|---|---|
| Id | unknown | No | |
| Status | string | No | |
| UserId | unknown | No | |
| TargetBudgetId | string | No | |
| CryptoCurrency | string | No | |
| CryptoAmount | string | No | |
| ChainId | unknown | No | |
| FiatCurrency | string | No | |
| EstimatedFiatAmount | string | No | |
| SettledFiatAmount | string | No | |
| DepositInstruction | object | No | |
| BoomFiOrderId | string | No | |
| BoomFiOrderStatus | string | No | |
| BoomFiSettlementStatus | string | No | |
| EqualsTransferId | string | No | |
| FailureMessage | string | No | |
| CreatedAt | string (date-time) | No | |
| CompletedAt | string (date-time) | No |
400 — Bad Request
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
404 — Not Found
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
Example request
curl -X POST "https://{base_url}/api/v2/crypto-virtual-accounts/equalsmoney-deposits" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"CryptoCurrency":"…","CryptoAmount":"…","FiatCurrency":"…"}'This page is generated from the live OpenAPI specification and always matches the current API.