Simulator

Add funds to an account (sandbox only)

POST/simulator/accounts/{accountId}/deposits

Sandbox only. In production this path does not exist and answers 404.

Credits one of your fiat accounts as a bank transfer arriving on it does, through the same path a real deposit takes: the account's transactions show a deposit, and its balance rises by the amount less the deposit fee your pricing sets, if any. There is no deposit event, so no webhook is sent.

amount.currency must be the account's currency, or the request is currency_mismatch. A crypto account cannot be funded this way: unsupported_currency.

Always 202 with the account as it stands; the credit follows asynchronously. Read GET /accounts/{accountId}/transactions?type=deposit, or the account's balance. An account that cannot take the credit — one that is not active — is not credited, and nothing reports it.

Authentication
ApiKeyAuth
Execution
asynchronous

Parameters

  • accountIdstringpathrequired
    Opaque account identifier. Treat as a string; never parse or construct it.

    Example: acc_AAAAAAAAAAc

    pattern ^acc_[A-Za-z0-9_-]{11}$

  • Idempotency-Keystringheaderrequired
    Client-generated unique key for this logical request (UUID recommended). See Idempotency.

    min length 1 · max length 255

Request body application/jsonrequired

  • amountMoneyrequired
    What arrives, in the account's currency.
    • valuestringrequired

      Example: 149.90

      pattern ^-?\d{1,18}(\.\d{1,18})?$

    • currencystringrequired
      ISO 4217 code for fiat (EUR), asset ticker for crypto (USDT).

      Example: EUR

      pattern ^[A-Z0-9]{3,10}$

Responses

The account as it stands. The credit follows asynchronously.

Headers

  • Locationstring (uri-reference)
    The resource URL to poll for the current state (RFC 9110 §15.3.3 status monitor).
  • X-Request-Idstring
    The request's trace id: the same value a problem body carries as traceId. Quote it when you contact support. A replayed response (Idempotent-Replayed: true) carries the replay's own; its body keeps the original request's traceId.
  • RateLimit-Limitinteger
  • RateLimit-Remaininginteger
  • RateLimit-Resetinteger
    Seconds until the window resets.
  • Idempotent-Replayedboolean
    true when this response was replayed from an earlier request with the same Idempotency-Key.

Schema application/json

  • idstringrequired
    Opaque account identifier. Treat as a string; never parse or construct it.

    Example: acc_AAAAAAAAAAc

    pattern ^acc_[A-Za-z0-9_-]{11}$

  • namestringrequired
    Display name set in the portal.
  • currencystringrequired
    ISO 4217 code for fiat (EUR), asset ticker for crypto (USDT).

    Example: EUR

    pattern ^[A-Z0-9]{3,10}$

  • typestringrequired

    Allowed values: fiatcrypto

  • statusstringrequired
    pending awaiting activation · active · frozen (also covers restricted) · closed (also closing).

    Allowed values: pendingactivefrozenclosed

  • balanceany of
    Ledger balance including holds. null when the balance could not be read at this moment.

    Any of

    Money

    Decimal amount as a string — never a float, never minor units. An amount you send may carry no more decimal places than its currency has (and never more than 8); trailing zeros do not count, so 10.100 EUR is fine and 10.123 EUR is 400 validation_failed on amount.value. An amount the API returns is written with exactly as many decimal places as its currency has (at most 8): 10.10 EUR, never 10.1.
    • valuestringrequired

      Example: 149.90

      pattern ^-?\d{1,18}(\.\d{1,18})?$

    • currencystringrequired
      ISO 4217 code for fiat (EUR), asset ticker for crypto (USDT).

      Example: EUR

      pattern ^[A-Z0-9]{3,10}$

    any

  • availableBalanceany of
    What you can spend now. null when the balance could not be read at this moment.

    Any of

    Money

    Decimal amount as a string — never a float, never minor units. An amount you send may carry no more decimal places than its currency has (and never more than 8); trailing zeros do not count, so 10.100 EUR is fine and 10.123 EUR is 400 validation_failed on amount.value. An amount the API returns is written with exactly as many decimal places as its currency has (at most 8): 10.10 EUR, never 10.1.
    • valuestringrequired

      Example: 149.90

      pattern ^-?\d{1,18}(\.\d{1,18})?$

    • currencystringrequired
      ISO 4217 code for fiat (EUR), asset ticker for crypto (USDT).

      Example: EUR

      pattern ^[A-Z0-9]{3,10}$

    any

  • ibanstring
    Present for fiat accounts with a dedicated IBAN.
  • bicstring
    Present together with iban.
  • networksarray<object>
    Crypto accounts only — the active networks the asset can be paid out on. Send network (or networkCode) as destination.network of a crypto_wallet payout.
    • networkstringrequired
      Chain code.

      Example: TRX

    • namestringrequired

      Example: Tron

    • networkCodestringrequired
      Token standard.

      Example: TRC20

  • isDefaultbooleanrequired
    Your default account in this currency: the one debited when a payout, transfer or exchange leaves its account id out. At most one per currency.
  • createdAtstring (date-time)required
    RFC 3339, UTC, with millisecond precision.

    Example: 2026-09-18T10:15:30.123Z

  • updatedAtstring (date-time)required
    Currently the creation time (account modifications are not tracked yet).

    Example: 2026-09-18T10:15:30.123Z