// the find
argentlabs/argent-contracts
Smart Contracts for Argent Wallet
Smart contract implementation behind the Argent mobile wallet — a non-custodial Ethereum wallet where user funds live in a contract rather than a bare EOA. The architecture adds guardian-based recovery, transaction whitelisting, and daily limits on top of account abstraction concepts that predate ERC-4337. For Solidity developers studying real-world production wallet design from the 2019–2021 era, this is a well-audited reference.
Multiple independent audits (Solidified, G0Group, Trail of Bits) across six releases give you a realistic picture of what issues surface in production wallet contracts. The module system separates concerns cleanly — SecurityManager, TransactionManager, and RelayerManager are distinct files rather than one monolithic contract. Integration test coverage against real protocol mocks (Aave, Compound, Maker, Uniswap V2/V3, Yearn) is unusually thorough for a wallet repo. The guardian recovery flow solves the 'lost seed phrase' problem without custodianship, which is the genuinely hard design challenge here.
Last meaningful push was mid-2024 and the architecture predates ERC-4337 — this is now a historical artifact, not a template for new wallet development. The build system is Truffle, which is in maintenance mode; anyone forking this today immediately owns a migration to Hardhat or Foundry. The README points to a PDF spec rather than inline documentation, which is awkward for code navigation. The multi-config Truffle setup (seven separate truffle-config-*.js files) suggests the project accumulated complexity over time in a way that was never cleaned up.