/private/tokensList private tokensThe active private tokens for a network, for example esUSDT. Read the symbol from here rather than hard-coding it: it is what every other private endpoint takes, and the set is per network.
- Each entry carries the encrypted-token and registrar contract addresses, the 1:1 public underlying with its decimals, the private token's own internal precision, and display metadata.
- One encrypted-token contract serves every token on a network — the underlying binds on first deposit — so eercAddress repeats across entries.
- eercDecimals is that contract's single converter-wide precision, NOT the underlying's. A deposit converts only whole multiples of it and returns the remainder as dust: a visible remainder on a high-priced underlying, a cent on a stablecoin.
Authentication: X-API-Key
Input — query and path parameters
networkIdstring required- Chain ID (e.g. 43114 for Avalanche)
Output — example response (200)
{
"tokens": [
{
"symbol": "esUSDT",
"displayName": "ES USDT",
"networkId": "43114",
"eercAddress": "0x10dFB26576d490FF985f61B4Ec3F8DA65aF7B656",
"registrarAddress": "0x906FAF1D7AD681c92E37B4843A18c56a56f0c85d",
"underlyingAddress": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",
"underlyingSymbol": "USDT",
"underlyingDecimals": 6,
"eercDecimals": 2,
"iconUrl": "https://assets.extrasafe.chat/crypto/private-tokens/43114/esUSDT/icon.svg"
}
],
"count": 1
}Output — every status this endpoint answers with
| Status | When |
|---|---|
200 | Private tokens |
400 | Invalid request body or query parameters |
401 | Missing or invalid credentials |
429 | Rate limit exceeded — retry after the number of seconds in the `Retry-After` response header |
500 | Internal server error |