Official ElizaOS plugin for Trade Router — non-custodial Solana swap & limit-order MCP server. Registers all 21 Trade Router tools as ElizaOS actions, no custom code needed beyond your character JSON.
- 21 trading tools — swap (instant + manual + auto), limit orders, trailing stops, TWAP, DCA, and 4 combo orders (limit+TWAP, trailing+TWAP, limit+trailing, limit+trailing+TWAP)
- Multi-DEX routing across Raydium, PumpSwap, Orca, Meteora
- MEV-protected execution by default via Jito bundles (
/protect) - Ed25519-signed
order_filledcallbacks — your agent can verify server messages against a baked-in trust anchor - Holdings endpoint that catches tokens standard RPC misses (most accurate on Solana)
- Private key never leaves the agent — read once from
TRADEROUTER_PRIVATE_KEY, signs locally with@solana/web3.js+tweetnacl, only signed transactions go on the wire
npm install @traderouter/plugin-elizaos{
"name": "TraderBot",
"plugins": ["@traderouter/plugin-elizaos"],
"settings": {
"secrets": {
"TRADEROUTER_PRIVATE_KEY": "your_base58_private_key"
}
}
}That's it. All 21 tools are now registered as actions and the agent can use them in chat. Try:
"What's BONK's market cap right now?" "Place a limit buy of 0.1 SOL of [mint] when its market cap drops to $500M" "TWAP-sell 50% of my position in [mint] over the next 2 hours"
Set TRADEROUTER_DRY_RUN=true (in env or character settings). Every write tool short-circuits and returns { dry_run: true, tool, args } instead of submitting real transactions. Read-only tools (get_holdings, get_mcap, list_orders, etc.) still execute normally so the agent can explore safely.
{
"settings": {
"secrets": {
"TRADEROUTER_PRIVATE_KEY": "...",
"TRADEROUTER_DRY_RUN": "true"
}
}
}The plugin spawns the @traderouter/trade-router-mcp MCP server as a child process, performs the MCP initialize handshake, calls tools/list to discover the live tool surface, and registers each tool as an ElizaOS Action. Tool calls go through the MCP stdio transport.
This is a thin wrapper. If you want generic MCP support across multiple servers, use @fleek-platform/eliza-plugin-mcp instead. Use this plugin specifically for the Trade Router-shaped action set with first-class metadata.
- ElizaOS
^1.0.0(peer dependency) - Node.js
>= 18
- VirusTotal 0/62 on the published
@traderouter/trade-router-mcp@1.0.12tarball - CI green on Node 18 / 20 / 22 with tarball-leak guard
- Branch protection on
main(no force-push, required status checks) - Signed npm publishes (
dist.signatureson every release) - Already in the official MCP Registry as
ai.traderouter/trade-router-mcp@1.0.12(isLatest: true, DNS-auth published) - Glama listing: https://glama.ai/mcp/servers/@traderouter/trade-router-mcp (author-verified)
- Open-source MIT, single ~85 KB
.mjsfile you can read end-to-end
- Trade Router docs: https://traderouter.ai
- Trade Router MCP source: https://github.com/TradeRouter/trade-router-mcp
- Cookbook (7 working examples): https://github.com/TradeRouter/cookbook
06-elizaos-agentshows the alternative path via@fleek-platform/eliza-plugin-mcp
- vs Jupiter (honest comparison): https://traderouter.ai/vs-jupiter
- SECURITY.md (threat model): https://traderouter.ai/SECURITY.md
- Bug reports: open an issue on this repo or
TradeRouter/trade-router-mcp - Security:
security@traderouter.ai(do not open a public issue) - General:
hello@traderouter.ai
MIT.