WATS Wallet Info
WATS Wallet is a self-custody, multi-chain Web3 wallet built by Alltoscan LLC and shipped as three products under one brand: a Chrome extension, a mobile app and an NFC Metal Card. It covers Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana and TON. On EVM networks every action is charged in one token, ATS, through an ERC-4337 paymaster that debits a single balance on BSC; Solana transactions pay their own native fee in SOL, while fees on TON are paid in ATS too. WATS does not natively support Bitcoin, and it never holds your keys.
TrustNet Score
The TrustNet Score evaluates crypto projects based on audit results, security, KYC verification, and social media presence. This score offers a quick, transparent view of a project's credibility, helping users make informed decisions in the Web3 space.
Real-Time Threat Detection
Real-time threat detection, powered by Cyvers.io,
is currently not
activated
for this project.
This advanced feature provides continuous monitoring and instant alerts to safeguard your assets from potential security threats. Real-time detection enhances your project's security by proactively identifying and mitigating risks.
For more information, click here.
Security Assessments
Summary and Final Words
No crucial issues found
The contract does not contain issues of high or medium criticality. This means that no known vulnerabilities were found in the source code.
Ownership is not renounced
The owner retains significant control, which could potentially be used to modify key contract parameters.
Scope of Work
This audit encompasses the evaluation of the files listed below, each verified with a SHA-1 Hash. The team referenced above has provided the necessary files for assessment.
The auditing process consists of the following systematic steps:
- Specification Review: Analyze the provided specifications, source code, and instructions to fully understand the smart contract's size, scope, and functionality.
- Manual Code Examination: Conduct a thorough line-by-line review of the source code to identify potential vulnerabilities and areas for improvement.
- Specification Alignment: Ensure that the code accurately implements the provided specifications and intended functionalities.
- Test Coverage Assessment: Evaluate the extent and effectiveness of test cases in covering the codebase, identifying any gaps in testing.
- Symbolic Execution: Analyze the smart contract to determine how various inputs affect execution paths, identifying potential edge cases and vulnerabilities.
- Best Practices Evaluation: Assess the smart contracts against established industry and academic best practices to enhance efficiency, maintainability, and security.
- Actionable Recommendations: Provide detailed, specific, and actionable steps to secure and optimize the smart contracts.
A file with a different Hash has been intentionally or otherwise modified after the security review. A different Hash may indicate a changed condition or potential vulnerability that was not within the scope of this review.
Final Words
The following provides a concise summary of the audit report, accompanied by insightful comments from the auditor. This overview captures the key findings and observations, offering valuable context and clarity.
Smart Contract Analysis Statement
Contract Analysis
The Simple7702Account contract implements a minimal smart account that an externally owned address adopts as its own code through an EIP-7702 authorisation, so the same address gains ERC-4337 support, batched calls and ERC-1271 signatures while keeping its private key. It is the eth-infinitism v0.8.0 reference account, deployed by the project through the deterministic deployment proxy at 0x268D193D74D3B9a13a82DA831302cf8DBdC9245A. The contract was not changed for the v2 release: the source is the same and the runtime bytecode on the mainnets we re-checked is identical to the bytecode verified in the first audit. The address holds no code on the four testnets that host the v2 paymasters and collector.
Ownership Privileges
The ownership of the contract has been left without any owner or admin role, because the account has no storage and no privileged functions. The account itself has the following properties:
- Only the account's own address or the canonical EntryPoint v0.8 may trigger execute and executeBatch
- User operations and ERC-1271 signatures are accepted only when signed by the private key of the delegating address
- The account accepts native coins and ERC-721 and ERC-1155 tokens like a normal wallet
- The EntryPoint address is fixed in the code
- The project cannot change the code behind this address, and it has no upgrade or pause function
- The delegating user keeps full control through the private key and can switch to another delegate at any time
- No funds are held by the delegate contract itself, as it operates on each user's own address
- No fees are taken by the account
Security Features
The contract implements several positive security features:
- Stateless design, so there is no risk of storage collisions when users switch between delegates
- Strict caller checks on every execution function
- Signature recovery with protection against malleable signatures
- Logic that is identical to a widely used and independently reviewed reference implementation
Re-audit Outcome
Both informational items are acknowledged and unchanged. Malformed signatures still make validation and ERC-1271 checks revert instead of returning a failure value, which matches the upstream reference and only affects the account owner and integrations that probe signatures. The delegate remains a project-specific deployment of the reference account, so users should confirm this address before signing an EIP-7702 authorisation. The v2 paymaster's bootstrap mode does not bind the delegate address into the backend signature, so the backend cannot rely on users keeping this delegate between signing and inclusion.
Note - This re-audit report consists of a security analysis of the Simple7702Account smart contract. This analysis did not include economic analysis of the contract's tokenomics. Moreover, we only audited the main contract for the Simple7702Account team. Other contracts associated with the project were not audited by our team. We recommend investors do their own research before investing.
Files and details
Findings and Audit result
informational Issues | 2 findings
Acknowledged
#1 informational Issue
Signature checks revert on malformed signatures
_checkSignature uses ECDSA.recover, which reverts for zeroed, high-s and non 65 byte signatures. validateUserOp therefore reverts instead of returning SIG_VALIDATION_FAILED, and isValidSignature reverts instead of returning the ERC-1271 failure value. This only affects the account owner and integrations that probe signatures, and it matches the upstream reference implementation.
Acknowledged
#2 informational Issue
Project-specific deployment of the reference account
The delegate at 0x268D193D74D3B9a13a82DA831302cf8DBdC9245A was deployed by the project through the deterministic deployment proxy instead of using the canonical eth-infinitism address. The verified source is line for line the upstream v0.8.0 account apart from one comment, and its bytecode was matched exactly on all ten chains. It differs from the canonical bytecode only because of the OpenZeppelin version and compiler settings. Users authorise this address as the code of their EOA, so its provenance matters.