Liquidations
Get Liquidation Config
Check whether a market can be liquidated and settled
GET
/
lending-external-securities-v2
/
api
/
liquidations
/
{marketId}
/
config
curl "https://api.trusset.org/lending-external-securities-v2/api/liquidations/{marketId}/config" \
-H "X-API-Key: trusset_your_key_here"
const res = await fetch(
`https://api.trusset.org/lending-external-securities-v2/api/liquidations/${marketId}/config`,
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
if (data.readFailed) console.warn(data.unverifiedReason);
if (!data.canRealizeNow) console.warn(data.blockedReason);
{
"success": true,
"data": {
"marketId": "clx_secmarket_001",
"marketAddress": "0x70a0e25c7b768b87e658348b3b577678a173e038",
"routerAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"routerAuthorized": true,
"routerTokenEligible": true,
"routerTokenRequirement": "adapter_must_be_verified_holder",
"operatorRoleReady": true,
"operatorAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"operatorDeclared": true,
"liquidatorRoleReady": true,
"liquidatorViaBot": false,
"liquidatorBotAddress": null,
"signerAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"collateralTransferChecked": true,
"collateralTransferAllowed": true,
"collateralTransferCode": 0,
"collateralTransferReason": null,
"collateralTransferAmount": "1500000000000000000000",
"saleRecipient": "0x5a72e0b41d3f8c62079ae4b1d38f0c95261ba473",
"saleRecipientFixed": true,
"saleRecipientRotatable": true,
"configuredSaleVenue": null,
"saleVenue": "0x5a72e0b41d3f8c62079ae4b1d38f0c95261ba473",
"saleDeliveryChecked": true,
"saleDeliveryAllowed": true,
"saleDeliveryCode": 0,
"saleDeliveryAmount": "1500000000000000000000",
"auctionVenue": null,
"auctionVenueAdmitted": null,
"auctionVenueRequirement": null,
"dutchAuctionEnabled": false,
"declaredRealization": "EXCHANGE_SALE",
"auctionPathMissing": false,
"priceStale": false,
"priceAge": 184,
"seizureConfigured": true,
"isConfigured": true,
"readFailed": false,
"blockedConfirmed": false,
"seizureBlockedConfirmed": false,
"unverifiedReason": null,
"unverifiedSections": null,
"errors": null,
"canSeizeNow": true,
"canRealizeNow": true,
"blockedReason": null,
"atomic": {
"routerAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"available": true,
"mode": 0,
"modeName": "TWO_STEP",
"effective": false,
"saleRecipient": "0x5a72e0b41d3f8c62079ae4b1d38f0c95261ba473",
"buyerAvailable": false,
"code": null,
"reasonCode": "NO_BID",
"saleBasis": {
"available": true,
"priceSource": "MARKET",
"realizationMode": "EXCHANGE_SALE",
"reasonCode": null,
"reason": null
}
},
"liquidationRouterAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"stats": {
"totalLiquidations": 2,
"pendingLiquidationDebt": "0.0",
"totalAuctions": 0
}
}
}
{
"success": true,
"data": {
"marketId": "clx_secmarket_001",
"marketAddress": "0x70a0e25c7b768b87e658348b3b577678a173e038",
"routerAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"routerAuthorized": true,
"routerTokenEligible": false,
"routerTokenRequirement": "adapter_must_be_verified_holder",
"operatorRoleReady": true,
"operatorAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"operatorDeclared": true,
"liquidatorRoleReady": true,
"liquidatorViaBot": false,
"liquidatorBotAddress": null,
"signerAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"collateralTransferChecked": true,
"collateralTransferAllowed": false,
"collateralTransferCode": 2,
"collateralTransferReason": "The collateral token blocks the seizure transfer from the custody adapter 0x3f0b7d52c1e84a96b0d7c3e5a18f27d946c1b0e2 to the liquidation router 0x067a3feea46649adad8e31c33b3a4d8774b8d8cf: the receiver is not a verified holder on this token. Restore the receiver's verified status on the collateral token's identity registry for 0x067a3feea46649adad8e31c33b3a4d8774b8d8cf.",
"collateralTransferAmount": "1500000000000000000000",
"saleRecipient": null,
"saleRecipientFixed": true,
"saleRecipientRotatable": true,
"configuredSaleVenue": null,
"saleVenue": null,
"saleDeliveryChecked": false,
"saleDeliveryAllowed": null,
"saleDeliveryCode": null,
"saleDeliveryAmount": null,
"auctionVenue": null,
"auctionVenueAdmitted": null,
"auctionVenueRequirement": null,
"dutchAuctionEnabled": false,
"declaredRealization": "EXCHANGE_SALE",
"auctionPathMissing": false,
"priceStale": false,
"priceAge": 92,
"seizureConfigured": false,
"isConfigured": false,
"readFailed": false,
"blockedConfirmed": true,
"seizureBlockedConfirmed": true,
"unverifiedReason": null,
"unverifiedSections": null,
"errors": null,
"canSeizeNow": false,
"canRealizeNow": false,
"blockedReason": "The liquidation router 0x067a3feea46649adad8e31c33b3a4d8774b8d8cf is not a verified holder in the collateral token's identity registry, so it cannot receive seized collateral.",
"liquidationRouterAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"stats": {
"totalLiquidations": 0,
"pendingLiquidationDebt": "0.0",
"totalAuctions": 0
}
}
}
Returns the readiness of the liquidation path for a market: every gate
The examples below shorten
liquidate passes through, the onward delivery of seized collateral to the sale recipient, and aggregate liquidation counters.
Call this before relying on liquidation. A market can accept loans while its liquidation path is incomplete, which leaves bad debt with no remedy.
Realization is two hops with two different signers, so readiness carries two aggregates. seizureConfigured covers everything up to and including moving collateral to the router, or to the auction venue when Dutch auctions are on. isConfigured covers that and more: the router’s operator must hold its role, and the collateral must be able to leave the router for the sale recipient.
Path Parameters
string
required
The market’s record ID, as
id on List Markets, not its contract address. See Market IDs. At most 100 characters.Query Parameters
string
Wallet to evaluate the liquidator role against. Omit to use your instance’s primary verified wallet. When sent,
atomic.signer also reports its router roles. Anything that is not a valid address is ignored.Response Fields
object
Show child attributes
Show child attributes
string
Market ID.
string
Market contract.
string
This market’s liquidation router, resolved per market. Also present as
routerAddress.boolean
The router accepts liquidations originating from this market. Set by the factory at deployment.
null when the read failed.boolean
The router can legally receive the collateral token under the token’s own compliance rules, either as an allow-listed contract or as a verified identity. Without this, seizing collateral reverts.
null when the token could not answer.string
What the token asks of the router:
adapter_must_be_authorized_contract, adapter_must_be_verified_holder, none_required, holder_status_unreadable or unknown. null when no router or no collateral token is known.boolean
Whether
LIQUIDATOR_ROLE on the market, which calling liquidate requires, is held by signerAddress or by a connected liquidation bot. null when it could not be read.boolean
true when a connected liquidation bot rather than the signer wallet holds LIQUIDATOR_ROLE. liquidatorBotAddress names the bot.boolean
Whether
operatorAddress holds OPERATOR_ROLE on the router, which withdrawal, partial sales and settlement require. null when the read failed.string
The address the operator-role check ran against: the liquidation operator the market records, or
signerAddress when it records none. operatorDeclared says which.string
The address the liquidator-role check resolved against, or
null when none was available.boolean
Whether the collateral token would permit the seizure transfer from the custody adapter to the router.
null when the check did not run. It never runs on a FREEZE market, where seizure is a forced transfer that bypasses the sender-side gates, or while the adapter holds no collateral. collateralTransferChecked says whether it ran, collateralTransferCode carries the restriction code below and collateralTransferReason states it in words.string
The recipient the lender of record fixed for onward sale, or
null when none is set yet.boolean
true when the router’s recipient was read, null when the router could not be read.boolean
true for every market with a router. The router admin can rotate the recipient through an announced, delayed flow, which this API does not expose.string
The destination that applies:
saleRecipient, or the trading venue recorded for the market (configuredSaleVenue) when no recipient is known.boolean
Whether the collateral token would permit the onward transfer from the router to
saleRecipient. saleDeliveryChecked, saleDeliveryCode and saleDeliveryAmount accompany it.boolean
The market’s
useDutchAuction switch. With it on, a health liquidation delivers the collateral to the auction venue instead of the router.string
The auction venue wired on the market, or
null.boolean
Whether the collateral token admits the venue as a holder. A market with Dutch auctions on and a venue the token refuses cannot seize at all.
auctionVenueRequirement says what the token asks of the venue.string
The realization path the lender of record declared at adoption:
EXCHANGE_SALE, ISSUER_REDEMPTION or AUCTION. UNDECLARED or null when no path is declared, and null when it could not be read.boolean
true when declaredRealization is AUCTION and dutchAuctionEnabled is false. A liquidation would then seize to the router for a direct sale, which is not the declared path, so seizureConfigured is false and Liquidate Loan refuses with AUCTION_PATH_NOT_ENABLED until the venue is wired and useDutchAuction is on.boolean
Whether the oracle price sits outside its window, which makes
liquidate revert. priceAge in seconds accompanies it.object
The atomic sale state, as on Get Atomic Sale, with
saleBasis when it was read and without saleRecipientLenderSide. Its available, reasonCode and reason describe the router, the market and the sale recipient; the sale basis is reported in saleBasis alone. null when the router could not be resolved. On a router running atomic mode, a sale recipient that cannot buy (code: ATOMIC_BUYER_UNAVAILABLE) closes the seizure gate, because every liquidation would revert.boolean
Every gate up to and including the seizure is satisfied, including the liquidator role.
boolean
seizureConfigured, plus the router’s operator role and onward delivery to the sale recipient.boolean
seizureConfigured, and the price was read and is not stale.boolean
isConfigured, and the price was read and is not stale.boolean
true when at least one gate could not be read. unverifiedSections lists which, errors carries the same as objects, and unverifiedReason states it in one sentence. A failed read is never reported as a closed gate.boolean
true only when a gate was actually read and found closed. seizureBlockedConfirmed is the same restricted to the seizure gates.string
The first gate that fails, in words. When nothing is confirmed closed it carries
unverifiedReason, which is null when every read succeeded.object
Show child attributes
Show child attributes
integer
Liquidation records the market has opened over its lifetime, on either trigger and on either path.
string
Debt seized but not yet settled or written off, in borrow asset units.
integer
Dutch auctions the market’s auction venue has opened.
0 when no venue is wired.boolean
Present and
true when a counter could not be read. The unread counters then read 0.string
Present when the readiness read failed as a whole. The readiness fields and
stats are absent in that case.routerTokenEligible is reported as true when the collateral token exposes no identity registry and no contract allow-list, because eligibility cannot be evaluated without one. That is an unknown, not a pass. routerTokenRequirement reads none_required in that case. Confirm the router’s compliance status out of band for such markets.The two role flags answer for different wallets.
liquidatorRoleReady answers for signerAddress, or your instance’s primary verified wallet when it is omitted, and also counts a connected liquidation bot. operatorRoleReady answers for the liquidation operator the market records, and falls back to that same wallet only when the market records none. The settlement endpoints of this API, apart from Sell Pending Liquidation, check OPERATOR_ROLE against your instance’s primary verified wallet, so a market whose operator is a different wallet settles outside this API.atomic or leave it out.
curl "https://api.trusset.org/lending-external-securities-v2/api/liquidations/{marketId}/config" \
-H "X-API-Key: trusset_your_key_here"
const res = await fetch(
`https://api.trusset.org/lending-external-securities-v2/api/liquidations/${marketId}/config`,
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
if (data.readFailed) console.warn(data.unverifiedReason);
if (!data.canRealizeNow) console.warn(data.blockedReason);
{
"success": true,
"data": {
"marketId": "clx_secmarket_001",
"marketAddress": "0x70a0e25c7b768b87e658348b3b577678a173e038",
"routerAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"routerAuthorized": true,
"routerTokenEligible": true,
"routerTokenRequirement": "adapter_must_be_verified_holder",
"operatorRoleReady": true,
"operatorAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"operatorDeclared": true,
"liquidatorRoleReady": true,
"liquidatorViaBot": false,
"liquidatorBotAddress": null,
"signerAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"collateralTransferChecked": true,
"collateralTransferAllowed": true,
"collateralTransferCode": 0,
"collateralTransferReason": null,
"collateralTransferAmount": "1500000000000000000000",
"saleRecipient": "0x5a72e0b41d3f8c62079ae4b1d38f0c95261ba473",
"saleRecipientFixed": true,
"saleRecipientRotatable": true,
"configuredSaleVenue": null,
"saleVenue": "0x5a72e0b41d3f8c62079ae4b1d38f0c95261ba473",
"saleDeliveryChecked": true,
"saleDeliveryAllowed": true,
"saleDeliveryCode": 0,
"saleDeliveryAmount": "1500000000000000000000",
"auctionVenue": null,
"auctionVenueAdmitted": null,
"auctionVenueRequirement": null,
"dutchAuctionEnabled": false,
"declaredRealization": "EXCHANGE_SALE",
"auctionPathMissing": false,
"priceStale": false,
"priceAge": 184,
"seizureConfigured": true,
"isConfigured": true,
"readFailed": false,
"blockedConfirmed": false,
"seizureBlockedConfirmed": false,
"unverifiedReason": null,
"unverifiedSections": null,
"errors": null,
"canSeizeNow": true,
"canRealizeNow": true,
"blockedReason": null,
"atomic": {
"routerAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"available": true,
"mode": 0,
"modeName": "TWO_STEP",
"effective": false,
"saleRecipient": "0x5a72e0b41d3f8c62079ae4b1d38f0c95261ba473",
"buyerAvailable": false,
"code": null,
"reasonCode": "NO_BID",
"saleBasis": {
"available": true,
"priceSource": "MARKET",
"realizationMode": "EXCHANGE_SALE",
"reasonCode": null,
"reason": null
}
},
"liquidationRouterAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"stats": {
"totalLiquidations": 2,
"pendingLiquidationDebt": "0.0",
"totalAuctions": 0
}
}
}
{
"success": true,
"data": {
"marketId": "clx_secmarket_001",
"marketAddress": "0x70a0e25c7b768b87e658348b3b577678a173e038",
"routerAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"routerAuthorized": true,
"routerTokenEligible": false,
"routerTokenRequirement": "adapter_must_be_verified_holder",
"operatorRoleReady": true,
"operatorAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"operatorDeclared": true,
"liquidatorRoleReady": true,
"liquidatorViaBot": false,
"liquidatorBotAddress": null,
"signerAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"collateralTransferChecked": true,
"collateralTransferAllowed": false,
"collateralTransferCode": 2,
"collateralTransferReason": "The collateral token blocks the seizure transfer from the custody adapter 0x3f0b7d52c1e84a96b0d7c3e5a18f27d946c1b0e2 to the liquidation router 0x067a3feea46649adad8e31c33b3a4d8774b8d8cf: the receiver is not a verified holder on this token. Restore the receiver's verified status on the collateral token's identity registry for 0x067a3feea46649adad8e31c33b3a4d8774b8d8cf.",
"collateralTransferAmount": "1500000000000000000000",
"saleRecipient": null,
"saleRecipientFixed": true,
"saleRecipientRotatable": true,
"configuredSaleVenue": null,
"saleVenue": null,
"saleDeliveryChecked": false,
"saleDeliveryAllowed": null,
"saleDeliveryCode": null,
"saleDeliveryAmount": null,
"auctionVenue": null,
"auctionVenueAdmitted": null,
"auctionVenueRequirement": null,
"dutchAuctionEnabled": false,
"declaredRealization": "EXCHANGE_SALE",
"auctionPathMissing": false,
"priceStale": false,
"priceAge": 92,
"seizureConfigured": false,
"isConfigured": false,
"readFailed": false,
"blockedConfirmed": true,
"seizureBlockedConfirmed": true,
"unverifiedReason": null,
"unverifiedSections": null,
"errors": null,
"canSeizeNow": false,
"canRealizeNow": false,
"blockedReason": "The liquidation router 0x067a3feea46649adad8e31c33b3a4d8774b8d8cf is not a verified holder in the collateral token's identity registry, so it cannot receive seized collateral.",
"liquidationRouterAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"stats": {
"totalLiquidations": 0,
"pendingLiquidationDebt": "0.0",
"totalAuctions": 0
}
}
}
Transfer Restriction Codes
collateralTransferCode and saleDeliveryCode are the collateral token’s own transfer restriction codes. 0 means the transfer is permitted, and null means the check did not run.
| Code | Meaning | Lever that lifts it |
|---|---|---|
1 | The sender is not a verified holder on this token | Restore the sender’s verified status on the token’s identity registry, or allow-list it on a token without a registry |
2 | The receiver is not a verified holder on this token | Restore the receiver’s verified status on the token’s identity registry, or allow-list it on a token without a registry |
3 | The sender address is frozen on this token | Unfreeze the sender address |
4 | The receiver address is frozen on this token | Unfreeze the receiver address |
5 | The token compliance module rejects this transfer | Lift the restriction on the token’s compliance contract |
6 | The token is paused | Un-pause the token |
7 | The sender does not hold enough of the collateral token | Fund the sender’s balance of the collateral token |
Error Codes
| Code | HTTP | Cause |
|---|---|---|
MISSING_MARKET_ID | 400 | marketId is longer than 100 characters |
NO_MARKET_ADDRESS | 400 | The market has no on-chain address recorded |
MARKET_NOT_FOUND | 404 | No market with this ID on your instance |
⌘I
curl "https://api.trusset.org/lending-external-securities-v2/api/liquidations/{marketId}/config" \
-H "X-API-Key: trusset_your_key_here"
const res = await fetch(
`https://api.trusset.org/lending-external-securities-v2/api/liquidations/${marketId}/config`,
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
if (data.readFailed) console.warn(data.unverifiedReason);
if (!data.canRealizeNow) console.warn(data.blockedReason);
{
"success": true,
"data": {
"marketId": "clx_secmarket_001",
"marketAddress": "0x70a0e25c7b768b87e658348b3b577678a173e038",
"routerAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"routerAuthorized": true,
"routerTokenEligible": true,
"routerTokenRequirement": "adapter_must_be_verified_holder",
"operatorRoleReady": true,
"operatorAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"operatorDeclared": true,
"liquidatorRoleReady": true,
"liquidatorViaBot": false,
"liquidatorBotAddress": null,
"signerAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"collateralTransferChecked": true,
"collateralTransferAllowed": true,
"collateralTransferCode": 0,
"collateralTransferReason": null,
"collateralTransferAmount": "1500000000000000000000",
"saleRecipient": "0x5a72e0b41d3f8c62079ae4b1d38f0c95261ba473",
"saleRecipientFixed": true,
"saleRecipientRotatable": true,
"configuredSaleVenue": null,
"saleVenue": "0x5a72e0b41d3f8c62079ae4b1d38f0c95261ba473",
"saleDeliveryChecked": true,
"saleDeliveryAllowed": true,
"saleDeliveryCode": 0,
"saleDeliveryAmount": "1500000000000000000000",
"auctionVenue": null,
"auctionVenueAdmitted": null,
"auctionVenueRequirement": null,
"dutchAuctionEnabled": false,
"declaredRealization": "EXCHANGE_SALE",
"auctionPathMissing": false,
"priceStale": false,
"priceAge": 184,
"seizureConfigured": true,
"isConfigured": true,
"readFailed": false,
"blockedConfirmed": false,
"seizureBlockedConfirmed": false,
"unverifiedReason": null,
"unverifiedSections": null,
"errors": null,
"canSeizeNow": true,
"canRealizeNow": true,
"blockedReason": null,
"atomic": {
"routerAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"available": true,
"mode": 0,
"modeName": "TWO_STEP",
"effective": false,
"saleRecipient": "0x5a72e0b41d3f8c62079ae4b1d38f0c95261ba473",
"buyerAvailable": false,
"code": null,
"reasonCode": "NO_BID",
"saleBasis": {
"available": true,
"priceSource": "MARKET",
"realizationMode": "EXCHANGE_SALE",
"reasonCode": null,
"reason": null
}
},
"liquidationRouterAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"stats": {
"totalLiquidations": 2,
"pendingLiquidationDebt": "0.0",
"totalAuctions": 0
}
}
}
{
"success": true,
"data": {
"marketId": "clx_secmarket_001",
"marketAddress": "0x70a0e25c7b768b87e658348b3b577678a173e038",
"routerAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"routerAuthorized": true,
"routerTokenEligible": false,
"routerTokenRequirement": "adapter_must_be_verified_holder",
"operatorRoleReady": true,
"operatorAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"operatorDeclared": true,
"liquidatorRoleReady": true,
"liquidatorViaBot": false,
"liquidatorBotAddress": null,
"signerAddress": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
"collateralTransferChecked": true,
"collateralTransferAllowed": false,
"collateralTransferCode": 2,
"collateralTransferReason": "The collateral token blocks the seizure transfer from the custody adapter 0x3f0b7d52c1e84a96b0d7c3e5a18f27d946c1b0e2 to the liquidation router 0x067a3feea46649adad8e31c33b3a4d8774b8d8cf: the receiver is not a verified holder on this token. Restore the receiver's verified status on the collateral token's identity registry for 0x067a3feea46649adad8e31c33b3a4d8774b8d8cf.",
"collateralTransferAmount": "1500000000000000000000",
"saleRecipient": null,
"saleRecipientFixed": true,
"saleRecipientRotatable": true,
"configuredSaleVenue": null,
"saleVenue": null,
"saleDeliveryChecked": false,
"saleDeliveryAllowed": null,
"saleDeliveryCode": null,
"saleDeliveryAmount": null,
"auctionVenue": null,
"auctionVenueAdmitted": null,
"auctionVenueRequirement": null,
"dutchAuctionEnabled": false,
"declaredRealization": "EXCHANGE_SALE",
"auctionPathMissing": false,
"priceStale": false,
"priceAge": 92,
"seizureConfigured": false,
"isConfigured": false,
"readFailed": false,
"blockedConfirmed": true,
"seizureBlockedConfirmed": true,
"unverifiedReason": null,
"unverifiedSections": null,
"errors": null,
"canSeizeNow": false,
"canRealizeNow": false,
"blockedReason": "The liquidation router 0x067a3feea46649adad8e31c33b3a4d8774b8d8cf is not a verified holder in the collateral token's identity registry, so it cannot receive seized collateral.",
"liquidationRouterAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
"stats": {
"totalLiquidations": 0,
"pendingLiquidationDebt": "0.0",
"totalAuctions": 0
}
}
}
