Get Wallets
curl --request GET \
--url https://api.rolla.xyz/api/v1/external/wallet/wallets \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.rolla.xyz/api/v1/external/wallet/wallets"
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/wallet/wallets', 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/wallet/wallets",
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/wallet/wallets"
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/wallet/wallets")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/wallet/wallets")
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,
"success": true,
"message": "Business wallets retrieved successfully",
"wallets": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "NGN Wallet",
"currency": "NGN",
"balance": {
"availableBalance": 950000,
"postedBalance": 1000000,
"pendingBalance": 50000
},
"virtualAccounts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "active",
"virtual_account_type": "deposit",
"currency_type": "fiat",
"bank_name": "Wema Bank",
"account_number": "0123456789",
"account_name": "<string>",
"routing_number": "<string>",
"bank_address": {},
"swift_code": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"stablecoin_type": "USDT",
"wallet_address": "<string>",
"wallet_chain": "ethereum"
}
]
}
]
}{
"success": false,
"message": "<string>"
}Wallet
Get Wallets
Retrieves all wallets for the authenticated business.
GET
/
wallet
/
wallets
Get Wallets
curl --request GET \
--url https://api.rolla.xyz/api/v1/external/wallet/wallets \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.rolla.xyz/api/v1/external/wallet/wallets"
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/wallet/wallets', 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/wallet/wallets",
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/wallet/wallets"
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/wallet/wallets")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/wallet/wallets")
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,
"success": true,
"message": "Business wallets retrieved successfully",
"wallets": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "NGN Wallet",
"currency": "NGN",
"balance": {
"availableBalance": 950000,
"postedBalance": 1000000,
"pendingBalance": 50000
},
"virtualAccounts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "active",
"virtual_account_type": "deposit",
"currency_type": "fiat",
"bank_name": "Wema Bank",
"account_number": "0123456789",
"account_name": "<string>",
"routing_number": "<string>",
"bank_address": {},
"swift_code": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"stablecoin_type": "USDT",
"wallet_address": "<string>",
"wallet_chain": "ethereum"
}
]
}
]
}{
"success": false,
"message": "<string>"
}Retrieve all wallets for your business, including balances, currency info, payment accounts, and month-over-month statistics. Optionally include loan accounts.
Example Request
curl -X GET "https://api.rolla.xyz/api/v1/external/wallet/wallets" \
-H "X-API-Key: your_api_key_here"
Example Response
{
"status": 200,
"success": true,
"message": "Business wallets retrieved successfully",
"data": {
"wallets": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "NGN Wallet",
"currency": "NGN",
"balance": {
"availableBalance": 950000,
"postedBalance": 1000000,
"pendingBalance": 50000
},
"virtualAccounts": [
{
"id": "va-uuid-here",
"status": "active",
"virtual_account_type": "deposit",
"currency_type": "fiat",
"bank_name": "Wema Bank",
"account_number": "0123456789",
"account_name": "Rolla / Your Business Name"
}
]
},
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"name": "USD Wallet",
"currency": "USD",
"balance": {
"availableBalance": 5000,
"postedBalance": 5000,
"pendingBalance": 0
},
"virtualAccounts": [
{
"id": "va-uuid-usd",
"status": "active",
"virtual_account_type": "deposit",
"currency_type": "fiat",
"bank_name": "Bank of America",
"account_number": "9876543210",
"account_name": "Rolla / Your Business Name",
"routing_number": "101019644",
"bank_address": {
"street": "1801 Main St",
"city": "Kansas City",
"state": "MO",
"postalCode": "64108",
"country": "US"
},
"swift_code": "LEADUS44"
}
]
},
{
"id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"name": "USDT Wallet",
"currency": "USDT",
"balance": {
"availableBalance": 1200,
"postedBalance": 1200,
"pendingBalance": 0
},
"virtualAccounts": [
{
"id": "va-uuid-usdt",
"status": "active",
"virtual_account_type": "deposit",
"currency_type": "crypto",
"stablecoin_type": "USDT",
"wallet_address": "0xAbCdEf1234567890abcdef1234567890AbCdEf12",
"wallet_chain": "ethereum"
}
]
}
]
}
}
Use
balance.availableBalance (not balance.postedBalance) when checking if you have sufficient funds for a withdrawal. postedBalance includes pending debits that haven’t settled yet.Each wallet includes a
virtualAccounts array containing the payment accounts used to receive funds into that wallet (e.g. bank account details for NGN, wallet addresses for crypto).Authorizations
Your Rolla API key
Query Parameters
Include loan accounts in the response
Available options:
true, false ⌘I