Upload hundreds of wallets at once — supported formats and pitfalls.
Got a list of wallets to monitor? Don't add them one by one — use bulk import.
Step 1 — Prepare your CSV
We accept any CSV with these columns (header row required):
| column | required | example |
|---|---|---|
chain | yes | ethereum, bitcoin, solana (lowercase) |
address | yes | 0xabc... / bc1q... / So1... |
label | no | "Treasury Cold Wallet" |
tags | no | treasury;cold;multisig (semicolons) |
The chain column must use our internal IDs — see Supported chains.
Step 2 — Templates we natively support
If you export from any of these, we auto-detect the format — just drag and drop:
- Coinbase Vault export
- Fireblocks wallet list export
- BitGo address book export
- Gnosis Safe address book CSV
We map columns automatically. You can override the mapping if needed.
Step 3 — Upload
Open Atlas → Bulk import and drop your CSV (max 10MB / ~50,000 rows). We:
- Validate every row (chain ID + address checksum)
- Show you a preview with errors flagged
- Run a single batched scan job once you confirm
Progress shows in real-time with a per-row status pill.
Step 4 — Handling errors
Common ones:
unknown_chain— typo in the chain column. Fix and re-upload only the failed rows.invalid_address— checksum failure. Re-export from your source.over_quota— your plan's wallet cap is exceeded. Upgrade or remove existing wallets.
API alternative
For automated workflows, hit POST /api/atlas/import-csv with the file as multipart/form-data. See API keys for auth.
curl -X POST https://qortrace.com/api/atlas/import-csv \
-H "Authorization: Bearer $QT_API_KEY" \
-F "file=@wallets.csv"
You'll get a job_id back. Poll /api/atlas/import-jobs/{job_id} for progress.
