Robinhood Chain trading for AI agents: screened launches, rugs refused, best of six routers.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer trnch_bot_... API key. Get one with trnch_register_message then trnch_register (wallet signature). Not needed for trnch_stats.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Build a buy in one call: quotes six routers and returns the best route as a transaction for the key's wallet to sign. Give tokenId or token, and amountUsd (paid in USDG) or amountIn with tokenIn. The TRNCH fee (0.5%) is already deducted from the quote. Returns { router, quote, approval, tx, chainId, from }: if approval is not null, send it first, then sign and send tx from the same wallet (chainId 4663). Nothing is sent by TRNCH. Errors: 409 token not tradable through TRNCH (kept out by TIA), 429 rate or build limit (retry-after). Requires the API key from trnch_register, sent as Authorization: Bearer <key>.
Token to buy, as an address. Use this or tokenId.
Opaque token id from trnch_heat (field id). Use this or token.
Token paid with amountIn. Default USDG.
Amount of tokenIn to spend, smallest unit. Use this or amountUsd.
Amount to spend in US dollars, paid in USDG. Use this or amountIn.
Max slippage in basis points (100 = 1%). Default 100.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Tool list last changed Oct 26, 2026.
Build a buy in one call: quotes six routers and returns the best route as a transaction for the key's wallet to sign. Give tokenId or token, and amountUsd (paid in USDG) or amountIn with tokenIn. The TRNCH fee (0.5%) is already deducted from the quote. Returns { router, quote, approval, tx, chainId, from }: if approval is not null, send it first, then sign and send tx from the same wallet (chainId 4663). Nothing is sent by TRNCH. Errors: 409 token not tradable through TRNCH (kept out by TIA), 429 rate or build limit (retry-after). Requires the API key from trnch_register, sent as Authorization: Bearer <key>.
| Argument | Type | Description |
|---|---|---|
| token | string | Token to buy, as an address. Use this or tokenId. |
| tokenId | string | Opaque token id from trnch_heat (field id). Use this or token. |
| tokenIn | string | Token paid with amountIn. Default USDG. |
| amountIn | string | Amount of tokenIn to spend, smallest unit. Use this or amountUsd. |
| amountUsd | number | Amount to spend in US dollars, paid in USDG. Use this or amountIn. |
| slippageBps | integer | Max slippage in basis points (100 = 1%). Default 100. |
{
"type": "object",
"required": [],
"properties": {
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Token to buy, as an address. Use this or tokenId."
},
"tokenId": {
"type": "string",
"description": "Opaque token id from trnch_heat (field id). Use this or token."
},
"tokenIn": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Token paid with amountIn. Default USDG."
},
"amountIn": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Amount of tokenIn to spend, smallest unit. Use this or amountUsd."
},
"amountUsd": {
"type": "number",
"maximum": 50000,
"description": "Amount to spend in US dollars, paid in USDG. Use this or amountIn.",
"exclusiveMinimum": 0
},
"slippageBps": {
"type": "integer",
"maximum": 5000,
"minimum": 10,
"description": "Max slippage in basis points (100 = 1%). Default 100."
}
},
"additionalProperties": false
}Optional, after sending a tx from trnch_buy or trnch_sell: report its hash so the volume is credited to the TRNCH account of the key's wallet once the receipt is checked on chain. Returns an acknowledgement only; it does not send, cancel or change the transaction, and a hash that is not a swap of this wallet credits nothing. Calling it twice with the same hash changes nothing. Requires the API key from trnch_register, sent as Authorization: Bearer <key>.
| Argument | Type | Description |
|---|---|---|
| txHash* | string | Hash of the transaction you sent. |
{
"type": "object",
"required": [
"txHash"
],
"properties": {
"txHash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "Hash of the transaction you sent."
}
},
"additionalProperties": false
}Read the live Heat: heat holds tokens screened by TIA and ranked by Heat score; new holds just-spotted tokens not yet screened (higher risk). Each token is an opaque id with rank, Heat score, price, liquidity, volume, price changes and entry time; pass id to trnch_buy or trnch_sell. Returns nextSince: pass it back as since to get only new entries, and dedupe by id. Poll at most every few seconds. Requires the API key from trnch_register, sent as Authorization: Bearer <key>.
| Argument | Type | Description |
|---|---|---|
| since | string | nextSince from the previous call (ms timestamp or ISO date). Omit on the first call. |
{
"type": "object",
"required": [],
"properties": {
"since": {
"type": "string",
"description": "nextSince from the previous call (ms timestamp or ISO date). Omit on the first call."
}
},
"additionalProperties": false
}Quote any pair across six routers (KyberSwap, LI.FI, Uniswap, 0x, SushiSwap, 1inch) without building a transaction. Returns the best amount out, already net of the TRNCH fee, and the router. Use it to compare before buying; to trade, call trnch_buy or trnch_sell instead. 409 if a token is not tradable through TRNCH. Requires the API key from trnch_register, sent as Authorization: Bearer <key>.
| Argument | Type | Description |
|---|---|---|
| tokenIn* | string | Token sold: a 0x address or a Heat id. |
| amountIn* | string | Amount of tokenIn in its smallest unit (wei-style integer string). |
| slippage | number | Max slippage as a fraction (0.01 = 1%). Default 0.01. |
| tokenOut* | string | Token bought: a 0x address or a Heat id. |
| decimalsIn | integer | Decimals of tokenIn. Default 18: set it for USDG (6) and other non-18 tokens. |
| decimalsOut | integer | Decimals of tokenOut. Default 18: set it for USDG (6) and other non-18 tokens. |
{
"type": "object",
"required": [
"tokenIn",
"tokenOut",
"amountIn"
],
"properties": {
"tokenIn": {
"type": "string",
"description": "Token sold: a 0x address or a Heat id."
},
"amountIn": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Amount of tokenIn in its smallest unit (wei-style integer string)."
},
"slippage": {
"type": "number",
"maximum": 0.5,
"minimum": 0.001,
"description": "Max slippage as a fraction (0.01 = 1%). Default 0.01."
},
"tokenOut": {
"type": "string",
"description": "Token bought: a 0x address or a Heat id."
},
"decimalsIn": {
"type": "integer",
"maximum": 36,
"minimum": 0,
"description": "Decimals of tokenIn. Default 18: set it for USDG (6) and other non-18 tokens."
},
"decimalsOut": {
"type": "integer",
"maximum": 36,
"minimum": 0,
"description": "Decimals of tokenOut. Default 18: set it for USDG (6) and other non-18 tokens."
}
},
"additionalProperties": false
}Step 2 of 2: send the message from trnch_register_message and its signature; returns { key, prefix, wallet } with status 201. The key is shown once, store it. The wallet must hold 10 USDG or 0.004 ETH on Robinhood Chain (402 otherwise); 3 keys max per wallet (409); 400 if the signature or message does not match.
| Argument | Type | Description |
|---|---|---|
| ref | string | Optional referral code of the agent's builder: its owner earns a share of the fees of this key's swaps. |
| label | string | Optional name for the key, e.g. the agent name. |
| wallet* | string | Same wallet as in trnch_register_message. |
| message* | string | The message returned by trnch_register_message, unchanged. |
| signature* | string | personal_sign signature of message by wallet. |
{
"type": "object",
"required": [
"wallet",
"message",
"signature"
],
"properties": {
"ref": {
"type": "string",
"maxLength": 40,
"description": "Optional referral code of the agent's builder: its owner earns a share of the fees of this key's swaps."
},
"label": {
"type": "string",
"maxLength": 24,
"description": "Optional name for the key, e.g. the agent name."
},
"wallet": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Same wallet as in trnch_register_message."
},
"message": {
"type": "string",
"description": "The message returned by trnch_register_message, unchanged."
},
"signature": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]+$",
"description": "personal_sign signature of message by wallet."
}
},
"additionalProperties": false
}Step 1 of 2 to get an API key, no browser. Returns { message }: the exact text your wallet must sign with personal_sign (EIP-191). It is valid for 10 minutes and moves no funds. Then call trnch_register with the signature.
| Argument | Type | Description |
|---|---|---|
| wallet* | string | The agent wallet that will trade (EOA or EIP-1271 smart wallet). |
{
"type": "object",
"required": [
"wallet"
],
"properties": {
"wallet": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "The agent wallet that will trade (EOA or EIP-1271 smart wallet)."
}
},
"additionalProperties": false
}Build a sell for USDG in one call: give tokenId or token, and percent of the wallet balance (read on chain) or an exact amount. Quotes six routers and returns the best route as a transaction to sign. The TRNCH fee (0.5%) is already deducted from the quote. Returns { router, quote, approval, tx, chainId, from }: if approval is not null, send it first, then sign and send tx from the same wallet (chainId 4663). Nothing is sent by TRNCH. Errors: 409 token not tradable through TRNCH (kept out by TIA), 429 rate or build limit (retry-after). Requires the API key from trnch_register, sent as Authorization: Bearer <key>.
| Argument | Type | Description |
|---|---|---|
| token | string | Token to sell, as an address. Use this or tokenId. |
| amount | string | Exact amount in token units, e.g. 1234.5. Capped at the balance. Use this or percent. |
| percent | number | Share of the wallet balance to sell, 100 = all. Use this or amount. |
| tokenId | string | Opaque token id from trnch_heat (field id). Use this or token. |
| slippageBps | integer | Max slippage in basis points (100 = 1%). Default 100. |
{
"type": "object",
"required": [],
"properties": {
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Token to sell, as an address. Use this or tokenId."
},
"amount": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"description": "Exact amount in token units, e.g. 1234.5. Capped at the balance. Use this or percent."
},
"percent": {
"type": "number",
"maximum": 100,
"description": "Share of the wallet balance to sell, 100 = all. Use this or amount.",
"exclusiveMinimum": 0
},
"tokenId": {
"type": "string",
"description": "Opaque token id from trnch_heat (field id). Use this or token."
},
"slippageBps": {
"type": "integer",
"maximum": 5000,
"minimum": 10,
"description": "Max slippage in basis points (100 = 1%). Default 100."
}
},
"additionalProperties": false
}Read live public numbers for the last 24 hours: tokens spotted, tokens in the Heat, tokens kept out as High risk, rugs detected, median detection delay in seconds, number of routers and the bot fee in percent. No key needed. Use it first to judge whether TRNCH screening is worth routing through.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}