Skip to main content

DAMMstable — API access

Fetch live and historical data for the DAMM Stablecoin Fund from the Lagoon API. See Integrations for the endpoint, conventions, and response shapes shared by all funds.

chainId
42161 · Arbitrum
Asset
USDT0 (6 decimals)
Curator
DAMM Capital
Access
Whitelist
Pin the address — don't resolve by name

A name search for "dammstable" returns 65 hits: one other live vault plus dozens of zero-TVL factory test deploys, all sharing the name "DAMM Stablecoin Fund" and symbol DAMMstable. Always pin the exact address + chainId above.

Whitelist required to transact

Reading this data is open to everyone. Depositing into or redeeming from the vault requires your address to be whitelisted — request access via [email protected] or our Telegram group.

1. Core state, fees & APRs

curl -s -X POST https://api.lagoon.finance/query \
-H "Content-Type: application/json" \
-d '{"query":"{ vaultByAddress(address:\"0xe5d6eb448ac5a762c1ebe8cd1692b9cd08025176\", chainId:42161) { name symbol asset { symbol priceUsd } curators { name } state { totalAssets totalAssetsUsd totalSupply pricePerShare pricePerShareUsd managementFee performanceFee protocolFee entryRate exitRate isPaused syncMode accessMode weeklyApr { twrrNetApr linearNetApr } monthlyApr { twrrNetApr } yearlyApr { twrrNetApr } } } }"}'
  • Monetary fields are dual: raw on-chain BigInt (totalAssets, pricePerShare — USDT0 has 6 decimals) plus a convenience …Usd: Float.
  • Fees are basis points (1e4 = 100%). Current configuration: managementFee: 25 = 0.25%, performanceFee: 1750 = 17.5%, protocolFee: 750 = 7.5% (of collected fees), no entry/exit fees.
  • weeklyApr.twrrNetApr = time-weighted net APR; linearNetApr = simple. A null APR means insufficient recent settlement data for that window.

2. Historical time series

stateHistory returns an ascending series of {x: unixSeconds, y: value} points (max 1000 per field). Pass an optional options: {startTimestamp, endTimestamp} window.

curl -s -X POST https://api.lagoon.finance/query \
-H "Content-Type: application/json" \
-d '{"query":"{ vaultByAddress(address:\"0xe5d6eb448ac5a762c1ebe8cd1692b9cd08025176\", chainId:42161) { stateHistory { pricePerShareUsd(options:{}) { x y } totalAssetsUsd(options:{}) { x y } } } }"}'

Other series under stateHistory: totalAssets, totalSupply, pricePerShare, managementFee, performanceFee, protocolFee, highWaterMark. One point lands per settlement (roughly weekly).

3. Transaction / event history

Every indexed event — deposits, redeem requests, settlements, fees taken, rate updates. Filter with suffix operators (_eq, _in, _gte, …); paginate with first + skip.

curl -s -X POST https://api.lagoon.finance/query \
-H "Content-Type: application/json" \
-d '{"query":"{ transactions(first:10, skip:0, orderBy:timestamp, orderDirection:desc, where:{ vault_in:[\"0xe5d6eb448ac5a762c1ebe8cd1692b9cd08025176\"], chainId_eq:42161 }) { pageInfo { totalCount } items { type timestamp hash blockNumber } } }"}'
  • Useful where filters: type_in: [Deposit, SettleDeposit, FeeTaken, RedeemRequest], timestamp_gte, owner_in, controller_in.
  • A depositor's money leaves their wallet at DepositRequest; the Deposit event fires later, at claim time. Date flows from DepositRequest.
  • A redeem's share burn appears as a Transfer to the vault's pending silo (0x4cce6fb349a959475398859fa7830010038c0c5c), not to a third-party counterparty.

Caveat: composition data is incomplete

DAMMstable uses multiple Safes — Lagoon only sees some of them

DAMMstable spreads capital across several Safes, but the Lagoon composition feed (keyed off the vault's main Safe) only sees a subset — historically around 44% of TVL. Consequently composition.totalValueInUsd runs well below state.totalAssetsUsd, and the protocol/token breakdown reflects only the visible Safes.

✅ Trust state.totalAssets / totalAssetsUsd for fund size and share price. ❌ Do not treat composition as a complete allocation picture for DAMMstable.