ADEXTO

Launch, buy, stake and claim on bonding-curve token markets across five chains, with your own key.

Should I use this

Quality & Safety

A
Description quality
99%
Schema completeness
90%
Naming quality
84%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~10,190Tokens (tool definitions)
~7.6 KBTypical response size
Significant attention impact (7.96% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "url": "https://adexto.xyz/api/mcp"
    }
  }
}

Remote endpoints

https://adexto.xyz/api/mcpstreamable-http

What it can do

Tool inventory

Tools (14)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_markets

Every bonding-curve market this gateway can sell, across all chains it serves, with its ticker, chain, curve address and whether it is currently tradable. Free. Start here: the buy tools require a ticker and deliberately have no default.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "count": {
      "description": "Number of markets.",
      "type": [
        "number",
        "null"
      ]
    },
    "markets": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "symbol": {
            "description": "Ticker.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "Token name.",
            "type": [
              "string",
              "null"
            ]
          },
          "chainId": {
            "description": "Chain id of the market.",
            "type": [
              "number",
              "null"
            ]
          },
          "chain": {
            "description": "Chain name and id.",
            "type": [
              "string",
              "null"
            ]
          },
          "nativeSymbol": {
            "description": "Native asset of the chain.",
            "type": [
              "string",
              "null"
            ]
          },
          "token": {
            "description": "Token contract.",
            "type": [
              "string",
              "null"
            ]
          },
          "curve": {
            "description": "Bonding curve contract, or null when none is live.",
            "type": [
              "string",
              "null"
            ]
          },
          "tradable": {
            "description": "Whether the curve is live and can be bought.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "priceNative": {
            "description": "Last recorded price of one token in the chain's native asset.",
            "type": [
              "number",
              "null"
            ]
          },
          "historySource": {
            "description": "indexer, market-index or rpc-logs: which read path serves trade_history.",
            "type": [
              "string",
              "null"
            ]
          },
          "agentIdentity": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "standard": {
                    "description": "Always ERC-8004.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "agentId": {
                    "description": "ERC-8004 agent id on the market's chain.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "agentRegistry": {
                    "description": "eip155:<chainId>:<registry address>.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "source": {
                    "description": "token-contract when read from the token now, registry-copy when copied at launch.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ],
            "description": "The ERC-8004 agent the token is bound to, or null when unbound."
          }
        },
        "additionalProperties": {}
      },
      "description": "Every market served, on every chain."
    },
    "note": {
      "description": "How delivery works and what agentIdentity means.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢get_market(symbol, chainId)

Full detail for a single market: chain, curve address, supply, fee rates, current price in the chain's native asset, and which read path serves its trade history. Free.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "minLength": 1,
      "description": "Market ticker, for example PARCEL or ADEXTO. Required and has no default: the gateway refuses a missing ticker rather than quoting one, so a typo can never bill you for a token you did not ask for. Call list_markets first if you do not know it."
    },
    "chainId": {
      "description": "Chain id of the market, for a ticker that trades on more than one chain (list_markets shows chainId). Without it the oldest market for that ticker is used.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "symbol"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "error": {
      "description": "Present only when the tool refused, as a stable code such as unknown_market. Nothing was spent.",
      "type": [
        "string",
        "null"
      ]
    },
    "detail": {
      "description": "Why it refused, or extra context on a successful answer."
    },
    "symbol": {
      "description": "Ticker.",
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "description": "Token name.",
      "type": [
        "string",
        "null"
      ]
    },
    "slug": {
      "description": "URL slug of the market.",
      "type": [
        "string",
        "null"
      ]
    },
    "chainId": {
      "description": "Chain id of the market.",
      "type": [
        "number",
        "null"
      ]
    },
    "chain": {
      "description": "Chain name and id.",
      "type": [
        "string",
        "null"
      ]
    },
    "nativeSymbol": {
      "description": "Native asset of the chain.",
      "type": [
        "string",
        "null"
      ]
    },
    "token": {
      "description": "Token contract.",
      "type": [
        "string",
        "null"
      ]
    },
    "curve": {
      "description": "Bonding curve contract.",
      "type": [
        "string",
        "null"
      ]
    },
    "tradable": {
      "description": "Whether the curve is live.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "priceNative": {
      "description": "Price of one token in the native asset.",
      "type": [
        "number",
        "null"
      ]
    },
    "supply": {
      "description": "Total supply in whole tokens.",
      "type": [
        "number",
        "null"
      ]
    },
    "lpFeeBps": {
      "description": "Fee kept in the curve, in basis points.",
      "type": [
        "number",
        "null"
      ]
    },
    "treasuryBuybackBps": {
      "description": "Buyback-and-burn fee, in basis points.",
      "type": [
        "number",
        "null"
      ]
    },
    "creator": {
      "description": "Creator address, paid the creator fee.",
      "type": [
        "string",
        "null"
      ]
    },
    "launchTx": {
      "description": "Launch transaction.",
      "type": [
        "string",
        "null"
      ]
    },
    "launchBlock": {
      "description": "Launch block.",
      "type": [
        "number",
        "null"
      ]
    },
    "historySource": {
      "description": "indexer, market-index or rpc-logs: which read path serves trade_history.",
      "type": [
        "string",
        "null"
      ]
    },
    "buyResource": {
      "description": "x402 URL that sells this market.",
      "type": [
        "string",
        "null"
      ]
    },
    "agentIdentity": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "standard": {
              "description": "Always ERC-8004.",
              "type": [
                "string",
                "null"
              ]
            },
            "agentId": {
              "description": "ERC-8004 agent id on the market's chain.",
              "type": [
                "string",
                "null"
              ]
            },
            "agentRegistry": {
              "description": "eip155:<chainId>:<registry address>.",
              "type": [
                "string",
                "null"
              ]
            },
            "source": {
              "description": "token-contract when read from the token now, registry-copy when copied at launch.",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ],
      "description": "The ERC-8004 agent the token is bound to, or null when unbound."
    },
    "staking": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "contract": {
              "description": "Stake contract: the market's own, or its chain's stake hub.",
              "type": [
                "string",
                "null"
              ]
            },
            "kind": {
              "description": "dedicated or hub.",
              "type": [
                "string",
                "null"
              ]
            },
            "minStake": {
              "description": "Minimum active stake, in whole tokens.",
              "type": [
                "number",
                "null"
              ]
            },
            "token": {
              "description": "Token to stake.",
              "type": [
                "string",
                "null"
              ]
            },
            "howToStake": {
              "description": "The two calls a hub stake needs.",
              "type": [
                "string",
                "null"
              ]
            },
            "minimumRule": {
              "description": "How a hub minimum is derived.",
              "type": [
                "string",
                "null"
              ]
            },
            "unlocks": {
              "description": "What an active stake opens.",
              "type": [
                "string",
                "null"
              ]
            },
            "lock": {
              "description": "Always none: unstake works at any time.",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ],
      "description": "How to stake this market, or null when its chain has no stake contract."
    },
    "known": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "On unknown_market: the tickers that do exist."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢quote_buy(symbol, chainId, to)

Reads the gateway's HTTP 402 challenge for a market and returns the quote and payment requirements without spending anything. The challenge carries the exact amount, the asset, the payTo address and the EIP-3009 domain, so an agent can decide before it signs. Free. This is the tool to call before buy_token.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "minLength": 1,
      "description": "Market ticker, for example PARCEL or ADEXTO. Required and has no default: the gateway refuses a missing ticker rather than quoting one, so a typo can never bill you for a token you did not ask for. Call list_markets first if you do not know it."
    },
    "chainId": {
      "description": "Chain id of the market, for a ticker that trades on more than one chain (list_markets shows chainId). Without it the oldest market for that ticker is used.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "to": {
      "description": "Recipient address for the tokens. Optional for a quote; the curve delivers straight to it on a real buy.",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "httpStatus": {
      "description": "Status the gateway answered: 402 is a quote.",
      "type": [
        "number",
        "null"
      ]
    },
    "quoted": {
      "description": "True when the gateway returned a 402 quote.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "resource": {
      "description": "Gateway URL that was quoted.",
      "type": [
        "string",
        "null"
      ]
    },
    "challenge": {
      "description": "The gateway's answer: on 402, x402Version, accepts[0] with the payment terms, and quote."
    },
    "next": {
      "description": "What to do next.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢how_to_pay

The exact steps to turn a 402 challenge into a settled cross-chain buy: what to sign, which chain settles, and which header carries the payment. Free. Read this if you have never paid an x402 endpoint before.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "protocol": {
      "description": "Payment protocol.",
      "type": [
        "string",
        "null"
      ]
    },
    "settlementChain": {
      "description": "Chain the payment settles on.",
      "type": [
        "string",
        "null"
      ]
    },
    "settlementAsset": {
      "description": "Asset paid.",
      "type": [
        "string",
        "null"
      ]
    },
    "scheme": {
      "description": "x402 scheme and transfer method.",
      "type": [
        "string",
        "null"
      ]
    },
    "header": {
      "description": "Header that carries the payment.",
      "type": [
        "string",
        "null"
      ]
    },
    "headerNote": {
      "description": "Which payment header names the gateway reads.",
      "type": [
        "string",
        "null"
      ]
    },
    "steps": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Steps from challenge to settled buy."
    },
    "youNeverNeed": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "What a buyer never needs."
    },
    "orderOfOperations": {
      "description": "Delivery runs before the charge.",
      "type": [
        "string",
        "null"
      ]
    },
    "replayProtection": {
      "description": "Why one authorization cannot be spent twice.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🔴buy_token(symbol, chainId, to, xPayment)

Executes the buy. Called without xPayment it returns the HTTP 402 challenge, which is the correct first response and not an error. Called with a signed x402 payload in xPayment it settles on Base and the curve on the destination chain sends the tokens straight to `to`. You never need native gas on the destination chain and never need to bridge.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "minLength": 1,
      "description": "Market ticker, for example PARCEL or ADEXTO. Required and has no default: the gateway refuses a missing ticker rather than quoting one, so a typo can never bill you for a token you did not ask for. Call list_markets first if you do not know it."
    },
    "chainId": {
      "description": "Chain id of the market, for a ticker that trades on more than one chain (list_markets shows chainId). Without it the oldest market for that ticker is used.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "to": {
      "type": "string",
      "description": "Address that receives the tokens. The curve sends them here directly; we never custody them."
    },
    "xPayment": {
      "description": "Base64-encoded x402 payment payload containing the signed EIP-3009 authorization. Omit it to receive the 402 challenge first.",
      "type": "string"
    }
  },
  "required": [
    "symbol",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "httpStatus": {
      "description": "Status the gateway answered.",
      "type": [
        "number",
        "null"
      ]
    },
    "settled": {
      "description": "True when the payment settled and the tokens were delivered.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "paymentRequired": {
      "description": "True when this is the 402 challenge to sign.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "challenge": {
      "description": "On 402: the payment terms in accepts[0]."
    },
    "result": {
      "description": "On a paid call: delivery and settlement transactions, or the gateway's refusal."
    },
    "next": {
      "description": "What to do next.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🔴pay_and_buy(symbol, chainId)

Buys a market for real, completing the step an LLM cannot do alone: signing the EIP-3009 USDC authorisation. IMPORTANT for honest reporting — the signature is made by the operator's wallet on the server, not by a wallet you control, so describe the result as 'executed the purchase', not 'paid from my own funds'. Refuses unless the caller carries the agent key, and refuses any quote whose asset, network, recipient or amount does not match the hard-coded limits. Delivery always goes to the signer.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "minLength": 1,
      "description": "Market ticker, for example PARCEL or ADEXTO. Required and has no default: the gateway refuses a missing ticker rather than quoting one, so a typo can never bill you for a token you did not ask for. Call list_markets first if you do not know it."
    },
    "chainId": {
      "description": "Chain id of the market, for a ticker that trades on more than one chain (list_markets shows chainId). Without it the oldest market for that ticker is used.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "symbol"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "error": {
      "description": "Present only when the tool refused, as a stable code such as unknown_market. Nothing was spent.",
      "type": [
        "string",
        "null"
      ]
    },
    "detail": {
      "description": "Why it refused, or extra context on a successful answer."
    },
    "symbol": {
      "description": "Ticker bought.",
      "type": [
        "string",
        "null"
      ]
    },
    "chain": {
      "description": "Chain of the market.",
      "type": [
        "string",
        "null"
      ]
    },
    "httpStatus": {
      "description": "Status the gateway answered.",
      "type": [
        "number",
        "null"
      ]
    },
    "settled": {
      "description": "True when the payment settled.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "paidBy": {
      "description": "Operator wallet that signed the payment.",
      "type": [
        "string",
        "null"
      ]
    },
    "signedBy": {
      "description": "Who signed: the operator wallet on the server, not the agent.",
      "type": [
        "string",
        "null"
      ]
    },
    "amountUsdc": {
      "description": "USDC paid.",
      "type": [
        "string",
        "null"
      ]
    },
    "delivery": {
      "description": "Delivery transaction on the market's chain."
    },
    "settlement": {
      "description": "Settlement transaction on Base."
    },
    "buyback": {
      "description": "Automatic buyback result, when one ran."
    },
    "gatewayError": {
      "description": "The gateway's answer when it did not settle."
    },
    "terminal": {
      "description": "Market page.",
      "type": [
        "string",
        "null"
      ]
    },
    "retryAfterSeconds": {
      "description": "On rate_limited: seconds until the next purchase is allowed.",
      "type": [
        "number",
        "null"
      ]
    },
    "known": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "On unknown_market: the tickers that do exist."
    },
    "limits": {
      "description": "On refused_by_limits: the hard limits the quote did not meet."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢trade_history(symbol, chainId, limit)

Trade history for a market, newest first, with an explicit statement of whether it reaches the launch block. Free. Monad, Robinhood Chain and Arc are served by our Envio indexer and Base and Arbitrum One by our subgraph, both complete from the launch block; every market is also covered by our per-market index of every swap since launch, joined to a live log scan for the newest fills. When a market's index is still catching up or a read fails, the answer says so instead of presenting a shortened list as the whole history. Treasury buybacks are not trades and are not listed, although the curve's swapCount counts them.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "minLength": 1,
      "description": "Market ticker, for example PARCEL or ADEXTO. Required and has no default: the gateway refuses a missing ticker rather than quoting one, so a typo can never bill you for a token you did not ask for. Call list_markets first if you do not know it."
    },
    "chainId": {
      "description": "Chain id of the market, for a ticker that trades on more than one chain (list_markets shows chainId). Without it the oldest market for that ticker is used.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Rows to return, newest first. Default 50, maximum 400.",
      "type": "integer",
      "minimum": 1,
      "maximum": 400
    }
  },
  "required": [
    "symbol"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "error": {
      "description": "Present only when the tool refused, as a stable code such as unknown_market. Nothing was spent.",
      "type": [
        "string",
        "null"
      ]
    },
    "detail": {
      "description": "Why it refused, or extra context on a successful answer."
    },
    "symbol": {
      "description": "Ticker.",
      "type": [
        "string",
        "null"
      ]
    },
    "chainId": {
      "description": "Chain id of the market.",
      "type": [
        "number",
        "null"
      ]
    },
    "chain": {
      "description": "Chain name and id.",
      "type": [
        "string",
        "null"
      ]
    },
    "curve": {
      "description": "Bonding curve contract.",
      "type": [
        "string",
        "null"
      ]
    },
    "source": {
      "description": "envio-hyperindex, the-graph, market-index or rpc-logs: which read path answered.",
      "type": [
        "string",
        "null"
      ]
    },
    "complete": {
      "description": "True only when the answer reaches the launch block.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "completeBecause": {
      "description": "Why the history is complete.",
      "type": [
        "string",
        "null"
      ]
    },
    "incompleteBecause": {
      "description": "Why older swaps may be missing.",
      "type": [
        "string",
        "null"
      ]
    },
    "totalSwaps": {
      "description": "Swaps since launch, on every read path. Treasury buybacks are not counted, so this can be lower than the curve's swapCount. On an incomplete answer, the swaps seen so far.",
      "type": [
        "number",
        "null"
      ]
    },
    "returned": {
      "description": "Rows in swaps.",
      "type": [
        "number",
        "null"
      ]
    },
    "indexerSyncedToBlock": {
      "description": "Block the indexer or subgraph has reached.",
      "type": [
        "number",
        "null"
      ]
    },
    "indexerError": {
      "description": "Why the indexer or subgraph was skipped, when it was."
    },
    "degraded": {
      "description": "True when the indexer or subgraph failed and another read path answered instead.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "launchBlock": {
      "description": "Launch block of the market.",
      "type": [
        "number",
        "null"
      ]
    },
    "indexedThroughBlock": {
      "description": "Last block our per-market index has scanned, when it was used.",
      "type": [
        "number",
        "null"
      ]
    },
    "indexProgress": {
      "description": "Share of the blocks since launch the per-market index has scanned, 0 to 1, while it catches up.",
      "type": [
        "number",
        "null"
      ]
    },
    "coverage": {
      "description": "What the log scan reached."
    },
    "swaps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "txHash": {
            "description": "Swap transaction.",
            "type": [
              "string",
              "null"
            ]
          },
          "side": {
            "description": "BUY or SELL.",
            "type": [
              "string",
              "null"
            ]
          },
          "amountToken": {
            "description": "Tokens moved.",
            "type": [
              "number",
              "null"
            ]
          },
          "amountNative": {
            "description": "Native asset moved.",
            "type": [
              "number",
              "null"
            ]
          },
          "nativeSymbol": {
            "description": "Native asset of the chain.",
            "type": [
              "string",
              "null"
            ]
          },
          "executionPriceNative": {
            "description": "Price actually paid or received, fees included.",
            "type": [
              "number",
              "null"
            ]
          },
          "spotPriceAfter": {
            "description": "Curve spot price after this swap.",
            "type": [
              "number",
              "null"
            ]
          },
          "trader": {
            "description": "Address that traded.",
            "type": [
              "string",
              "null"
            ]
          },
          "timestamp": {
            "description": "ISO 8601 time of the block.",
            "type": [
              "string",
              "null"
            ]
          },
          "blockNumber": {
            "description": "Block of the swap.",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "additionalProperties": {}
      },
      "description": "Swaps, newest first."
    },
    "publicEndpoint": {
      "description": "Public GraphQL endpoint of the indexer.",
      "type": [
        "string",
        "null"
      ]
    },
    "known": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "On unknown_market: the tickers that do exist."
    },
    "note": {
      "description": "Context for a read failure.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢check_stake(symbol, chainId, address)

Free. Reads the market's stake contract on its own chain: its own AdextoAgentStake where it has one, otherwise the chain's AdextoStakeHub, which accepts every other market launched through ADEXTO from its first block. Returns how much an address has staked, the minimum, whether the position is active (at or above the minimum), and the totals. An active stake opens ask_agent for that market and an Agent Compute API key (see get_market staking.unlocks). There is no lock and no reward: unstake works at any time.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "minLength": 1,
      "description": "Market ticker, for example PARCEL or ADEXTO. Required and has no default: the gateway refuses a missing ticker rather than quoting one, so a typo can never bill you for a token you did not ask for. Call list_markets first if you do not know it."
    },
    "chainId": {
      "description": "Chain id of the market, for a ticker that trades on more than one chain (list_markets shows chainId). Without it the oldest market for that ticker is used.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "address": {
      "type": "string",
      "description": "Wallet whose stake to read."
    }
  },
  "required": [
    "symbol",
    "address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "error": {
      "description": "Present only when the tool refused, as a stable code such as unknown_market. Nothing was spent.",
      "type": [
        "string",
        "null"
      ]
    },
    "detail": {
      "description": "Why it refused, or extra context on a successful answer."
    },
    "staking": {
      "description": "False when the market's chain has no stake contract for it.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "symbol": {
      "description": "Ticker.",
      "type": [
        "string",
        "null"
      ]
    },
    "chainId": {
      "description": "Chain id of the market.",
      "type": [
        "number",
        "null"
      ]
    },
    "chain": {
      "description": "Chain name and id.",
      "type": [
        "string",
        "null"
      ]
    },
    "stakeContract": {
      "description": "Stake contract read.",
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "description": "dedicated or hub.",
      "type": [
        "string",
        "null"
      ]
    },
    "address": {
      "description": "Wallet read.",
      "type": [
        "string",
        "null"
      ]
    },
    "staked": {
      "description": "Staked, in whole tokens.",
      "type": [
        "string",
        "null"
      ]
    },
    "minStake": {
      "description": "Minimum for an active stake, in whole tokens.",
      "type": [
        "string",
        "null"
      ]
    },
    "active": {
      "description": "True when the stake is at or above the minimum.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "totalStaked": {
      "description": "Total staked in this market, in whole tokens.",
      "type": [
        "string",
        "null"
      ]
    },
    "stakers": {
      "description": "Number of stakers.",
      "type": [
        "number",
        "null"
      ]
    },
    "lock": {
      "description": "Always none: unstake works at any time.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢access_message(symbol, chainId, address)

Free. Returns the exact EIP-191 message an address signs (personal_sign) to prove it is the address asking. ask_agent accepts it for 10 minutes. Signing it moves nothing and costs nothing.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "minLength": 1,
      "description": "Market ticker, for example PARCEL or ADEXTO. Required and has no default: the gateway refuses a missing ticker rather than quoting one, so a typo can never bill you for a token you did not ask for. Call list_markets first if you do not know it."
    },
    "chainId": {
      "description": "Chain id of the market, for a ticker that trades on more than one chain (list_markets shows chainId). Without it the oldest market for that ticker is used.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "address": {
      "type": "string",
      "description": "Wallet that will sign and ask."
    }
  },
  "required": [
    "symbol",
    "address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "error": {
      "description": "Present only when the tool refused, as a stable code such as unknown_market. Nothing was spent.",
      "type": [
        "string",
        "null"
      ]
    },
    "detail": {
      "description": "Why it refused, or extra context on a successful answer."
    },
    "symbol": {
      "description": "Ticker, on unknown_market.",
      "type": [
        "string",
        "null"
      ]
    },
    "address": {
      "description": "Address, on bad_address.",
      "type": [
        "string",
        "null"
      ]
    },
    "message": {
      "description": "The exact EIP-191 message to sign.",
      "type": [
        "string",
        "null"
      ]
    },
    "sign": {
      "description": "How to sign it.",
      "type": [
        "string",
        "null"
      ]
    },
    "validForSeconds": {
      "description": "How long ask_agent accepts it.",
      "type": [
        "number",
        "null"
      ]
    },
    "next": {
      "description": "What to do next.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢ask_agent(symbol, chainId, address, message, signature, ...)

Asks the market's own agent a question about that market. Open to an address whose stake in the market's stake contract is active (check_stake), proven with a signed access_message. The answer comes from glm-5.3 on the 0G router and is limited to facts read on-chain for this call; the tool returns those facts next to the answer. Refused without an active stake, and nothing is charged either way.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "minLength": 1,
      "description": "Market ticker, for example PARCEL or ADEXTO. Required and has no default: the gateway refuses a missing ticker rather than quoting one, so a typo can never bill you for a token you did not ask for. Call list_markets first if you do not know it."
    },
    "chainId": {
      "description": "Chain id of the market, for a ticker that trades on more than one chain (list_markets shows chainId). Without it the oldest market for that ticker is used.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "address": {
      "type": "string",
      "description": "The asking wallet. Must hold an active stake."
    },
    "message": {
      "type": "string",
      "maxLength": 400,
      "description": "The exact message from access_message."
    },
    "signature": {
      "type": "string",
      "description": "personal_sign signature of message by address."
    },
    "question": {
      "type": "string",
      "minLength": 3,
      "maxLength": 500,
      "description": "What to ask the agent about this market."
    }
  },
  "required": [
    "symbol",
    "address",
    "message",
    "signature",
    "question"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "error": {
      "description": "Present only when the tool refused, as a stable code such as unknown_market. Nothing was spent.",
      "type": [
        "string",
        "null"
      ]
    },
    "detail": {
      "description": "Why it refused, or extra context on a successful answer."
    },
    "answered": {
      "description": "True when the agent answered.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "symbol": {
      "description": "Ticker.",
      "type": [
        "string",
        "null"
      ]
    },
    "chainId": {
      "description": "Chain id of the market.",
      "type": [
        "number",
        "null"
      ]
    },
    "answer": {
      "description": "The agent's answer, limited to the facts below.",
      "type": [
        "string",
        "null"
      ]
    },
    "answeredBy": {
      "description": "Model and route that answered.",
      "type": [
        "string",
        "null"
      ]
    },
    "stake": {
      "description": "The stake position that opened the agent."
    },
    "facts": {
      "description": "Facts read on chain for this answer."
    },
    "retryAfterSeconds": {
      "description": "On rate_limited: seconds until the next question is allowed.",
      "type": [
        "number",
        "null"
      ]
    },
    "httpStatus": {
      "description": "On model_failed: the model's HTTP status.",
      "type": [
        "number",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
⚪prepare_launch(chainId, name, symbol, deployer, agentId, ...)

Launch a new ADEXTO market without handing over a key. Call it once without a signature: it checks the ticker, the chain and an optional ERC-8004 agent you own, and returns an attestation message for the deployer to sign (EIP-191). Call it again with the same arguments plus attestationMessage and attestationSignature: it anchors the launch metadata and returns the unsigned deployTrinity transaction (value 0, gas only), simulated from your address, with a gas estimate. Fee preset: 1.00% per trade, 0.70% to the creator. All supply goes into the curve; the creator gets no allocation. After the transaction is mined, call register_launch. The attestation message ends with an acceptance of the ADEXTO Terms and Acceptable Use Policy (adexto.xyz/terms): signing it is the deployer's acceptance, and markets that break the policy are removed from ADEXTO.

Input Schema

{
  "type": "object",
  "properties": {
    "chainId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Chain to launch on: 143 Monad, 42161 Arbitrum One, 4663 Robinhood Chain, 8453 Base, 5042 Arc, 16661 0G."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "Token name, up to 64 bytes."
    },
    "symbol": {
      "type": "string",
      "minLength": 2,
      "maxLength": 12,
      "description": "Ticker, 2 to 12 letters A-Z or digits. Permanent on chain."
    },
    "deployer": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "description": "Address that signs the attestation and sends the launch transaction. It becomes the market's creator and receives the creator fee."
    },
    "agentId": {
      "description": "ERC-8004 agent id on this chain to bind to the token, owned by the deployer. Omit to launch unbound.",
      "type": "string",
      "pattern": "^\\d{1,78}$"
    },
    "description": {
      "description": "One-line pitch shown on the market page.",
      "type": "string",
      "maxLength": 280
    },
    "website": {
      "description": "Project website URL, shown on the market page. https:// is assumed when no scheme is given.",
      "type": "string",
      "maxLength": 200
    },
    "x": {
      "description": "X handle or URL.",
      "type": "string",
      "maxLength": 200
    },
    "github": {
      "description": "GitHub URL of the project, shown on the market page.",
      "type": "string",
      "maxLength": 200
    },
    "docs": {
      "description": "Documentation URL, shown on the market page.",
      "type": "string",
      "maxLength": 200
    },
    "image": {
      "description": "Logo as a base64 data URI (image/png, image/jpeg or image/webp). Omit for the default logo.",
      "type": "string",
      "maxLength": 200000
    },
    "category": {
      "description": "Market category shown on the explorer.",
      "type": "string",
      "enum": [
        "defi",
        "agents",
        "meme",
        "gaming",
        "infra",
        "rwa",
        "social",
        "other"
      ]
    },
    "attestationMessage": {
      "description": "Second call only: the message the first call returned.",
      "type": "string",
      "maxLength": 400
    },
    "attestationSignature": {
      "description": "Second call only: the deployer's EIP-191 signature of it.",
      "type": "string",
      "maxLength": 200
    }
  },
  "required": [
    "chainId",
    "name",
    "symbol",
    "deployer"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "error": {
      "description": "Present only when the tool refused, as a stable code such as unknown_market. Nothing was spent.",
      "type": [
        "string",
        "null"
      ]
    },
    "detail": {
      "description": "Why it refused, or extra context on a successful answer."
    },
    "step": {
      "description": "sign_attestation on the first call, sign_and_send on the second.",
      "type": [
        "string",
        "null"
      ]
    },
    "chainId": {
      "description": "Chain to launch on.",
      "type": [
        "number",
        "null"
      ]
    },
    "chain": {
      "description": "Chain name.",
      "type": [
        "string",
        "null"
      ]
    },
    "symbol": {
      "description": "Ticker.",
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "description": "Token name.",
      "type": [
        "string",
        "null"
      ]
    },
    "deployer": {
      "description": "Address that signs and sends.",
      "type": [
        "string",
        "null"
      ]
    },
    "attestationMessage": {
      "description": "Step one: the message to sign with personal_sign.",
      "type": [
        "string",
        "null"
      ]
    },
    "signWith": {
      "description": "Step one: how to sign.",
      "type": [
        "string",
        "null"
      ]
    },
    "validForSeconds": {
      "description": "Step one: how long the attestation is accepted.",
      "type": [
        "number",
        "null"
      ]
    },
    "checks": {
      "description": "Step one: ticker and agent checks already passed."
    },
    "transaction": {
      "type": "object",
      "properties": {
        "from": {
          "description": "Deployer.",
          "type": [
            "string",
            "null"
          ]
        },
        "to": {
          "description": "ADEXTO launch factory.",
          "type": [
            "string",
            "null"
          ]
        },
        "data": {
          "description": "deployTrinity calldata.",
          "type": [
            "string",
            "null"
          ]
        },
        "value": {
          "description": "Always 0: a launch costs gas only.",
          "type": [
            "string",
            "null"
          ]
        },
        "chainId": {
          "description": "Chain id.",
          "type": [
            "number",
            "null"
          ]
        },
        "gas": {
          "description": "Gas limit to send with.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": {},
      "description": "Step two: the unsigned launch transaction."
    },
    "gasEstimate": {
      "description": "Step two: estimated gas.",
      "type": [
        "string",
        "null"
      ]
    },
    "gasSource": {
      "description": "estimateGas or measured.",
      "type": [
        "string",
        "null"
      ]
    },
    "gasPriceWei": {
      "description": "Current gas price.",
      "type": [
        "string",
        "null"
      ]
    },
    "estimatedCostWei": {
      "description": "Estimated cost in wei: gas used times the gas price, or the gas limit times the price on Monad, which bills the whole limit.",
      "type": [
        "string",
        "null"
      ]
    },
    "deployerBalanceWei": {
      "description": "Deployer balance.",
      "type": [
        "string",
        "null"
      ]
    },
    "fundsSufficient": {
      "description": "Whether the balance covers the transaction's gas limit at the current price, which the node requires.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "nativeSymbol": {
      "description": "Native asset that pays the gas.",
      "type": [
        "string",
        "null"
      ]
    },
    "simulation": {
      "type": "object",
      "properties": {
        "ok": {
          "description": "True when the simulation did not revert.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "revert": {
          "description": "Revert reason, if any.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": {},
      "description": "The transaction simulated from the deployer."
    },
    "market": {
      "description": "The market the launch creates: supply, fee split, opening market cap, agent."
    },
    "attestationRoot": {
      "description": "Metadata root written on chain.",
      "type": [
        "string",
        "null"
      ]
    },
    "metadataAnchoredTo0G": {
      "description": "True when the metadata was stored on 0G DA.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "next": {
      "description": "What to do next.",
      "type": [
        "string",
        "null"
      ]
    },
    "launchableChains": {
      "description": "On unsupported_chain: the chains that can launch."
    },
    "quota": {
      "description": "On creator_ticker_limit: this address's ticker quota."
    },
    "status": {
      "description": "On prepare_failed: HTTP status of the preparation stage.",
      "type": [
        "number",
        "null"
      ]
    },
    "code": {
      "description": "On prepare_failed: error code of the preparation stage.",
      "type": [
        "string",
        "null"
      ]
    },
    "retryAfterSeconds": {
      "description": "On a rate limit: seconds to wait.",
      "type": [
        "number",
        "null"
      ]
    },
    "unavailableChains": {
      "description": "Chains the preparation stage could not open."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢register_launch(chainId, txHash)

After the prepare_launch transaction is mined, lists the new market on adexto.xyz, in list_markets and on the x402 gateway. Reads the TrinityProjectDeployed event from the ADEXTO factory in the receipt; every value it registers comes from that event, not from the caller. Calling it again for the same transaction returns the existing listing.

Input Schema

{
  "type": "object",
  "properties": {
    "chainId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Chain the launch transaction was sent on."
    },
    "txHash": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{64}$",
      "description": "Hash of the mined launch transaction."
    }
  },
  "required": [
    "chainId",
    "txHash"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "error": {
      "description": "Present only when the tool refused, as a stable code such as unknown_market. Nothing was spent.",
      "type": [
        "string",
        "null"
      ]
    },
    "detail": {
      "description": "Why it refused, or extra context on a successful answer."
    },
    "registered": {
      "description": "True when the market is listed.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "alreadyRegistered": {
      "description": "True when it was listed before this call.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "symbol": {
      "description": "Ticker.",
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "description": "Token name.",
      "type": [
        "string",
        "null"
      ]
    },
    "chainId": {
      "description": "Chain id.",
      "type": [
        "number",
        "null"
      ]
    },
    "chain": {
      "description": "Chain name.",
      "type": [
        "string",
        "null"
      ]
    },
    "token": {
      "description": "Token contract.",
      "type": [
        "string",
        "null"
      ]
    },
    "curve": {
      "description": "Bonding curve contract.",
      "type": [
        "string",
        "null"
      ]
    },
    "creator": {
      "description": "Creator address, from the factory event.",
      "type": [
        "string",
        "null"
      ]
    },
    "agentIdentity": {
      "description": "ERC-8004 binding read from the token, or null."
    },
    "explorerTx": {
      "description": "Explorer link of the launch transaction.",
      "type": [
        "string",
        "null"
      ]
    },
    "metadataApplied": {
      "description": "True when the prepare_launch metadata was applied.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "page": {
      "description": "Market page.",
      "type": [
        "string",
        "null"
      ]
    },
    "buyResource": {
      "description": "x402 URL that sells the market.",
      "type": [
        "string",
        "null"
      ]
    },
    "next": {
      "description": "What to do next.",
      "type": [
        "string",
        "null"
      ]
    },
    "launchableChains": {
      "description": "On unsupported_chain: the chains that can launch."
    },
    "status": {
      "description": "On confirm_failed: HTTP status of the registration stage.",
      "type": [
        "number",
        "null"
      ]
    },
    "code": {
      "description": "On confirm_failed: error code of the registration stage.",
      "type": [
        "string",
        "null"
      ]
    },
    "note": {
      "description": "Context for a failed registration.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢prepare_stake(symbol, chainId, address, amount)

Unsigned transactions that stake a market's token in its stake contract or its chain's stake hub: an approval for the exact amount (only if the allowance is short), then the stake. Checks balance, minimum and hub eligibility first, so a stake that would revert is refused before any gas is spent. No lock: unstake works at any time. A stake opens ask_agent for that market.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "minLength": 1,
      "description": "Market ticker, for example PARCEL or ADEXTO. Required and has no default: the gateway refuses a missing ticker rather than quoting one, so a typo can never bill you for a token you did not ask for. Call list_markets first if you do not know it."
    },
    "chainId": {
      "description": "Chain id of the market, for a ticker that trades on more than one chain (list_markets shows chainId). Without it the oldest market for that ticker is used.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "address": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "description": "Wallet that holds the tokens and will sign."
    },
    "amount": {
      "type": "string",
      "pattern": "^\\d+(\\.\\d{1,18})?$",
      "description": "Whole tokens to stake, for example \"10000\"."
    }
  },
  "required": [
    "symbol",
    "address",
    "amount"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "error": {
      "description": "Present only when the tool refused, as a stable code such as unknown_market. Nothing was spent.",
      "type": [
        "string",
        "null"
      ]
    },
    "detail": {
      "description": "Why it refused, or extra context on a successful answer."
    },
    "market": {
      "description": "Ticker and chain.",
      "type": [
        "string",
        "null"
      ]
    },
    "chainId": {
      "description": "Chain id.",
      "type": [
        "number",
        "null"
      ]
    },
    "stakeContract": {
      "description": "Stake contract the transactions call.",
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "description": "dedicated or hub.",
      "type": [
        "string",
        "null"
      ]
    },
    "token": {
      "description": "Token staked.",
      "type": [
        "string",
        "null"
      ]
    },
    "transactions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "purpose": {
            "description": "What the transaction does.",
            "type": [
              "string",
              "null"
            ]
          },
          "chainId": {
            "description": "Chain to send it on.",
            "type": [
              "number",
              "null"
            ]
          },
          "from": {
            "description": "Address that must sign and send it.",
            "type": [
              "string",
              "null"
            ]
          },
          "to": {
            "description": "Contract it calls.",
            "type": [
              "string",
              "null"
            ]
          },
          "data": {
            "description": "Calldata.",
            "type": [
              "string",
              "null"
            ]
          },
          "value": {
            "description": "Native value in wei. Always 0.",
            "type": [
              "string",
              "null"
            ]
          },
          "gasEstimate": {
            "description": "Gas estimate, or null when it can only be estimated after the previous transaction is mined.",
            "type": [
              "string",
              "null"
            ]
          },
          "markets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Markets a claim covers."
          }
        },
        "additionalProperties": {}
      },
      "description": "Send in order: an exact approval if needed, then the stake."
    },
    "order": {
      "description": "Sending order.",
      "type": [
        "string",
        "null"
      ]
    },
    "after": {
      "type": "object",
      "properties": {
        "staked": {
          "description": "Position after staking.",
          "type": [
            "string",
            "null"
          ]
        },
        "minimum": {
          "description": "Minimum.",
          "type": [
            "string",
            "null"
          ]
        },
        "active": {
          "description": "Active after staking.",
          "type": [
            "boolean",
            "null"
          ]
        }
      },
      "additionalProperties": {},
      "description": "The position once the transactions are mined."
    },
    "lock": {
      "description": "Always none.",
      "type": [
        "string",
        "null"
      ]
    },
    "next": {
      "description": "What to do next.",
      "type": [
        "string",
        "null"
      ]
    },
    "balance": {
      "description": "On insufficient_balance: the wallet's balance.",
      "type": [
        "string",
        "null"
      ]
    },
    "minimum": {
      "description": "On below_minimum: the minimum.",
      "type": [
        "string",
        "null"
      ]
    },
    "alreadyStaked": {
      "description": "On below_minimum: the current position.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢prepare_claim(address, chainId)

Unsigned transactions that collect the creator fee owed to an address across its markets: one claimCreatorFees() call per curve, or one Multicall3 batch per chain when several are owed. The curve always pays its immutable creator, whoever sends the transaction.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "description": "Creator address whose owed fees to collect."
    },
    "chainId": {
      "description": "Only this chain. Omit for every chain.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "error": {
      "description": "Present only when the tool refused, as a stable code such as unknown_market. Nothing was spent.",
      "type": [
        "string",
        "null"
      ]
    },
    "detail": {
      "description": "Why it refused, or extra context on a successful answer."
    },
    "address": {
      "description": "Creator address.",
      "type": [
        "string",
        "null"
      ]
    },
    "claimable": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "symbol": {
            "description": "Ticker.",
            "type": [
              "string",
              "null"
            ]
          },
          "chainId": {
            "description": "Chain id.",
            "type": [
              "number",
              "null"
            ]
          },
          "curve": {
            "description": "Curve that owes the fee.",
            "type": [
              "string",
              "null"
            ]
          },
          "owed": {
            "description": "Owed, in the chain's native asset.",
            "type": [
              "number",
              "null"
            ]
          },
          "nativeSymbol": {
            "description": "Native asset.",
            "type": [
              "string",
              "null"
            ]
          },
          "owedUsd": {
            "description": "Owed, in USD at the current native price.",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "additionalProperties": {}
      },
      "description": "Markets that owe this address a creator fee."
    },
    "transactions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "purpose": {
            "description": "What the transaction does.",
            "type": [
              "string",
              "null"
            ]
          },
          "chainId": {
            "description": "Chain to send it on.",
            "type": [
              "number",
              "null"
            ]
          },
          "from": {
            "description": "Address that must sign and send it.",
            "type": [
              "string",
              "null"
            ]
          },
          "to": {
            "description": "Contract it calls.",
            "type": [
              "string",
              "null"
            ]
          },
          "data": {
            "description": "Calldata.",
            "type": [
              "string",
              "null"
            ]
          },
          "value": {
            "description": "Native value in wei. Always 0.",
            "type": [
              "string",
              "null"
            ]
          },
          "gasEstimate": {
            "description": "Gas estimate, or null when it can only be estimated after the previous transaction is mined.",
            "type": [
              "string",
              "null"
            ]
          },
          "markets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Markets a claim covers."
          }
        },
        "additionalProperties": {}
      },
      "description": "One claim per curve, or one Multicall3 batch per chain."
    },
    "checkedMarkets": {
      "description": "Markets checked."
    },
    "unreadableMarkets": {
      "description": "Markets that could not be read."
    },
    "note": {
      "description": "Who receives the fee.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded14 tools