56730 sc insight transmuter tokenuri is not eip 721 compliance
Submitted on Oct 19th 2025 at 23:38:25 UTC by @lirezarazavi for Audit Comp | Alchemix V3
Report ID: #56730
Report Type: Smart Contract
Report severity: Insight
Target: https://github.com/alchemix-finance/v3-poc/blob/immunefi_audit/src/Transmuter.sol
Impacts:
Contract fails to deliver promised returns, but doesn't lose value
Description
Brief/Intro
tokenURI() is violating EIP-721 by not reverting for non-existent token id's.
Vulnerability Details
According to the EIP-721 specification, the function should throw an error if the provided _tokenId does not correspond to a valid NFT. However, the current implementation returns a non-empty SVG/String for non-existent tokenId values.
Impact Details
Violation of EIP-721
This behavior can lead to confusion and makes it difficult for clients and applications to determine the validity of a token.
References
https://github.com/alchemix-finance/v3-poc/blob/a192ab313c81ba3ab621d9ca1ee000110fbdd1e9/src/Transmuter.sol#L153-L155
https://eips.ethereum.org/EIPS/eip-721#:~:text=///%20%40dev%20Throws%20if%20%60_tokenId%60%20is%20not%20a%20valid%20NFT.%20URIs%20are%20defined%20in%20RFC
Proof of Concept
Proof of Concept
Add (copy and paste) the following function to
src/test/Transmuter.t.sol:
Run:
forge test --match-test testTokenURI_PoC.
Was this helpful?