finds.dev← search

// the find

argentlabs/argent-contracts

★ 602 · Solidity · GPL-3.0 · updated Jul 2024

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.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →