Queries
List Vaults
Your instance’s vaults first, then every vault published on your network
GET
/
lending-external-securities-v2
/
api
/
vaults
curl "https://api.trusset.org/lending-external-securities-v2/api/vaults" \
-H "X-API-Key: trusset_your_key_here"
const res = await fetch(
'https://api.trusset.org/lending-external-securities-v2/api/vaults',
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
for (const vault of data.vaults) {
console.log(`${vault.name} (${vault.symbol}), operated by ${vault.operatedBy?.issuerName}`);
}
{
"success": true,
"data": {
"vaults": [
{
"id": "cmssh8t2u0003cghxkx1w1fwd",
"instanceId": "inst_abc123",
"own": true,
"vaultAddress": "0x4d0cfe39a3431b145d1a1393d901a36d459a1b13",
"operatorWallet": "0x5ad87a0621175206b72d10e4b8577b192e7f40ab",
"assetAddress": "0x98ad0ca091552e23c564b41c74282e5343d03e8a",
"assetSymbol": "USDC",
"assetDecimals": 6,
"identityRegistryAddress": "0xe9114c40934f6fb6bb317935156b731f7a86d006",
"depositorGate": {
"kind": "REGISTER",
"register": "0xe9114c40934f6fb6bb317935156b731f7a86d006",
"statement": "Deposits and share transfers are examined against this register."
},
"name": "Trusset Prime Demo Vault",
"symbol": "TPV",
"performanceFeeBps": 500,
"active": true,
"archived": false,
"riskDisclosure": "Deposits fund overcollateralized lending markets. Redemptions can fill partially under high utilization.",
"riskDisclosureUrl": "https://bank.example/vault-risk",
"network": "ETHEREUM",
"settlementCurrency": "USD",
"operatedBy": {
"instanceName": "Trusset Client Demo",
"issuerName": "Trusset UG",
"image": null,
"profileImage": null,
"isBank": true
},
"createdAt": "2026-08-13T21:10:00.000Z",
"updatedAt": "2026-08-14T06:40:00.000Z",
"onChain": {
"isOnChain": true,
"readFailed": false,
"totalAssets": "1250000.0",
"totalShares": "1224489.795918",
"sharePrice": "1.0209",
"idleAssets": "312500.0",
"allocatedAssets": "937500.0",
"redeemableNow": "618200.0",
"depositsPaused": false,
"performanceFeeBps": 500,
"assetsFullyReadable": true
}
}
]
},
"error": null,
"metadata": {
"timestamp": "2026-08-14T12:00:00.000Z",
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"instanceId": "inst_abc123"
}
}
Returns every vault visible to the instance behind the API key, in three groups:
- Vaults this instance operates, marked
own: true, newest first. An instance runs at most three live vaults. - Vaults other operators published, on the same network and in the same environment (production or not), newest first.
- Unpublished vaults of other operators in which this instance is a distributor of record. One of its verified wallets still has attributed shares or unpaid distributor fees there. These rows carry
distributorView: true, no risk disclosure, and take no deposit from this instance.
onChain block read from the vault contract, so a directory can show share price and size without a call per vault. It carries no per-holder position and none of the operator-only blocks. Those are on Get Vault.
Response Fields
array
Show child attributes
Show child attributes
string
Vault ID. Every other vault endpoint takes this.
string
The operating instance.
boolean
True when your instance operates this vault.
boolean
Present and
true only on an unpublished vault you see as a distributor of record. You can read it, redeem from it and collect your earnings in it. Deposit refuses it with VAULT_NOT_PUBLISHED.string
The vault contract.
string
The wallet that created the vault and was recorded as its operator. The live on-chain owner is
onChain.owner on Get Vault.string
The vault’s asset, a settlement token (stablecoin). Deposits, redemptions and the share price are denominated in it.
string
Asset symbol, for example
USDC.integer
Asset decimals. Every amount you send is parsed at this precision, shares included, and every amount returned is formatted with it.
string
The vault’s own identity register, or
null when the vault names none. Fixed for the life of the vault.object
kind is REGISTER when the vault names an identity register and NONE when it names none. Carries register and a display statement. A NONE vault on the current implementation adopts the provider register of the first market it funds or consents to draw for, keeps it for good, and refuses every deposit until then. It examines each depositor against that register and the provider register of every market it funds. On an earlier implementation a NONE vault admits any wallet, and the API prepares no deposit into it.string
Vault name.
string
Share token symbol.
integer
The vault operator’s cut of share-price growth above the high-water mark, in basis points. The contract only accepts decreases.
boolean
True once the operator published the vault.
boolean
Always
false here, because archived vaults are excluded.string
The chain the vault lives on, taken from the operating instance.
string
The fiat currency the vault’s asset settles in, resolved from the asset address rather than guessed from its symbol.
null when the address is not a known settlement asset.string
The operator’s risk statement. Show it before any deposit control.
null on a distributorView row.string
Link to the operator’s full risk disclosure. Always
https. null on a distributorView row.object
instanceName, issuerName, isBank, plus image and profileImage. Display the operator next to the vault name.object
Live vault state, identical in shape to the block on Get Vault, where every field is described. It is
null for a vault with no recorded address. It carries readFailed: true when the chain could not be read for that vault alone, and one vault failing does not empty the others.string
When the vault was registered, ISO 8601.
string
Last change to the record, ISO 8601.
performanceFeeBps on the row is reconciled against the fee the contract reports, and the lower of the two is served. A vault whose onChain read failed keeps the recorded value, which can be the higher one. Read the fee from onChain.performanceFeeBps when it is present.The groups come in the order above. Pin on
own and distributorView if you re-sort client-side.curl "https://api.trusset.org/lending-external-securities-v2/api/vaults" \
-H "X-API-Key: trusset_your_key_here"
const res = await fetch(
'https://api.trusset.org/lending-external-securities-v2/api/vaults',
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
for (const vault of data.vaults) {
console.log(`${vault.name} (${vault.symbol}), operated by ${vault.operatedBy?.issuerName}`);
}
{
"success": true,
"data": {
"vaults": [
{
"id": "cmssh8t2u0003cghxkx1w1fwd",
"instanceId": "inst_abc123",
"own": true,
"vaultAddress": "0x4d0cfe39a3431b145d1a1393d901a36d459a1b13",
"operatorWallet": "0x5ad87a0621175206b72d10e4b8577b192e7f40ab",
"assetAddress": "0x98ad0ca091552e23c564b41c74282e5343d03e8a",
"assetSymbol": "USDC",
"assetDecimals": 6,
"identityRegistryAddress": "0xe9114c40934f6fb6bb317935156b731f7a86d006",
"depositorGate": {
"kind": "REGISTER",
"register": "0xe9114c40934f6fb6bb317935156b731f7a86d006",
"statement": "Deposits and share transfers are examined against this register."
},
"name": "Trusset Prime Demo Vault",
"symbol": "TPV",
"performanceFeeBps": 500,
"active": true,
"archived": false,
"riskDisclosure": "Deposits fund overcollateralized lending markets. Redemptions can fill partially under high utilization.",
"riskDisclosureUrl": "https://bank.example/vault-risk",
"network": "ETHEREUM",
"settlementCurrency": "USD",
"operatedBy": {
"instanceName": "Trusset Client Demo",
"issuerName": "Trusset UG",
"image": null,
"profileImage": null,
"isBank": true
},
"createdAt": "2026-08-13T21:10:00.000Z",
"updatedAt": "2026-08-14T06:40:00.000Z",
"onChain": {
"isOnChain": true,
"readFailed": false,
"totalAssets": "1250000.0",
"totalShares": "1224489.795918",
"sharePrice": "1.0209",
"idleAssets": "312500.0",
"allocatedAssets": "937500.0",
"redeemableNow": "618200.0",
"depositsPaused": false,
"performanceFeeBps": 500,
"assetsFullyReadable": true
}
}
]
},
"error": null,
"metadata": {
"timestamp": "2026-08-14T12:00:00.000Z",
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"instanceId": "inst_abc123"
}
}
Error Codes
| Code | HTTP | Cause |
|---|---|---|
SERVICE_UNAVAILABLE | 503 | The vault records could not be reached. Retry shortly |
VAULT_READ_FAILED | 500 | Unexpected failure. Retry, or contact support with the request ID |
⌘I
curl "https://api.trusset.org/lending-external-securities-v2/api/vaults" \
-H "X-API-Key: trusset_your_key_here"
const res = await fetch(
'https://api.trusset.org/lending-external-securities-v2/api/vaults',
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
for (const vault of data.vaults) {
console.log(`${vault.name} (${vault.symbol}), operated by ${vault.operatedBy?.issuerName}`);
}
{
"success": true,
"data": {
"vaults": [
{
"id": "cmssh8t2u0003cghxkx1w1fwd",
"instanceId": "inst_abc123",
"own": true,
"vaultAddress": "0x4d0cfe39a3431b145d1a1393d901a36d459a1b13",
"operatorWallet": "0x5ad87a0621175206b72d10e4b8577b192e7f40ab",
"assetAddress": "0x98ad0ca091552e23c564b41c74282e5343d03e8a",
"assetSymbol": "USDC",
"assetDecimals": 6,
"identityRegistryAddress": "0xe9114c40934f6fb6bb317935156b731f7a86d006",
"depositorGate": {
"kind": "REGISTER",
"register": "0xe9114c40934f6fb6bb317935156b731f7a86d006",
"statement": "Deposits and share transfers are examined against this register."
},
"name": "Trusset Prime Demo Vault",
"symbol": "TPV",
"performanceFeeBps": 500,
"active": true,
"archived": false,
"riskDisclosure": "Deposits fund overcollateralized lending markets. Redemptions can fill partially under high utilization.",
"riskDisclosureUrl": "https://bank.example/vault-risk",
"network": "ETHEREUM",
"settlementCurrency": "USD",
"operatedBy": {
"instanceName": "Trusset Client Demo",
"issuerName": "Trusset UG",
"image": null,
"profileImage": null,
"isBank": true
},
"createdAt": "2026-08-13T21:10:00.000Z",
"updatedAt": "2026-08-14T06:40:00.000Z",
"onChain": {
"isOnChain": true,
"readFailed": false,
"totalAssets": "1250000.0",
"totalShares": "1224489.795918",
"sharePrice": "1.0209",
"idleAssets": "312500.0",
"allocatedAssets": "937500.0",
"redeemableNow": "618200.0",
"depositsPaused": false,
"performanceFeeBps": 500,
"assetsFullyReadable": true
}
}
]
},
"error": null,
"metadata": {
"timestamp": "2026-08-14T12:00:00.000Z",
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"instanceId": "inst_abc123"
}
}
