Uniswap Universal Router Decoder
2 Nov 2026
io.github.Elnaril/uniswap-universal-router-decoder
Decode and encode Uniswap Universal Router calldata (V2, V3, V4). Read-only: never signs or sends.
Install
uvx uniswap-universal-router-decoder==4.0.0
Built for
Any MCP client. Works as a standard MCP server, so it can be added to any MCP client, including Claude, Cursor and Codex. Based on the listing description and package type. This is not a certification from those products.
Transports: stdio.
Links
Audit report
Audited by AddonAudit.
Sandbox handshake completed and the published checks passed.
Automated smoke test, not a security guarantee.
- Version
- 4.0.0
- Audited
- 2 Nov 2026
- Package
- pypi uniswap-universal-router-decoder
- Advisories
- 0 critical, 0 high, 0 medium, 0 low
- Time to ready
- 1940 ms
- Network
- Disabled
- Pass Version. Pinned pypi uniswap-universal-router-decoder@4.0.0
- Pass Known vulnerabilities. No critical, high, or medium advisories were returned.
- Pass License. MIT
- Pass Install scripts. No preinstall, install, postinstall, or prepare script.
- Pass Credential patterns. No credential patterns in the published artifact.
- Pass Package size. 59.0 KB
- Pass Maintainer activity. Active 6 days ago.
- Pass Sandbox. MCP handshake completed. 8 tools listed. Tool count measured offline in our sandbox; some servers load more tools when connected.
Tools
- decode_transaction Fetch a transaction from an RPC endpoint and decode the Universal Router call it contains. :param tx_hash: the hash of the transaction sent to the Universal Router :param rpc_url: the RPC endpoint to use, overriding $RPC_URL / $ETH_RPC_UR
- decode_calldata Decode raw Universal Router calldata (no RPC endpoint needed). :param calldata: the "0x"-prefixed calldata of a transaction sent to the Universal Router :return: {"function": <name>, "params": ...} or an "error"
- encode_calldata Build the Universal Router calldata of an "execute" call from its decoded form. The mirror of decode_calldata(): where the decoder turns calldata into commands, this turns the decoded commands back into calldata, so a route can be decoded
- decode_error Decode a Uniswap Universal Router / Permit2 / V4 custom error. :param error_data: the "0x"-prefixed error data, ex: "0x5d1d0f9f" :return: {"name": <signature>, "args": ...} or an "error"
- decode_v3_path Decode a V3 router path into the ordered tokens and pool fees. :param fn_name: "V3_SWAP_EXACT_IN" or "V3_SWAP_EXACT_OUT" :param path: the "0x"-prefixed encoded V3 path :return: {"fn_name": ..., "path": [<token>, <fee>, <token>, ...]} or a
- encode_v3_path Encode a V3 swap path from its ordered tokens and the pool fees between them. The mirror of decode_v3_path(): where the decoder turns a packed path into tokens and fees, this turns tokens and fees into the packed path to use as the "path"
- list_commands Describe the decoded call format and every Universal Router command. :return: {"format": <the envelope>, "commands": [<command description>, ...]}
- describe_command Describe one Universal Router command: its parameters, their types and, where the type is not enough, their meaning. :param command: the command name, as it appears in a decoded call (ex: V3_SWAP_EXACT_IN, decreaseLiquidity) :return: {"co
Metadata checks
- Repository activity: Active in the last 180 days
- License: Recognized SPDX id
- Metadata quality: High
Score 100 uses public metadata only. It is separate from the audit tier. Payment never changes a score. How listings are checked.
Audited by AddonAudit
Free to use on this listing. The mark links back to this page and does not change the score or the tier.
Light
[](https://addonaudit.com/addon/io-github-elnaril-uniswap-universal-router-decoder/)
<a href="https://addonaudit.com/addon/io-github-elnaril-uniswap-universal-router-decoder/"><img alt="Audited by AddonAudit" src="https://addonaudit.com/badges/audited.svg" width="168" height="20"></a>
Dark
[](https://addonaudit.com/addon/io-github-elnaril-uniswap-universal-router-decoder/)
<a href="https://addonaudit.com/addon/io-github-elnaril-uniswap-universal-router-decoder/"><img alt="Audited by AddonAudit" src="https://addonaudit.com/badges/audited-dark.svg" width="168" height="20"></a>
Seal, light
[](https://addonaudit.com/addon/io-github-elnaril-uniswap-universal-router-decoder/)
<a href="https://addonaudit.com/addon/io-github-elnaril-uniswap-universal-router-decoder/"><img alt="Audited by AddonAudit" src="https://addonaudit.com/badges/audited-seal.svg" width="240" height="240"></a>
Seal, dark
[](https://addonaudit.com/addon/io-github-elnaril-uniswap-universal-router-decoder/)
<a href="https://addonaudit.com/addon/io-github-elnaril-uniswap-universal-router-decoder/"><img alt="Audited by AddonAudit" src="https://addonaudit.com/badges/audited-seal-dark.svg" width="240" height="240"></a>
Self-hosted version
A remote image can be changed by whoever hosts it. To keep the badge fixed, download the SVG and commit it to your own repo, for example as .github/addonaudit-badge.svg. The snippet below uses that local file and links to this page.
Download light SVG · Download dark SVG
[](https://addonaudit.com/addon/io-github-elnaril-uniswap-universal-router-decoder/)
Get your add-on audited
Request a free audit of a public MCP server or AI coding add-on. A request does not buy a listing, a tier, or a score change.
Data notes
- Tool count is not part of this registry record, so it is blank.