Management
Batch Get Countries
Retrieve country codes for multiple wallet addresses in a single request
POST
/
customers
/
api
/
manage
/
countries
/
batch
curl -X POST "https://api.trusset.org/customers/api/manage/countries/batch" \
-H "Content-Type: application/json" \
-H "X-API-Key: trusset_abc123xy_secret..." \
-d '{
"addresses": [
"0xaBc123DEf456789012345678901234567890aBCD",
"0x1234567890abcdef1234567890abcdef12345678"
]
}'
const response = await fetch(
'https://api.trusset.org/customers/api/manage/countries/batch',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'trusset_abc123xy_secret...'
},
body: JSON.stringify({
addresses: [
'0xaBc123DEf456789012345678901234567890aBCD',
'0x1234567890abcdef1234567890abcdef12345678'
]
})
}
);
const { data: countries } = await response.json();
{
"success": true,
"data": {
"0xabc123def456789012345678901234567890abcd": "DEU",
"0x1234567890abcdef1234567890abcdef12345678": "FRA"
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_INPUT",
"message": "Provide 1-500 addresses"
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
Given an array of wallet addresses, returns the country on the customer record behind each one. Useful for bulk compliance checks before processing transfers or trades.
The country comes from the customer record, not from the identity registry. A wallet the registry verified but your instance holds no record for is not in the result.
Body Parameters
string[]
required
Array of wallet addresses. Minimum 1, maximum 500 entries. Entries are matched in any letter case and are not validated as addresses. Every entry must be a string, or the call fails with
FETCH_FAILED.Response Fields
boolean
Request status
object
Map of lowercased wallet address to ISO 3166-1 alpha-3 country code, converted from the stored value. A stored value that is not a known code is returned as it is. A linked wallet resolves to its customer’s country, and a primary wallet wins over a link. Addresses with no record on your instance, archived records and records without a country are omitted.
curl -X POST "https://api.trusset.org/customers/api/manage/countries/batch" \
-H "Content-Type: application/json" \
-H "X-API-Key: trusset_abc123xy_secret..." \
-d '{
"addresses": [
"0xaBc123DEf456789012345678901234567890aBCD",
"0x1234567890abcdef1234567890abcdef12345678"
]
}'
const response = await fetch(
'https://api.trusset.org/customers/api/manage/countries/batch',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'trusset_abc123xy_secret...'
},
body: JSON.stringify({
addresses: [
'0xaBc123DEf456789012345678901234567890aBCD',
'0x1234567890abcdef1234567890abcdef12345678'
]
})
}
);
const { data: countries } = await response.json();
{
"success": true,
"data": {
"0xabc123def456789012345678901234567890abcd": "DEU",
"0x1234567890abcdef1234567890abcdef12345678": "FRA"
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_INPUT",
"message": "Provide 1-500 addresses"
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
Error Codes
| Code | HTTP | Cause |
|---|---|---|
INVALID_INPUT | 400 | addresses is missing, not an array, empty, or longer than 500 |
FETCH_FAILED | 500 | The countries could not be read, including when an entry is not a string |
⌘I
curl -X POST "https://api.trusset.org/customers/api/manage/countries/batch" \
-H "Content-Type: application/json" \
-H "X-API-Key: trusset_abc123xy_secret..." \
-d '{
"addresses": [
"0xaBc123DEf456789012345678901234567890aBCD",
"0x1234567890abcdef1234567890abcdef12345678"
]
}'
const response = await fetch(
'https://api.trusset.org/customers/api/manage/countries/batch',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'trusset_abc123xy_secret...'
},
body: JSON.stringify({
addresses: [
'0xaBc123DEf456789012345678901234567890aBCD',
'0x1234567890abcdef1234567890abcdef12345678'
]
})
}
);
const { data: countries } = await response.json();
{
"success": true,
"data": {
"0xabc123def456789012345678901234567890abcd": "DEU",
"0x1234567890abcdef1234567890abcdef12345678": "FRA"
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_INPUT",
"message": "Provide 1-500 addresses"
},
"metadata": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-09-30T12:00:00.000Z"
}
}
