Importing Contracts from a Wallet
Wallet discovery is the fastest way to get 10+ contracts under monitoring. Paste a wallet or Safe address, and IMAA scans on-chain for the contracts connected to it: ones the wallet deployed, contracts it has interacted with, tokens it holds, and contracts it has granted approvals to. You pick which ones to import.
It's a Pro, Team, or Enterprise feature. Free tier sees an upgrade prompt from the contracts page.
When to use it
- Onboarding a protocol's Gnosis Safe or multisig — get all deployed/admin contracts in one pass
- Migrating from OpenZeppelin Defender — your Sentinel fleet mapped in seconds
- Auditing a wallet you don't fully trust — see what it's connected to
- DeFi position monitoring — token holdings and approvals surface automatically
How it works
- Go to Contracts and click Import from wallet.
- Paste the EVM address (0x-prefixed, 40 hex chars). Checksummed input is fine.
- Pick chains to scan. Pro can scan 1 chain per run, Team 5, Enterprise unlimited.
- Click Discover — the scan typically takes 30–90 seconds.
- Results come back grouped by category. Tick the contracts you want, optionally leave "Attach default monitoring targets" on, and click Import.
You can close the progress modal while a scan is running — the job keeps going server-side and you can check it from the history page.
Categories
| Category | What it means |
|---|---|
| Deployed | Contracts this wallet created (direct CREATE or factory CREATE/CREATE2). Highest signal — you probably care about these the most. |
| Interacted | Contracts the wallet has called, with per-contract transaction counts. Useful for finding protocols the wallet uses — e.g. Uniswap Router if it's a trading wallet. |
| Approved | Token contracts the wallet has granted Approval or ApprovalForAll to, within the last 90 days. Worth monitoring if you hold a position that depends on an approval not being drained. |
| Tokens | ERC-20 / ERC-721 / ERC-1155 contracts where the wallet has a transfer history. Symbol and name populated from the token contract. |
| Referencing | Heuristic — contracts whose owner() or DEFAULT_ADMIN_ROLE points at this wallet. Disabled by default; ops can enable via config flag. |
Tier limits
| Plan | Discoveries / month | Chains per run |
|---|---|---|
| Free | 0 | — |
| Pro | 10 | 1 |
| Team | 50 | 5 |
| Enterprise | Unlimited | Unlimited |
Re-running the same wallet+chain within an hour returns cached results — that doesn't burn a discovery from your monthly quota. Fresh results require either a different chain, a new wallet, or an hour of patience.
What gets imported
For each selected contract, IMAA dedupes against your existing contracts (already-monitored entries are skipped, not re-imported), fetches the ABI from Sourcify or Etherscan, and creates a Contract row owned by your org.
With Attach default monitoring targets ticked, the import wires category- appropriate monitor targets:
- Deployed / Referencing:
tx_rate+anomaly_detection - Interacted / Token / Approved:
tx_rate
No alert rules are created automatically in v1 — set those up from each contract's detail page once the import completes.
Limits & caveats
- EVM only. Solana wallet discovery is a separate feature on the roadmap — the chain selector filters Solana out.
- Max 10,000 transactions scanned per wallet. Very active wallets (CEX hot wallets, public infrastructure) may hit this cap and return partial results. Typical protocol Safes or deployer EOAs fit comfortably inside.
- Max 500 results per category. Prevents runaway responses.
- Max 100 contracts per import. Run the import twice if you need more.
- Per-org rate limit: 3 discoveries per minute. Shared across everyone on the org.
Security notes
- Don't import random wallets just to browse their history — each import creates Contract rows that show up on your dashboard and count toward your
max_contractslimit. - Contracts imported this way are treated like any other — they poll on your organisation's polling interval and use your org's notification channels.
- Every discovery lifecycle event is logged to the admin audit log (started / completed / failed / imported with contract IDs).
API reference
See the public API reference for programmatic use. The three endpoints are POST /wallet-discoveries, GET /wallet-discoveries/{id} (poll every 2 seconds until status is terminal), and POST /wallet-discoveries/{id}/import.