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.
A name or symbol search for "dammstable" returns dozens of other vaults that share this fund's name or symbol, some of which hold small balances. Only the address and chainId above are the DAMM Stablecoin Fund. Always pin them. Never resolve the vault by name.
Anyone can read this data. Only approved addresses can deposit into or redeem from the vault. Email [email protected] before you deposit, then follow the DAMMstable deposit guide.
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, where 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. Both are already in percent (e.g.4.99= 4.99%). AnullAPR 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. Cadence is irregular (gaps from under a day
to several weeks), so check the last point's x for the NAV's age.
3. Transaction / event history
Every indexed event: deposits, redeem requests, settlements, fees taken and
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
wherefilters:type_in: [Deposit, SettleDeposit, FeeTaken, RedeemRequest],timestamp_gte,owner_in,controller_in. - A depositor's money leaves their wallet at
DepositRequest; theDepositevent fires later, at claim time. Date flows fromDepositRequest. - A redeem's share burn appears as a
Transferto the vault's pending silo (0x4cce6fb349a959475398859fa7830010038c0c5c), not to a third-party counterparty.
Caveat: composition data is incomplete
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.