---
title: "Get deposit instructions"
method: GET
path: "/v0/accounts/{accountId}/deposit-instructions"
tags: ["Accounts"]
---

# Get deposit instructions

`GET /v0/accounts/{accountId}/deposit-instructions`

## Request

- Base URL: `https://distributor-api.spiko.io`
- URL: `https://distributor-api.spiko.io/v0/accounts/{accountId}/deposit-instructions`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/spiko/apis/spiko-distributor-api/docs/v0/accounts/:accountId/deposit-instructions/get.ts> (a function with typed inputs; its response is checked against the schema)

**Retrieve deposit instructions for a given account, share class, and subscription currency.**

Returns a list of virtual bank accounts, each with its supported payment rails. An empty list means the share class cannot be funded by bank transfer in `subscriptionCurrency` on this account: the account has no active line on the share class, no virtual bank account is provisioned, or the share class does not accept deposits in that currency.

When `subscriptionCurrency` differs from the share class currency, the deposit is routed in one of two ways depending on the fund:
- Share classes listing `subscriptionCurrency` in their `intermediaryShareClasses` (for example `USTBL` and `UKTBL` in `EUR`): the virtual IBAN is provisioned on the account's line on the requested share class itself, so no line on the intermediary share class is needed.
- `SAFO` share classes: the instructions point to the investor's virtual bank account on the share class of the same fund denominated in `subscriptionCurrency` (a `SAFOd` deposit in `EUR` is funded through the `eurSAFOd` virtual IBAN). The request fails with `NoDepositAccountInCurrencyError` (422) when that share class is not available to the distributor, or when the account has no virtual IBAN on it.

Each entry includes payment informations and supported rails:
- `SCT` / `SCT Instant` - SEPA Credit Transfer (EUR)
- `Faster Payments` / `CHAPS` / `BACS` - UK local transfers (GBP); also includes `gbpLocalDetails` with sort code and account number
- `SWIFT` - international wire

The response also lists stablecoin deposit accounts under `stablecoinDepositAccounts`: one deposit address per supported network, provisioned on demand the first time instructions are requested. Each address accepts every stablecoin listed in its `stablecoins` field (independent of `subscriptionCurrency`); sending a supported stablecoin to it automatically creates and funds a subscription. An empty list means stablecoin deposits are not available for this account and share class (the feature requires an organization, or an individual with a tax identification number on file, on supported share classes).

## Path parameters

- `accountId` string, uuid, required: a Universally Unique Identifier

## Query parameters

- `shareClassId` string, uuid, required: a Universally Unique Identifier
- `subscriptionCurrency` 'EUR' | 'USD' | 'GBP' | 'CHF' | 'JPY' | 'SGD' | 'SEK' | 'NOK' | 'DKK' | 'PLN' | 'HUF' | 'CZK', required: a currency code among "EUR", "USD", "GBP", "CHF", "JPY", "SGD", "SEK", "NOK", "DKK", "PLN", "HUF", "CZK"

## Response `200`

Success

- object
  - `shareClassCurrency` 'EUR' | 'USD' | 'GBP' | 'CHF' | 'JPY' | 'SGD' | 'SEK' | 'NOK' | 'DKK' | 'PLN' | 'HUF' | 'CZK', required: a currency code among "EUR", "USD", "GBP", "CHF", "JPY", "SGD", "SEK", "NOK", "DKK", "PLN", "HUF", "CZK"
  - `accounts` object[], required
    - `accountDetails` union, required
      - object
        - `sortCode` string, required
        - `accountNumber` string, required: a valid UK Bank Account Number (8 digits)
      - object
        - `iban` string, required: a valid IBAN (International Bank Account Number)
        - `bic` string, required: A valid BIC (Bank Identifier Code)
        - `intermediaryBic` string, nullable, required: A valid BIC (Bank Identifier Code)
    - `bankName` string, required
    - `beneficiaryName` string, required
    - `rails` string[], required
  - `stablecoinDepositAccounts` object[], required
    - `network` 'Ethereum' | 'Polygon' | 'Base' | 'Arbitrum' | 'ArbitrumUk' | 'Etherlink' | 'Starknet' | 'Stellar' | 'Solana', required: a blockchain network e.g. "Ethereum", "Polygon", "Arbitrum", "Starknet"
    - `address` union, required
      - string
      - string
      - string
      - string
      - string: a valid Solana address, consisting of 32 to 44 base58 characters
    - `stablecoins` string[], required

## Other responses

- `400`: The request did not match the expected schema
- `401`: Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ "error": { "code", "status", "request", "message" } }` when the API gateway rejects them first. Only the former carries a `_tag`.
- `403`: Forbidden
- `404`: NotFound
- `422`: The account has no virtual IBAN in the requested currency to receive this deposit
- `503`: The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.

## Changes

- **2026-11-09** `1f76a401300c`: 4 info
  - removed the `Banking Circle` enum value from the `accounts/items/bankName` response property for the response status `200`
  - removed the `CACEIS` enum value from the `accounts/items/bankName` response property for the response status `200`
  - removed the `HSBC` enum value from the `accounts/items/bankName` response property for the response status `200`
  - removed the `Memo Bank` enum value from the `accounts/items/bankName` response property for the response status `200`

[Operation history](https://skmtc.dev/spiko/apis/spiko-distributor-api/changes/v0/accounts/:accountId/deposit-instructions/get.md)

---

[API](https://skmtc.dev/spiko/apis/spiko-distributor-api.md) - [All operations](https://skmtc.dev/spiko/apis/spiko-distributor-api/llms.txt) - [OpenAPI document](https://skmtc.dev/spiko/apis/spiko-distributor-api/revisions/dd06889f4c79?raw)
