Get Funding Instructions
curl --request GET \
--url https://api.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions"
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.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions', 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.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions",
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.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions"
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.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions")
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{
"status": 200,
"message": "Funding instructions retrieved successfully",
"success": true,
"data": {
"fundingInstructions": [
{
"currency": "NGN",
"method": "bank_transfer",
"status": "active",
"bankName": "Guaranty Trust Bank",
"accountNumber": "1238726395",
"accountName": "Beta Logistics LLC",
"routingNumber": null,
"swiftCode": null,
"bankAddress": null,
"reference": null,
"label": null,
"instructions": "Transfer NGN to the bank account below. Deposits are credited to the account's NGN wallet automatically."
},
{
"currency": "USD",
"method": "bank_transfer",
"status": "active",
"bankName": "Lead Bank",
"accountNumber": "8823410077",
"accountName": "Beta Logistics LLC",
"routingNumber": "021000021",
"swiftCode": "LEADUS33",
"bankAddress": null,
"reference": "store-amazon-uk",
"label": "Amazon UK",
"instructions": "Transfer USD to the bank account below. Deposits are credited to the account's USD wallet automatically."
},
{
"currency": "USDC",
"method": "crypto",
"status": "active",
"walletAddress": "0xAbC1234dEf5678901234567890aBcDeF12345678",
"network": "base",
"instructions": "Send USDC on the base network to the wallet address below. Deposits are credited to the account automatically after network confirmation."
}
],
"pending": [
{
"currency": "USD",
"state": "client_submitted",
"message": "A USD deposit account is being provisioned. Funding details become available once the provider approves."
}
]
}
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}Bank Accounts
Get Funding Instructions
Fetch deposit instructions for an account across its currencies
GET
/
accounts
/
{accountId}
/
funding-instructions
Get Funding Instructions
curl --request GET \
--url https://api.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions"
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.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions', 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.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions",
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.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions"
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.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/accounts/{accountId}/funding-instructions")
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{
"status": 200,
"message": "Funding instructions retrieved successfully",
"success": true,
"data": {
"fundingInstructions": [
{
"currency": "NGN",
"method": "bank_transfer",
"status": "active",
"bankName": "Guaranty Trust Bank",
"accountNumber": "1238726395",
"accountName": "Beta Logistics LLC",
"routingNumber": null,
"swiftCode": null,
"bankAddress": null,
"reference": null,
"label": null,
"instructions": "Transfer NGN to the bank account below. Deposits are credited to the account's NGN wallet automatically."
},
{
"currency": "USD",
"method": "bank_transfer",
"status": "active",
"bankName": "Lead Bank",
"accountNumber": "8823410077",
"accountName": "Beta Logistics LLC",
"routingNumber": "021000021",
"swiftCode": "LEADUS33",
"bankAddress": null,
"reference": "store-amazon-uk",
"label": "Amazon UK",
"instructions": "Transfer USD to the bank account below. Deposits are credited to the account's USD wallet automatically."
},
{
"currency": "USDC",
"method": "crypto",
"status": "active",
"walletAddress": "0xAbC1234dEf5678901234567890aBcDeF12345678",
"network": "base",
"instructions": "Send USDC on the base network to the wallet address below. Deposits are credited to the account automatically after network confirmation."
}
],
"pending": [
{
"currency": "USD",
"state": "client_submitted",
"message": "A USD deposit account is being provisioned. Funding details become available once the provider approves."
}
]
}
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}Returns the deposit (funding) instructions for an account — how to fund each of its currencies. Each entry is either fiat bank transfer details (NGN, USD, …) or a crypto deposit address. Any USD account still being provisioned by the provider is surfaced under
pending.
A client can hold several USD accounts, one per reference — each appears as its own entry, carrying the reference and label it was issued with, so you can hand the right details to the right source. Both are null on the client’s primary account.
Deposit accounts are provisioned once an account’s application is approved. Issue them with Issue Bank Account; they then appear here. You can also receive an
account.virtual_account.created webhook when one is added.Example Request
curl -X GET "https://api.rolla.xyz/api/v1/external/accounts/eec3cbed-79d8-4370-87a0-b6be9e287337/funding-instructions" \
-H "X-API-Key: your_api_key_here"
Example Response
{
"status": 200,
"message": "Funding instructions retrieved successfully",
"success": true,
"data": {
"fundingInstructions": [
{
"currency": "NGN",
"method": "bank_transfer",
"status": "active",
"bankName": "Guaranty Trust Bank",
"accountNumber": "1238726395",
"accountName": "Beta Logistics LLC",
"routingNumber": null,
"swiftCode": null,
"bankAddress": null,
"reference": null,
"label": null,
"instructions": "Transfer NGN to the bank account below. Deposits are credited to the account's NGN wallet automatically."
},
{
"currency": "USD",
"method": "bank_transfer",
"status": "active",
"bankName": "Lead Bank",
"accountNumber": "8823410077",
"accountName": "Beta Logistics LLC",
"routingNumber": "021000021",
"swiftCode": "LEADUS33",
"bankAddress": null,
"reference": "store-amazon-uk",
"label": "Amazon UK",
"instructions": "Transfer USD to the bank account below. Deposits are credited to the account's USD wallet automatically."
},
{
"currency": "USDC",
"method": "crypto",
"status": "active",
"walletAddress": "0xAbC1234dEf5678901234567890aBcDeF12345678",
"network": "base",
"instructions": "Send USDC on the base network to the wallet address below. Deposits are credited to the account automatically after network confirmation."
}
],
"pending": [
{
"currency": "USD",
"state": "client_submitted",
"message": "A USD deposit account is being provisioned. Funding details become available once the provider approves."
}
]
}
}
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
currency | string | No | Scope to a single currency (e.g. NGN, USD, USDC), 2 to 10 characters. Omit to return every funded currency. |
pending is only populated when currency is omitted or USD; it is empty once the USD account is live.Authorizations
Your Rolla API key
Path Parameters
Identifier of an account owned by the same user as your API key's business
Example:
"eec3cbed-79d8-4370-87a0-b6be9e287337"
Query Parameters
Scope to a single currency (e.g. NGN, USD, USDC). Omit to return every funded currency.
Required string length:
2 - 10Example:
"USD"