MCP Server

$AI on HyperEVM

ai.thetickeris/agent-rail
Crypto & Web3 Public & reachable MCP 2026-07-28

What this MCP does

Provides market data, buy and sell quotes, and unsigned transaction calldata for the $AI token on HyperEVM.

ai_build_buy_tx
Build Buy Transaction
Build an unsigned buy transaction against the AiCurve contract. Returns calldata only; the caller signs and sends it. Includes an estimated gas limit when `from` is given. The minimum $AI out is the live quote minus slippage_bps, so a price move past that tolerance makes the tx revert instead of filling worse. Use ai_quote_buy to preview without building; use ai_build_sell_tx to sell.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['hype'], 'properties': {'from': {'type': 'string', 'description': '0x sender address; when given the tx includes a gas estimate'}, 'hype': {'type': 'string', 'description': 'HYPE amount to spend, decimal string, max 10000'}, 'slippage_bps': {'type': 'integer', 'description': 'Slippage tolerance in basis points, 0-5000, default 200'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['tx', 'quote', 'disclosure'], 'properties': {'tx': {'type': 'object', 'required': ['chainId', 'to', 'value', 'data'], 'properties': {'to': {'type': 'string'}, 'gas': {'type': 'string'}, 'data': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'string'}, 'chainId': {'type': 'string'}}}, 'quote': {'type': 'object', 'required': ['tokensOut', 'minTokensOut', 'slippageBps'], 'properties': {'tokensOut': {'type': 'string'}, 'slippageBps': {'type': 'integer'}, 'minTokensOut': {'type': 'string'}}}, 'disclosure': {'type': 'string'}}}
ai_build_sell_tx
Build Sell Transaction
Build the unsigned transaction(s) to sell $AI: an approve first if allowance is insufficient, then the sell. Returns calldata only; the caller signs and sends, in order. When an approve is included, send the sell after the approve is mined and estimate its gas then. The minimum HYPE out is the net quote minus slippage_bps. Use ai_quote_sell to preview without building; use ai_build_buy_tx to buy.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ai', 'from'], 'properties': {'ai': {'type': 'string', 'description': '$AI amount to sell, decimal string, max 1000000000'}, 'from': {'type': 'string', 'description': '0x seller address, required to check allowance and estimate gas'}, 'slippage_bps': {'type': 'integer', 'description': 'Slippage tolerance in basis points, 0-5000, default 200'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['steps', 'quote', 'disclosure'], 'properties': {'quote': {'type': 'object', 'required': ['hypeOut', 'minHypeOut', 'slippageBps'], 'properties': {'hypeOut': {'type': 'string'}, 'minHypeOut': {'type': 'string'}, 'slippageBps': {'type': 'integer'}}}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['step', 'tx'], 'properties': {'tx': {'type': 'object', 'required': ['chainId', 'to', 'value', 'data'], 'properties': {'to': {'type': 'string'}, 'gas': {'type': 'string'}, 'data': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'string'}, 'chainId': {'type': 'string'}}}, 'note': {'type': 'string'}, 'step': {'enum': ['approve', 'sell'], 'type': 'string'}}}}, 'disclosure': {'type': 'string'}}}
ai_market
Market Snapshot
Read-only snapshot of the $AI/HYPE AiCurve: price, sold, retired, circulating, reserve, supply, sell fee (read live from chain), contracts, chain id, rpc, and the fee/no-guarantee disclosure. Takes no amount; for a price on a specific amount use ai_quote_buy (the recommended first call) or ai_quote_sell.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['chainId', 'rpc', 'contracts', 'priceHype', 'sold', 'supply', 'sellFeeBps', 'disclosure'], 'properties': {'rpc': {'type': 'string'}, 'sold': {'type': 'string'}, 'supply': {'type': 'string'}, 'chainId': {'type': 'integer'}, 'retired': {'type': 'string'}, 'contracts': {'type': 'object', 'required': ['token', 'curve'], 'properties': {'curve': {'type': 'string'}, 'token': {'type': 'string'}}}, 'priceHype': {'type': 'string'}, 'disclosure': {'type': 'string'}, 'sellFeeBps': {'type': 'integer'}, 'circulating': {'type': 'string'}, 'reserveHype': {'type': 'string'}, 'priceHypeWei': {'type': 'string'}}}
ai_quote_buy
Quote Buy
Recommended first call for a new agent: quote how much $AI a given amount of HYPE buys right now, before slippage. Read-only, no wallet needed, no key, no transaction. To buy it for real, call ai_build_buy_tx next with the same hype amount.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['hype'], 'properties': {'hype': {'type': 'string', 'description': 'HYPE amount as a decimal string, e.g. "1.5" (max 10000)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['tokensOut', 'disclosure'], 'properties': {'tokensOut': {'type': 'string'}, 'disclosure': {'type': 'string'}}}
ai_quote_sell
Quote Sell
Quote how much HYPE a given amount of $AI returns right now, net of the on-chain sell fee. Use it to preview a sell; it returns no transaction. To get the calldata, call ai_build_sell_tx with the same ai amount.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ai'], 'properties': {'ai': {'type': 'string', 'description': '$AI amount as a decimal string, e.g. "1000" (max 1000000000)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['hypeOut', 'disclosure'], 'properties': {'hypeOut': {'type': 'string'}, 'disclosure': {'type': 'string'}}}
Changed
ai_build_sell_tx
Sept. 29, 2026, 2:48 a.m.
Changed
ai_build_buy_tx
Sept. 29, 2026, 2:48 a.m.
Changed
ai_quote_sell
Sept. 29, 2026, 2:48 a.m.
Changed
ai_quote_buy
Sept. 29, 2026, 2:48 a.m.
Changed
ai_market
Sept. 29, 2026, 2:48 a.m.
Added
ai_build_sell_tx
Sept. 27, 2026, 2:40 a.m.
Added
ai_build_buy_tx
Sept. 27, 2026, 2:40 a.m.
Added
ai_quote_sell
Sept. 27, 2026, 2:40 a.m.
Added
ai_quote_buy
Sept. 27, 2026, 2:40 a.m.
Added
ai_market
Sept. 27, 2026, 2:40 a.m.