Agents
Treasury Steward
Enforces the treasury's rules, with proof.
Give it the treasury's assets and its investment policy (minimum liquidity, maximum holder concentration, maximum funding, maximum exchange inflow, mint authority, maximum exit slippage, maximum share of market cap). It tests every asset against every rule — exit slippage with a live DEX quote for the actual position size — and returns pass/fail per rule per asset, each backed by a proof id, ready to attach to a governance vote.
When to use it #
- A DAO or company treasury must prove its holdings meet its investment policy.
- Before a governance vote, to attach evidence to a proposal.
Built for: DAO treasuries & vaults · Risk & compliance teams
How it decides #
- Checks every asset against every rule: minimum depth, top-10 holders, funding, exchange inflow, mint authority, exit slippage for the whole position, and share of market cap.
- Exit slippage uses the cheaper of a live on-chain sell quote and the exchange order books.
- Native coins (ADA, SOL, ETH…) have no token contract, so no admin can mint; the mint rule passes for them.
Verdicts #
| Verdict | Meaning |
|---|---|
| COMPLIANT | Every asset passes every rule. |
| BREACH | At least one rule fails. |
| INCOMPLETE | No failures, but at least one rule could not be measured. |
Input #
/v1/agents/treasury-stewardBody
assetsobject[]requiredpolicyobjectrequiredpolicy.min_depth_usdnumberoptionalMinimum liquidity within 2% of pricepolicy.max_top10_holder_pctnumberoptionalpolicy.max_funding_pctnumberoptionalpolicy.max_exchange_inflow_usdnumberoptionalpolicy.allow_mint_authoritybooleanoptionalpolicy.max_exit_slippage_pctnumberoptionalLargest acceptable price impact to sell the whole positionpolicy.max_position_pct_of_market_capnumberoptional
Examples #
Real runs, captured from the live service.
A $20K community treasury in ADA, LINK and SOL
curl -X POST "https://coingraph.ai/api/v1/agents/treasury-steward" \
-H "content-type: application/json" \
-d '{"assets":[{"token":"cardano","value_usd":9000},{"token":"chainlink","value_usd":6000},{"token":"solana","value_usd":5000}],"policy":{"min_depth_usd":500000,"max_exit_slippage_pct":1,"allow_mint_authority":false,"max_position_pct_of_market_cap":0.5}}'{
"object": "agent_run",
"id": "run_51d0dbf65d40e51b307f",
"as_of": "2026-10-06T23:23:27.252Z",
"data": {
"run_id": "run_51d0dbf65d40e51b307f",
"agent": "treasury-steward",
"agent_version": "1.0.0",
"as_of": "2026-10-06T23:23:27.252Z",
"verdict": "COMPLIANT",
"summary": "All 3 assets ($20K) comply with the policy.",
"result": {
"assets": [
{
"token": {
"id": "cardano",
"symbol": "ADA"
},
"value_usd": 9000,
"status": "compliant",
"rules": {
"min_depth_usd": {
"result": "pass",
"detail": "required $500K, available $70.9M"
},
"allow_mint_authority": {
"result": "pass",
"detail": "native coin: no token contract, so no admin can mint or freeze; new supply follows the protocol's issuance rules"
},
"max_exit_slippage_pct": {
"result": "pass",
"detail": "selling $9K costs about under 0.01% on exchange order books (limit 1%)"
},
"max_position_pct_of_market_cap": {
"result": "pass",
"detail": "0.000% of market cap (limit 0.5%)"
}
},
"check": "proceed",
"proof_id": "eval_cb74732ac83a2e5f3a9f"
},
{
"token": {
"id": "chainlink",
"symbol": "LINK"
},
"value_usd": 6000,
"status": "compliant",
"rules": {
"min_depth_usd": {
"result": "pass",
"detail": "required $500K, available $3.3M"
},
"allow_mint_authority": {
"result": "pass",
"detail": "no mint or freeze authority"
},
"max_exit_slippage_pct": {
"result": "pass",
"detail": "selling $6K costs about under 0.01% on exchange order books (limit 1%)"
},
"max_position_pct_of_market_cap": {
"result": "pass",
"detail": "0.000% of market cap (limit 0.5%)"
}
},
"check": "proceed",
"proof_id": "eval_3f9d49bd4f48c9afe69d"
},
{
"token": {
"id": "solana",
"symbol": "SOL"
},
"value_usd": 5000,
"status": "compliant",
"rules": {
"min_depth_usd": {
"result": "pass",
"detail": "required $500K, available $109.7M"
},
"allow_mint_authority": {
"result": "pass",
"detail": "native coin: no token contract, so no admin can mint or freeze; new supply follows the protocol's issuance rules"
},
"max_exit_slippage_pct": {
"result": "pass",
"detail": "selling $5K costs about under 0.01% on exchange order books (limit 1%)"
},
"max_position_pct_of_market_cap": {
"result": "pass",
"detail": "0.000% of market cap (limit 0.5%)"
}
},
"check": "proceed",
"proof_id": "eval_de710b558e9e465fccd9"
}
],
"policy": {
"min_depth_usd": 500000,
"allow_mint_authority": false,
"max_exit_slippage_pct": 1,
"max_position_pct_of_market_cap": 0.5
},
"total_usd": 20000
},
"reasons": [],
"warnings": [],
"links": {
"proof_ADA": "/api/v1/verify/eval_cb74732ac83a2e5f3a9f",
"proof_LINK": "/api/v1/verify/eval_3f9d49bd4f48c9afe69d",
"proof_SOL": "/api/v1/verify/eval_de710b558e9e465fccd9"
},
"disclaimer": "CoinGraph never trades, holds funds or gives financial advice. The caller decides.",
"hash": "87ab1fdbf5b5d32ae89cadcfbbb772284fb05c18562c858b7f36504941f03922",
"verify_url": "https://coingraph.ai/api/v1/verify/run_51d0dbf65d40e51b307f"
},
"sources": []
}Result fields #
Inside data.result:
| Field | Contents |
|---|---|
assets[] | Token, value, status, every rule's pass / fail / unknown with detail, and a proof id. |
total_usd | The treasury's total. |
Use it from Claude #
With CoinGraph connected (how), ask in plain words, or call the tool directly:
{
"name": "run_treasury_steward",
"arguments": {
"assets": [
{
"token": "cardano",
"value_usd": 9000
},
{
"token": "chainlink",
"value_usd": 6000
},
{
"token": "solana",
"value_usd": 5000
}
],
"policy": {
"min_depth_usd": 500000,
"max_exit_slippage_pct": 1,
"allow_mint_authority": false,
"max_position_pct_of_market_cap": 0.5
}
}
}The proof for any run: https://coingraph.ai/proof/run_…