TradeRouter MCP (Python)
mcp-name: io.github.re-bruce-wayne/trade-router-mcp
Non-custodial Solana trading API for AI agents. One integration replaces Jupiter + Helius + Jito + custom limit-order code. Your private key never leaves the local process — only signed transactions are transmitted to api.traderouter.ai.
See SECURITY.md for the full threat model and data-flow diagram.
Install
Run directly without installing (recommended):
{
"traderouter": {
"command": "uvx",
"args": ["traderouter-mcp"],
"env": {
"TRADEROUTER_PRIVATE_KEY": "<your-solana-base58-private-key>"
}
}
}
Or install into a project:
uv add traderouter-mcp
Environment variables
| Variable | Default | Purpose |
|---|---|---|
TRADEROUTER_PRIVATE_KEY |
required for signing | Solana base58-encoded private key. Used locally for signing, never transmitted. |
TRADEROUTER_SERVER_PUBKEY |
hardcoded trust anchor | Override the server public key used to verify order_filled events |
TRADEROUTER_BASE_URL |
https://api.traderouter.ai |
Override API base (e.g. for staging) |
Features
REST tools
swap— build an unsigned swap transaction (multi-DEX: Raydium, PumpSwap, Orca, Meteora)protect— submit signed tx via Jito bundle, returns confirmed balance changesholdings— most accurate wallet scan on Solanamcap— market cap + priceflex— generate trade-card PNG
WebSocket order types
place_limit— limit order by mcap or priceplace_trailing— trailing stop (percentage or absolute)place_dca— dollar-cost averagingplace_twap— time-weighted average priceplace_combo— limit + trailing + TWAP in one chaincheck_order,list_orders,cancel_order,extend_order
Server monitors mcap ~every 5 seconds. When an order triggers, you receive a signed-tx-ready payload; the MCP signs it locally (using TRADEROUTER_PRIVATE_KEY) and submits to /protect automatically.
Non-custodial by construction
See SECURITY.md for the complete threat model. TL;DR:
swaptool returns unsigned transaction- MCP signs locally with
TRADEROUTER_PRIVATE_KEY(held in local process memory) - Signed transaction sent to
api.traderouter.ai/protect - Server submits to Jito bundle, returns confirmed balance changes
- Private key never touches the network
Links
- Docs / API reference: https://traderouter.ai/
- OpenAPI spec: https://traderouter.ai/openapi.yaml
- llms.txt: https://traderouter.ai/llms.txt
- GitHub: https://github.com/re-bruce-wayne/openclaw-skills/tree/main/trade-router
- X/Twitter: @trade_router
License
MIT. See LICENSE.
Security disclosure
Email security@traderouter.ai or open a GitHub Security Advisory. See SECURITY.md for policy.
Metadata
Release files for traderouter-mcp 1.0.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| traderouter_mcp-1.0.13.tar.gz | 18.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| traderouter_mcp-1.0.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.4 kB
Release files / traderouter_mcp-1.0.13.tar.gz
| Download URL | traderouter_mcp-1.0.13.tar.gz |
|---|---|
| Size | 18.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c8877b4d67f7425ff737de8422931a061d1898020a741cc7a61544cdae27b688
|
|
BLAKE2b-256 checksum How to use checksums |
fef6bacd20b136a6307eb1b7a09c1dd4c224920b0b1c65c16d53f284c6b5be72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / traderouter_mcp-1.0.13-py3-none-any.whl
| Download URL | traderouter_mcp-1.0.13-py3-none-any.whl |
|---|---|
| Size | 15.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c88ed406baff7cf4260b06cdba923432d4fd79caf270e6546bd3c637274bf817
|
|
BLAKE2b-256 checksum How to use checksums |
3cf5b5d1ff19a2a220c7691384edd4c1dd980fc8579f7cf872da73e0c983b29b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for traderouter-mcp 1.0.13
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.