Whitelists
Get Whitelist
One whitelist with its recorded members, and optionally its live state on chain
GET
/
lending-external-securities-v2
/
api
/
access-lists
/
{listId}
curl "https://api.trusset.org/lending-external-securities-v2/api/access-lists/cmv2k8q1d0004l70a3n6p2w9e?wallets=0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b" \
-H "X-API-Key: trusset_your_key_here"
const wallet = '0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b';
const res = await fetch(
`https://api.trusset.org/lending-external-securities-v2/api/access-lists/${listId}?wallets=${wallet}`,
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
if (data.live.readFailed) throw new Error('Whitelist unreadable, retry');
const admitted = data.live.verified[wallet] === true;
{
"success": true,
"data": {
"list": {
"id": "cmv2k8q1d0004l70a3n6p2w9e",
"name": "Depositors Q4",
"purpose": "DEPOSITOR",
"address": "0x7d31e6b09a4c25f8e1b73d0a6c94e2f58b1a0c37",
"ownerWallet": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"pendingOwnerWallet": null,
"managers": ["0x4e91a7c05d3b62f18a0c94e7db2358f1c60a4e93"],
"memberCount": 148,
"archived": false,
"createdTxHash": "0x3f6c0e7a91d24b58c06e1f9a7b3d25e48c17a0f9d63e2b51a84c7f0e9d16b23a",
"createdBlock": 9384120,
"syncedBlock": 9402377,
"createdAt": "2026-10-08T14:02:11.000Z",
"updatedAt": "2026-10-09T08:15:40.000Z",
"own": true
},
"members": [
{
"walletAddress": "0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b",
"listed": true,
"lastTxHash": "0x8b1e4d2c7a9f05e36d1b8c4a2f7e90d35c6b1a8f4e2d7c09b3a6f1e5d8c2b4a7",
"updatedBy": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"updatedAt": "2026-10-08T14:20:03.000Z"
}
],
"membersTotal": 151,
"membersTruncated": false,
"live": {
"owner": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"pendingOwner": null,
"managers": {
"0x4e91a7c05d3b62f18a0c94e7db2358f1c60a4e93": true,
"0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52": false
},
"verified": {
"0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b": true
},
"ownedByThisInstance": true,
"readFailed": false
}
}
}
{
"success": false,
"error": {
"code": "ACCESS_LIST_NOT_FOUND",
"message": "No whitelist with this id belongs to this instance or is managed by one of its wallets on this network."
}
}
Returns one whitelist your instance keeps or manages, with the members its record holds. Pass
wallets to read, for those wallets, whether the list admits them right now, together with the list’s live owner, pending owner and managers.
The members come from the record: the confirm calls and Rescan Whitelist write them. A wallet listed or removed by a transaction nobody confirmed appears only after a rescan, so check live.verified before acting on one wallet. A removed wallet stays in members with listed: false.
A list another instance keeps is returned when a verified wallet of your instance owns or manages it on chain, or is named by its pending transfer. Its list then carries own: false and name: null. See Lists another instance keeps.
Path Parameters
string
required
The whitelist ID from List Whitelists: 1 to 64 letters, digits,
- or _.Query Parameters
string
Up to 200 addresses, comma-separated or as a repeated parameter, to read live from the list. Omit it to skip the chain read, and
live is then absent.Response Fields
object
Show child attributes
Show child attributes
object
The list as on List Whitelists. A list your instance keeps has the
lists shape with own: true. One another instance keeps has the managed shape.array
Recorded members, listed wallets first, then by address. At most 5,000.
Show child attributes
Show child attributes
string
The wallet, lowercased.
boolean
true while the record holds it as listed, false once a removal was recorded.string
The transaction that set the current state, or
null.string
The sender the list’s event names, lowercased: the owner or manager that signed, or the whitelist factory for a wallet listed at creation.
null when unknown.string
ISO 8601.
integer
Every recorded member row, listed or not.
boolean
true when membersTotal exceeds the rows returned.object
Present when
wallets was sent. Read from the list contract in one call.Show child attributes
Show child attributes
string
The owner on chain, lowercased.
null when the read failed.string
The wallet a pending transfer names, or
null.object
Whether each recorded manager and each verified wallet of your instance is a manager now, keyed by lowercased address.
null for an answer that could not be read.object
Whether the list admits each address in
wallets, keyed by lowercased address. This is the answer every gate the list serves receives. null for an answer that could not be read.boolean
Whether the owner is a verified wallet of your instance.
null when the read failed.boolean
true when the list could not be read. The other fields are then empty, and say nothing about the list.curl "https://api.trusset.org/lending-external-securities-v2/api/access-lists/cmv2k8q1d0004l70a3n6p2w9e?wallets=0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b" \
-H "X-API-Key: trusset_your_key_here"
const wallet = '0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b';
const res = await fetch(
`https://api.trusset.org/lending-external-securities-v2/api/access-lists/${listId}?wallets=${wallet}`,
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
if (data.live.readFailed) throw new Error('Whitelist unreadable, retry');
const admitted = data.live.verified[wallet] === true;
{
"success": true,
"data": {
"list": {
"id": "cmv2k8q1d0004l70a3n6p2w9e",
"name": "Depositors Q4",
"purpose": "DEPOSITOR",
"address": "0x7d31e6b09a4c25f8e1b73d0a6c94e2f58b1a0c37",
"ownerWallet": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"pendingOwnerWallet": null,
"managers": ["0x4e91a7c05d3b62f18a0c94e7db2358f1c60a4e93"],
"memberCount": 148,
"archived": false,
"createdTxHash": "0x3f6c0e7a91d24b58c06e1f9a7b3d25e48c17a0f9d63e2b51a84c7f0e9d16b23a",
"createdBlock": 9384120,
"syncedBlock": 9402377,
"createdAt": "2026-10-08T14:02:11.000Z",
"updatedAt": "2026-10-09T08:15:40.000Z",
"own": true
},
"members": [
{
"walletAddress": "0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b",
"listed": true,
"lastTxHash": "0x8b1e4d2c7a9f05e36d1b8c4a2f7e90d35c6b1a8f4e2d7c09b3a6f1e5d8c2b4a7",
"updatedBy": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"updatedAt": "2026-10-08T14:20:03.000Z"
}
],
"membersTotal": 151,
"membersTruncated": false,
"live": {
"owner": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"pendingOwner": null,
"managers": {
"0x4e91a7c05d3b62f18a0c94e7db2358f1c60a4e93": true,
"0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52": false
},
"verified": {
"0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b": true
},
"ownedByThisInstance": true,
"readFailed": false
}
}
}
{
"success": false,
"error": {
"code": "ACCESS_LIST_NOT_FOUND",
"message": "No whitelist with this id belongs to this instance or is managed by one of its wallets on this network."
}
}
Error Codes
| Code | HTTP | Cause |
|---|---|---|
VALIDATION_ERROR | 400 | wallets names more than 200 addresses, or one that is not 0x followed by 40 hex characters |
INVALID_ADDRESS | 400 | An address in wallets is the zero address or fails its EIP-55 checksum |
ACCESS_LIST_NOT_FOUND | 404 | No whitelist with this ID is kept by your instance, or owned, managed or pending to one of its wallets, on this network |
ACCESS_LIST_READ_FAILED | 500 | The list could not be read and no more specific code applied |
ACCESS_LISTS_NOT_CONFIGURED | 503 | The whitelist factory is not deployed on this network |
ACCESS_LIST_UNREADABLE | 503 | The list belongs to another instance and whether your wallets still manage it could not be read. Retry shortly |
SERVICE_UNAVAILABLE | 503 | Your instance’s verified wallets could not be read. Retry shortly |
⌘I
curl "https://api.trusset.org/lending-external-securities-v2/api/access-lists/cmv2k8q1d0004l70a3n6p2w9e?wallets=0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b" \
-H "X-API-Key: trusset_your_key_here"
const wallet = '0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b';
const res = await fetch(
`https://api.trusset.org/lending-external-securities-v2/api/access-lists/${listId}?wallets=${wallet}`,
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
if (data.live.readFailed) throw new Error('Whitelist unreadable, retry');
const admitted = data.live.verified[wallet] === true;
{
"success": true,
"data": {
"list": {
"id": "cmv2k8q1d0004l70a3n6p2w9e",
"name": "Depositors Q4",
"purpose": "DEPOSITOR",
"address": "0x7d31e6b09a4c25f8e1b73d0a6c94e2f58b1a0c37",
"ownerWallet": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"pendingOwnerWallet": null,
"managers": ["0x4e91a7c05d3b62f18a0c94e7db2358f1c60a4e93"],
"memberCount": 148,
"archived": false,
"createdTxHash": "0x3f6c0e7a91d24b58c06e1f9a7b3d25e48c17a0f9d63e2b51a84c7f0e9d16b23a",
"createdBlock": 9384120,
"syncedBlock": 9402377,
"createdAt": "2026-10-08T14:02:11.000Z",
"updatedAt": "2026-10-09T08:15:40.000Z",
"own": true
},
"members": [
{
"walletAddress": "0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b",
"listed": true,
"lastTxHash": "0x8b1e4d2c7a9f05e36d1b8c4a2f7e90d35c6b1a8f4e2d7c09b3a6f1e5d8c2b4a7",
"updatedBy": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"updatedAt": "2026-10-08T14:20:03.000Z"
}
],
"membersTotal": 151,
"membersTruncated": false,
"live": {
"owner": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"pendingOwner": null,
"managers": {
"0x4e91a7c05d3b62f18a0c94e7db2358f1c60a4e93": true,
"0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52": false
},
"verified": {
"0x6a6cba16dad34f7ea7ecbcdbf050f8146b942d6b": true
},
"ownedByThisInstance": true,
"readFailed": false
}
}
}
{
"success": false,
"error": {
"code": "ACCESS_LIST_NOT_FOUND",
"message": "No whitelist with this id belongs to this instance or is managed by one of its wallets on this network."
}
}
