Get Deposit Instruction
curl --request GET \
--url https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "<string>",
"account_id": "<string>",
"currency": "<string>",
"status": "<string>",
"beneficiary_name": "<string>",
"beneficiary_address": "<string>",
"bank_name": "<string>",
"bank_address": "<string>",
"account_name": "<string>",
"account_number": "<string>",
"iban": "<string>",
"swift_bic": "<string>",
"routing_number": "<string>",
"sort_code": "<string>",
"memo": "<string>",
"intermediary_bank_name": "<string>",
"intermediary_swift_bic": "<string>",
"supported_rails": [
{}
],
"created": "<string>",
"updated": "<string>",
"message": "<string>"
}Deposit Instructions
Get Deposit Instruction
Retrieve the default deposit instruction for one currency
GET
/
v1
/
accounts
/
{account_id}
/
deposit-instructions
/
{currency}
Get Deposit Instruction
curl --request GET \
--url https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/accounts/{account_id}/deposit-instructions/{currency}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "<string>",
"account_id": "<string>",
"currency": "<string>",
"status": "<string>",
"beneficiary_name": "<string>",
"beneficiary_address": "<string>",
"bank_name": "<string>",
"bank_address": "<string>",
"account_name": "<string>",
"account_number": "<string>",
"iban": "<string>",
"swift_bic": "<string>",
"routing_number": "<string>",
"sort_code": "<string>",
"memo": "<string>",
"intermediary_bank_name": "<string>",
"intermediary_swift_bic": "<string>",
"supported_rails": [
{}
],
"created": "<string>",
"updated": "<string>",
"message": "<string>"
}Returns the account’s default instruction for one currency: the bank details a payer needs to fund the trading account in that currency.
This endpoint covers fiat deposits only. To receive crypto, create a wallet. See the Deposit Flows guide for the full picture.
Requires an API key with
read access on the accounts scope.
Which instruction you get
Dedicated-account instructions come before memo-routed instructions, and within each kind the oldest first. An account that holds several instructions for one currency, across providers or a mix of both kinds, sees only the default; List Deposit Instructions returns all of them.Path Parameters
string
required
The account’s external ID (starts with
acct_)string
required
A currency code the API supports, for example
USD, EUR or GBP. A code outside the supported set is rejected with 422; it does not produce the unavailable object below.Response
Two shapes come back, both with HTTP200: the instruction when the account has one for that currency, and an unavailable object when it does not. Branch on status.
When available
string
Unique identifier for this deposit instruction. Dedicated-account instructions use
fi_…; legacy records may use va_…. Shared-account instructions use di_…. Check memo to determine whether a payment reference is required.string
Always returns
"deposit_instruction"string
The account these instructions belong to (starts with
acct_)string
The requested currency code
string
Always returns
"active" on this shape. A revoked source is never returnedstring
Name the payer should address the payment to. Nullable.
string
Address of the beneficiary. Nullable.
string
Name of the receiving bank. Nullable.
string
Address of the receiving bank. Nullable.
string
Name on the receiving bank account. Nullable.
string
Bank account number. Nullable.
string
International Bank Account Number. Nullable.
string
SWIFT/BIC code of the receiving bank. Nullable.
string
Routing number, for US rails. Nullable.
string
Sort code, for UK rails. Nullable.
string
Payment reference required for shared-account instructions. The payer must include the returned value exactly.
null for dedicated-account instructions.string
Name of the intermediary bank, when the partner requires one for correspondent routing. Nullable.
string
SWIFT/BIC of the intermediary bank. Nullable.
array
Payment rails this instruction accepts. Values:
ach, fedwire, swift, sepa, spei, pix, faster_payments.string
ISO 8601 timestamp when created
string
ISO 8601 timestamp when last updated, or
nullWhen unavailable
Returned with HTTP200, not 404, when the account has no instruction for a currency the API otherwise supports.
string
Always returns
"deposit_instruction"string
The requested currency code
string
Always returns
"unavailable"string
Human-readable explanation
Errors
| Status | code | When |
|---|---|---|
422 | VALIDATION_ERROR | {currency} is not a currency code the API supports |
Response Examples
Available
{
"id": "fi_2d8b4f6a0c3e791b5d2a8f4c",
"object": "deposit_instruction",
"account_id": "acct_9f2a7c1e6a2b4f3c9b8d2e5a",
"currency": "USD",
"status": "active",
"beneficiary_name": "Hop Innovations Inc",
"beneficiary_address": "123 Main St, New York, NY 10001",
"bank_name": "Partner Bank",
"bank_address": "456 Wall St, New York, NY 10005",
"account_name": "Hop Innovations Inc",
"account_number": "1234567890",
"iban": null,
"swift_bic": "CHASUS33",
"routing_number": "021000021",
"sort_code": null,
"memo": null,
"intermediary_bank_name": null,
"intermediary_swift_bic": null,
"supported_rails": ["ach", "fedwire"],
"created": "2026-01-01T00:00:00Z",
"updated": "2026-01-01T00:00:00Z"
}
Unavailable
{
"object": "deposit_instruction",
"currency": "JPY",
"status": "unavailable",
"message": "Deposit instructions are not yet available for this currency. Please contact support."
}