addedInput schema / description
Added value: +"Send pool_id alone, or chain plus token_a and token_b, for example {\"chain\": \"ethereum\", \"token_a\": \"WETH\", \"token_b\": \"USDC\"}. pool_address alone always returns needs_tokens."
changedInput schema / properties / chain / description
Previous value: -"Chain name or short alias, such as ethereum, base, arbitrum, optimism, polygon, bsc, avalanche, or solana"New value: +"Chain name or short alias, used with token_a and token_b: ethereum, base, arbitrum, optimism, polygon, bsc, avalanche, solana, zksync, linea, gnosis, scroll, mantle, celo, sonic, or sui. Aliases such as eth, arb, op, bnb, matic, avax, and sol also work"
changedInput schema / properties / pool_address / description
Previous value: -"Pool contract address. The open yields index does not list pool contract addresses; pass token addresses or a pool id instead if this cannot be matched"New value: +"Pool contract address. The open yields index has no pool contract addresses, so this always returns needs_tokens. Prefer pool_id, or chain with token_a and token_b"
changedInput schema / properties / pool_id / description
Previous value: -"DefiLlama pool id (a UUID), from find_active_pools or a previous answer"New value: +"DefiLlama pool id, a UUID such as \"b99bcdf5-1350-4269-981e-0e9b5cccb007\", from find_active_pools or other_tiers. Send it alone"
changedInput schema / properties / token_a / description
Previous value: -"Token symbol or contract address"New value: +"First token symbol or contract address, such as \"WETH\" or \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\". Needs chain and token_b"
changedInput schema / properties / token_b / description
Previous value: -"The other token's symbol or contract address"New value: +"Second token symbol or contract address, such as \"USDC\""
removedOutput schema / properties / active_range / additionalProperties
Removed value: -true
addedOutput schema / properties / active_range / description
Added value: +"The open index does not publish the current tick band"
addedOutput schema / properties / active_range / properties
Added value: +{
+ "message": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "not_in_index"
+ ],
+ "type": "string"
+ }
+}
addedOutput schema / properties / active_range / required
Added value: +[
+ "status",
+ "message"
+]
addedOutput schema / properties / apr_flag / description
Added value: +"real: steady trading. spike: a short burst, not a steady rate. unconfirmed: no 7-day comparison, do not call it real"
addedOutput schema / properties / as_of / description
Added value: +"ISO 8601 UTC time of the yields index read, or null when nothing was read"
removedOutput schema / properties / estimate / additionalProperties
Removed value: -true
addedOutput schema / properties / estimate / description
Added value: +"Fee-versus-impermanent-loss estimate, present only when holding_days and price_now were passed"
addedOutput schema / properties / estimate / properties
Added value: +{
+ "assumptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "break_even_line": {
+ "type": "string"
+ },
+ "break_even_prices": {
+ "description": "Later prices where the net result crosses zero, from a sample",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
+ },
+ "cost_fraction": {
+ "description": "(gas_usd + exit_cost_usd) / capital_usd. null without capital_usd",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "exit_cost_usd": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "fee_fraction": {
+ "description": "Expected fee income over the holding period, as a fraction of the position: 0.0153 means 1.53%",
+ "type": "number"
+ },
+ "fees_cover_il_and_costs": {
+ "description": "null without price_later",
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "formula": {
+ "type": "string"
+ },
+ "gas_usd": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "il_fraction_at_later": {
+ "description": "Impermanent loss at price_later as a negative fraction. null without price_later",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "in_range_now": {
+ "description": "Whether price_now is inside the range. null for the full-range formula",
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "net_versus_holding_at_later": {
+ "description": "fee_fraction + il_fraction_at_later - cost_fraction",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "sampled_edges": {
+ "items": {
+ "properties": {
+ "il_fraction": {
+ "type": "number"
+ },
+ "net_versus_holding": {
+ "type": "number"
+ },
+ "price": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "price",
+ "il_fraction",
+ "net_versus_holding"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "warnings": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+}
addedOutput schema / properties / fee_apr_formula
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / message / description
Added value: +"What happened and what to pass next"
addedOutput schema / properties / other_tiers / description
Added value: +"Other matching pools or fee tiers. Pass one pool_id from here to read it"
addedOutput schema / properties / other_tiers / items / properties / fee_rate / description
Added value: +"Swap fee as a fraction, not a percent: 0.003 means 0.3%. Read from pool_meta"
addedOutput schema / properties / other_tiers / items / properties / fee_rate / minimum
Added value: +0
addedOutput schema / properties / other_tiers / items / properties / pool_meta / description
Added value: +"DefiLlama pool label, often the fee tier such as \"0.3%\""
addedOutput schema / properties / other_tiers / items / properties / tvl_usd / description
Added value: +"Total value locked in the pool, in USD"
addedOutput schema / properties / other_tiers / items / properties / windows / properties / fee_apr_percent_1d / description
Added value: +"Fee APR in percent from 1-day volume: volume x fee_rate x 365 / TVL x 100"
addedOutput schema / properties / other_tiers / items / properties / windows / properties / fee_apr_percent_7d / description
Added value: +"Fee APR in percent from 7-day volume, annualized the same way"
addedOutput schema / properties / other_tiers / items / properties / windows / properties / volume_usd_1d / description
Added value: +"Trading volume over the last day, in USD"
addedOutput schema / properties / other_tiers / items / properties / windows / properties / volume_usd_7d / description
Added value: +"Trading volume over the last 7 days, in USD"
addedOutput schema / properties / pool / properties / fee_rate / description
Added value: +"Swap fee as a fraction, not a percent: 0.003 means 0.3%. Read from pool_meta"
addedOutput schema / properties / pool / properties / fee_rate / minimum
Added value: +0
addedOutput schema / properties / pool / properties / pool_meta / description
Added value: +"DefiLlama pool label, often the fee tier such as \"0.3%\""
addedOutput schema / properties / pool / properties / tvl_usd / description
Added value: +"Total value locked in the pool, in USD"
addedOutput schema / properties / pool / properties / windows / properties / fee_apr_percent_1d / description
Added value: +"Fee APR in percent from 1-day volume: volume x fee_rate x 365 / TVL x 100"
addedOutput schema / properties / pool / properties / windows / properties / fee_apr_percent_7d / description
Added value: +"Fee APR in percent from 7-day volume, annualized the same way"
addedOutput schema / properties / pool / properties / windows / properties / volume_usd_1d / description
Added value: +"Trading volume over the last day, in USD"
addedOutput schema / properties / pool / properties / windows / properties / volume_usd_7d / description
Added value: +"Trading volume over the last 7 days, in USD"
addedOutput schema / properties / price_trend / description
Added value: +"Price change per token from DefiLlama coins"
removedOutput schema / properties / price_trend / items / additionalProperties
Removed value: -true
addedOutput schema / properties / price_trend / items / properties
Added value: +{
+ "change_1d_percent": {
+ "description": "Price change over 1 day, in percent",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "change_7d_percent": {
+ "description": "Price change over 7 days, in percent",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "points": {
+ "description": "How many price points the change uses",
+ "type": "integer"
+ },
+ "status": {
+ "description": "unsupported: no public source covers this chain",
+ "enum": [
+ "ok",
+ "unavailable",
+ "unsupported"
+ ],
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ }
+}
addedOutput schema / properties / price_trend / items / required
Added value: +[
+ "token",
+ "status",
+ "change_1d_percent",
+ "change_7d_percent",
+ "points"
+]
removedOutput schema / properties / sources / items / additionalProperties
Removed value: -true
addedOutput schema / properties / sources / items / properties
Added value: +{
+ "as_of": {
+ "description": "ISO 8601 UTC time of the yields index read, or null when nothing was read",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "type": "string"
+ },
+ "note": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+}
addedOutput schema / properties / sources / items / required
Added value: +[
+ "name",
+ "as_of"
+]
addedOutput schema / properties / status / description
Added value: +"ok: one pool read. ambiguous: several pools, see other_tiers. needs_tokens: pass token addresses or a pool id. not_found: no match. unavailable: a source did not answer"
addedOutput schema / properties / token_risk / description
Added value: +"GoPlus token-security flags per token, when the chain is covered"
removedOutput schema / properties / token_risk / items / additionalProperties
Removed value: -true
addedOutput schema / properties / token_risk / items / properties
Added value: +{
+ "buy_tax": {
+ "description": "GoPlus scale, where 1 means 100%",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "cannot_buy": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "freeze_or_blacklist": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "holder_count": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "honeypot": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "mintable": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "notes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sell_tax": {
+ "description": "GoPlus scale, where 1 means 100%",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "severe": {
+ "description": "True when a severe flag is set, such as honeypot or cannot-buy",
+ "type": "boolean"
+ },
+ "status": {
+ "description": "unsupported: no public source covers this chain",
+ "enum": [
+ "ok",
+ "unavailable",
+ "unsupported"
+ ],
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ },
+ "top10_holder_percent": {
+ "description": "Share held by the 10 largest holders, in percent",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "top_holder_percent": {
+ "description": "Share held by the largest holder, in percent",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "trading_cooldown": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "transfer_pausable": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "trusted": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ }
+}
addedOutput schema / properties / token_risk / items / required
Added value: +[
+ "token",
+ "status",
+ "severe",
+ "notes"
+]