# Trnch on Elysium

Trnch is a non-custodial swap aggregator on Elysium (chainId 99901, gas HYPE, reference stable USDC). Each swap is quoted across three routers (Uniswap, KyberSwap and LI.FI); the best route comes back as a transaction your own wallet signs. Trnch never holds funds or keys.

## Network

- Elysium, chainId 99901, gas HYPE (the zero address in the API), USDC 0xb47c4c8f73f009cc0c0d3f92b388d13e293f0b65 (6 decimals), explorer https://elysium.kinetiq.xyz/explorer
- Base URL: https://trnch.fun/elysium/api/bot/v1 ; MCP server page: https://trnch.fun/elysium/mcp ; bot API page: https://trnch.fun/elysium/bot
- The Trnch fee is already deducted from every quote; the rate applied is returned as `feeBps`.

## What it tells you about a token

`GET https://trnch.fun/elysium/api/bot/v1/check?token=0x...` (no key) returns facts read on chain: a sell test (a simulation at the time of the read that tries to buy, approve, transfer wallet to wallet and back, and sell from both wallets, as separate transactions, through the pools Trnch would route through (the proven launch pool, the deepest and the oldest qualifying pool; the worst result decides: decidingPool, poolTested, checkedAt), at two sizes and again with the clock advanced 5 minutes in simulation; note says in words what actually ran, complete, variantsRun and variantsSkipped say what did not and why, and a partial result reads "(partial check)"; class sold (bought, transferred and sold in a simulation, every step that ran succeeded), taxed, blocked (blockedAt says whether the approval or the sell failed in the simulation), transfer-failed (the tokens could not be moved between wallets in the simulation) or not-checked; buy tax, transfer tax and sell loss are reported apart, and token logs that do not match balances are reported. A simulation now: the token may behave differently later or towards other wallets, and an upgradeable or owner-controlled token can change) at 0.25 HYPE and, when the pool is deep enough, 1.5 HYPE (`sellTest.sizes`, `extraLossPctAtLargerSize`), the launch hook fee in basis points when the pool has one, whether a pool with liquidity was found, how many tokens the creator launched before, and launchpad { result, hook, proof }: the launchpad of the pool tested, named only when proven ("Montra", "Boxa", "Kleos"; a verified contract name alone reads "<Name> (contract name)"), otherwise "hook not identified" or "no hook", a fact about origin, never a signal by itself; hookRisk { result }: what the hook of that pool can take, read on chain where readable: "launch fee window: up to N%, ends in M min", "hook tax: N% buy, M% sell" or "hook can tax up to N%", null when there is nothing to say; template { result, implementation, upgradeable }: "Montra template" when the token is a clone of that launchpad's token, "clone, template not identified", "upgradeable proxy" (its code can be replaced after the read) or "custom contract"; forcedTransfer { result, rolesTried, callsTried }: whether the declared owner or the creator could move or burn a buyer's tokens without approval in a simulation, trying only transferFrom without allowance and burn (other owner powers are not tried), "none found", "found: <reason>" or "not checked: <why>". A fact that could not be read says "not checked: <why>". `screened` is always false. Facts read on chain, not a verdict: Trnch runs no rug screen on this chain.

## Install the MCP server

```
claude mcp add --transport http trnch-elysium https://trnch.fun/elysium/api/mcp
codex mcp add trnch-elysium --url https://trnch.fun/elysium/api/mcp
```

Tools: `trnch_check`, `trnch_quote`, `trnch_stats`, `trnch_scan_wallet`, `trnch_top_volume`, `trnch_register_message`, `trnch_register`, `trnch_buy`, `trnch_sell`, `trnch_confirm`. Read-only server without trading: https://trnch.fun/elysium/api/mcp/discover (trnch_check, trnch_scan_wallet, trnch_top_volume, trnch_stats). A2A agent card: https://trnch.fun/elysium/.well-known/agent-card.json.

## Wallet holdings, top by volume, stats (no key)

- `GET https://trnch.fun/elysium/api/bot/v1/scan?wallet=0x...`: the tokens a wallet holds (100 at most, largest first), balance, value in USD when known, and the facts of `/check` for the 8 largest holdings that are not HYPE, WHYPE or USDC (`factsStatus` says why a token has none). Cached 60 s per wallet.
- `GET https://trnch.fun/elysium/api/bot/v1/top?limit=10`: the tokens of the Elysium pools with the most 24-hour volume, in the order GeckoTerminal lists them (the Top volume list of Trade). Ranked by 24-hour pool volume as listed by GeckoTerminal (the Top volume list of Trade). A volume ranking, not a screen, a verdict or a recommendation.
- `GET https://trnch.fun/elysium/api/bot/v1/stats`: chainId, gas, stable, routers, the bot fee grid, and swaps, volume and traders over 24 h, 7 d and 30 d counted from swaps made through Trnch on Elysium.

## Get an API key (needed to build a buy or a sell)

1. `GET https://trnch.fun/elysium/api/bot/v1/register?wallet=0x...` returns the message to sign.
2. Sign it with the wallet (personal_sign) and `POST https://trnch.fun/elysium/api/bot/v1/register { wallet, message, signature }`. The wallet must hold 10 USDC or 0.15 HYPE.
3. Send the key as `Authorization: Bearer trnch_bot_...`.

## Quote, buy, sell

- `POST https://trnch.fun/elysium/api/bot/v1/quote { tokenIn, tokenOut, amountIn, decimalsIn?, decimalsOut?, slippage? }`: no key. HYPE is the zero address.
- `POST https://trnch.fun/elysium/api/bot/v1/buy { token, amountUsd | (amountIn, tokenIn), slippageBps? }` and `POST https://trnch.fun/elysium/api/bot/v1/sell { token, percent | amount, slippageBps? }`: API key. They return `{ router, quote, approval, tx, chainId, from }` for your wallet to sign.
- `POST https://trnch.fun/elysium/api/bot/v1/build { router, tokenIn, tokenOut, amountIn, ... }`: the transaction of a router named by a quote.
- Until the fee recipient of this chain is configured, buy, sell and build answer 503 and build nothing; quotes and facts work.
- `POST https://trnch.fun/elysium/api/bot/v1/confirm { txHash }` (optional, API key): report the hash of a swap you sent. Returns `{ ok, txHash, chainId, status: "pending", meaning }`. Nothing is credited on the call. A scheduled pass (every 2 minutes) reads the transaction on Elysium: sent by the key's wallet, a swap Trnch built for it, and the Trnch fee paid to the Trnch fee recipient in that same transaction. Only then is its volume counted in the swap stats of Elysium; there are no points or rewards on this chain. A hash that does not prove all of this counts nothing. 10 per minute per key, 20 hashes awaiting settlement per wallet.
- Limits: 60 calls per minute per key, 30 of them quotes, builds, buys or sells; open quotes and checks are limited per IP (check 20, scan 10, top 30, stats 30 per minute), with a budget for all callers on the reads that cost chain or third-party calls.

## What is not here

No Heat feed, no alerts, no points or rewards and no verdict on a token: Trnch runs no rug screen on this chain. The top list is a volume ranking, not a pick. Facts, not advice.
