Paper Trail (PTRL) security report
Radar by SecureChain AI scanned Paper Trail (PTRL) on Ethereum. The main finding is a medium-severity transfer-availability risk caused by an immutable external distributor callback. No post-deployment mint, blacklist, fee-setting, or upgrade function was identified in the supplied source.
The primary material risk is a medium-severity external transfer-hook dependency. Every non-mint transfer calls the configured distributor after updating balances; a reverting or malfunctioning distributor can cause the entire transaction to revert and prevent transfers. The distributor address is immutable, so this dependency cannot be replaced through the token contract.
Trust score: 72/100. Source verified: Yes. Chain: ethereum. Contract: 0xebb3a6fedadc2e746e6b3a22ccb3a3b93eb9d16c.
This report was last modified on 2026-10-14 and contains 1 material finding.
medium finding: External distributor callback can block all token transfers
Every non-mint transfer invokes an external distributor contract. Because a revert from that callback reverts the enclosing token transaction, a malfunctioning, unavailable, or intentionally reverting distributor can prevent transfers, including transfers involving integrations such as exchanges or other contracts.
Evidence: In LaunchToken._update, after super._update(from, to, value), the contract executes IHolderDistributor(distributor).onTransfer(...) whenever from is nonzero and distributor is nonzero. The distributor is assigned in the constructor and declared immutable, with no function available to replace it. Solidity transaction reversion rolls back the preceding balance update if the external call reverts.
Recommendation: Use a distributor implementation that is independently reviewed, non-reverting, and appropriately gas-bounded. Consider a fail-open design, an emergency bypass, or a replaceable dependency governed by a documented and secure control process if transfer availability is a requirement. Validate the deployed distributor implementation separately because its source and runtime behavior were not supplied.