> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aultblockchain.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lending Pools & Assets

> [!NOTE]
>
> **Testnet-Only.** Use `https://test-dex-api.cloud.aultblockchain.xyz` for these endpoints and the matching Testnet chain for signed actions. This product is not available on Mainnet.

Discover Lending pools, asset limits, liquidity and oracle inputs. Supply, borrow, repay and collateral changes remain signed chain operations. See [Lending](https://docs.aultblockchain.com/ault-dex/lending.md) for their rules.

## Routes

Paths below start with `/api/v1/lending`. All use `GET`.

| Suffix | Query | Body |
| - | - | - |
| `/params` | None | `Params` |
| `/pools` | Optional `borrowable_denom`, `collateral_denom` | `PoolSummary[]` |
| `/pools/{pool_id}` | None | `Pool` |
| `/pools/{pool_id}/assets` | Optional boolean `borrowable`, `collateral` | `AssetSummary[]` |
| `/pools/{pool_id}/assets/{denom}` | None | `Asset` |
| `/pools/{pool_id}/assets/{denom}/state` | None | `AssetState` |
| `/pools/{pool_id}/assets/{denom}/oracle` | None | `AssetOracle` |

`pool_id` is a positive decimal uint64. Use the chain denom, not the display token symbol, and percent-encode it in a path.

Malformed parameters return 400; absent pool/asset resources return 404; database failures return 500. These reference lists are not paginated.

## Units and availability

Asset caps, balances and liquidity use **raw denom base-unit strings**; shares use raw share units.
APYs, per-second rates, utilization, LTV, thresholds and deviation bounds are decimal ratios.
Asset-curve `rates` instead uses **annual basis points**, for example `"1000"` means 10% annual
before the model's utilization interpolation. `kinks` contains utilization ratios.

`rates` is always a response key but can be **null** when the indexed curve is absent or stored as
JSON null. Treat a missing curve as unavailable data until a later response supplies it.
An explicit array, including `[]`, is different from null. Do not infer zero interest from missing
curve data or reconstruct it from legacy slopes. Accounting remains readable, while the asset-state
per-second rate and APY fields stay null until the curve is available. `maxOracleStalenessMicroseconds` is a duration in microseconds, even though response timestamps use milliseconds.

`totalSupplyAssets` and `totalBorrowAssets` include indexed accrual. They are not separate principal and interest balances. `availableLiquidityAssets` constrains exits independently of a supplier's share balance. APYs can be null when they cannot be calculated; a missing observation is not a zero yield.

`AssetOracle` exposes the feed chosen for this pool asset, its source observation time, and `stale`, `marketOpen`, `bridgeActive`. Use it with the pool's checks rather than treating receipt of any price as permission to borrow or liquidate. The broader feed registry is [Oracle Prices](https://docs.aultblockchain.com/dex-api/rest/oracle.md).

```bash theme={null}
curl -fsS "$API_URL/api/v1/lending/pools"
# DENOM must be the exact asset denom, and POOL_ID a returned poolId.
curl -fsS --get "$API_URL/api/v1/lending/pools/$POOL_ID/assets" \
  --data-urlencode 'borrowable=true'
```

## Response field reference

Types below describe JSON, not numeric units. See the unit notes above. Nullable values must not be replaced with zero.

> [accordion] Params
>
> | Field | JSON type |
> | - | - |
> | `maxProtocolFeeRate` | string |
> | `assetRiskUpdateDelaySeconds` | number |
> | `minResidualDebtValue` | string |
> | `maxBorrowRate` | string or null |
> | `maxLiquidationFeeRate` | string or null |
> | `insuranceFundAllocationRate` | string |
> | `borrowOracleChecks` | number |
> | `withdrawCollateralOracleChecks` | number |
> | `liquidationOracleChecks` | number |
> | `marginSettlementOracleChecks` | number or null |

> [accordion] PoolSummary
>
> | Field | JSON type |
> | - | - |
> | `poolId` | string |
> | `owner` | string |
> | `borrowableDenoms` | array of string |
> | `collateralDenoms` | array of string |

> [accordion] Pool
>
> | Field | JSON type |
> | - | - |
> | `owner` | string |
> | `allowSocialize` | boolean |
> | `targetHealthFactor` | string |
> | `minBonus` | string |
> | `maxBonusHealthFactor` | string |
> | `protocolFeeRate` | string |
> | `liquidationFeeRate` | string or null |
> | `maxOracleStalenessMicroseconds` | number |
> | `maxOracleDeviationRatio` | string |
> | `disabledActions` | array of string |

> [accordion] AssetSummary
>
> | Field | JSON type |
> | - | - |
> | `poolId` | string |
> | `denom` | string |
> | `isBorrowable` | boolean |
> | `isCollateral` | boolean |
> | `supplyCap` | string |
> | `borrowCap` | string |

> [accordion] Asset
>
> | Field | JSON type |
> | - | - |
> | `poolId` | string |
> | `denom` | string |
> | `isBorrowable` | boolean |
> | `isCollateral` | boolean |
> | `ltv` | string |
> | `liquidationThreshold` | string |
> | `maxBonus` | string |
> | `supplyCap` | string |
> | `borrowCap` | string |
> | `kinks` | array of string |
> | `rates` | array of string or null |
> | `oracleAsset` | string |
> | `spotMarketId` | string or null |
> | `spotQuoteOracleDenom` | string or null |

> [accordion] AssetState
>
> | Field | JSON type |
> | - | - |
> | `totalSupplyAssets` | string |
> | `totalSupplyShares` | string |
> | `totalBorrowAssets` | string |
> | `totalBorrowShares` | string |
> | `availableLiquidityAssets` | string |
> | `supplyCapRemainingAssets` | string |
> | `borrowCapRemainingAssets` | string |
> | `utilization` | string |
> | `borrowRatePerSecond` | string or null |
> | `supplyRatePerSecond` | string or null |
> | `borrowApy` | string or null |
> | `supplyApy` | string or null |
> | `protocolFee` | string |
> | `deficit` | string |
> | `lastAccruedAt` | number or null |

> [accordion] AssetOracle
>
> | Field | JSON type |
> | - | - |
> | `poolId` | string |
> | `denom` | string |
> | `oracleAsset` | string |
> | `price` | string |
> | `updatedAt` | number |
> | `stale` | boolean |
> | `marketOpen` | boolean |
> | `bridgeActive` | boolean or null |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.