Wallets you already have, from Phantom, Axiom, the Solana CLI or another tool, come into Apache by private key, hundreds at once. Keys can also go the other way when you need a wallet in another app. Both directions are deliberate: an import shows you what each line is before anything is saved, and an export needs an owner or admin, a fresh two factor code, and leaves a record.
- 1
- 2
- 3
- 4
- 5
- 6
Import wallets
Any member can import. Every place that makes wallets has an Import next to it: each section of the wallets panel, each step of the overview, a folder page's Add wallets group, and Import wallets… in the panel's Create menu.
- Choose the kind
Import as Buyers, Devs, Funding or Side. Opened from a kind's own button, the kind is already set. Buyers and side wallets also pick a folder.
- Paste keys or choose files
One key per line in Private keys, or Choose files. Lines without a name get the Name prefix and a number, like
Buyer 001. - Check keys
The server reads every line and tags it (below). Nothing is saved yet: Back returns to the text to fix it.
- Import
Import N wallets takes the lines tagged New and Restore. Keys are encrypted on the server like every other wallet's, and balances show up within a minute.
What it reads
- Base58 keyPhantom, Axiom
- The private key string these wallets export.
- Array of 64 numbersSolana CLI
- The
[12,201,…]form of a keypair file. - A namecomma separated
- A name on the same line as the key, after a comma, becomes the wallet's label:
Sniper 1, 4xQk…. - Files.txt .csv .json .xlsx
- A key per row with its name in any other column. In spreadsheets a header row is skipped and a numbering column marked "#" isn't taken as a name. Old Excel
.xlsfiles are refused: save them as.xlsx. - Up to 1,000per import
- Split bigger lists into several imports.
Two details keep messy exports from tripping the import. The same key written twice on one line, once as an array and once in base58, counts once, while two different keys on one line are refused. And a seed phrase in a spreadsheet column never becomes a wallet's name.
The preview tags
- Newimported
- A key Apache hasn't seen. It becomes a new wallet of the chosen kind.
- Restoreimported
- A wallet that was in this workspace and was deleted. It comes back.
- Already hereskipped
- The wallet is in this workspace already.
- Elsewhererefused
- The wallet belongs to another workspace. A wallet can live in one workspace only.
- Duplicateskipped
- The same key appears earlier in this import.
- Not a keyskipped
- The line isn't a private key in either format. A seed phrase lands here: Apache imports private keys, not seed phrases.
Export keys
Exporting gives you a wallet's private key so another app can spend from it too. The wallet stays in Apache, so both can spend. Because a key is the wallet, export is locked down harder than anything else in Apache.
- Owners and admins only. Members don't see the buttons.
- Two factor checks must be on for your account, and every export asks for a fresh code. Without two factor checks, keys can't be exported at all.
- Recorded first. Every export is logged with your account before a key leaves the server, and teammates see it in the dashboard's team activity.
Export private key in the wallet's menu in the panel, then the code, then Show private key. Reveal shows it and Copy copies it. In Phantom or Axiom: Import wallet → Private key, then paste it.
Select them in a table or on the map and press Keys in the selection bar. Pick the file format, enter the code, and Export N keys downloads the file.
- CSVdefault
- label, kind, address, private key: a spreadsheet, and Import takes it back as is.
- JSONfor scripts
- An array of objects with label, kind, address and privateKey.
- Keys only.txt
- One private key per line, nothing else.
Round trips
A CSV export imports back as is, names included, which makes it the simplest backup of a set of wallets. Importing it into the same workspace shows the lines as Already here; deleted ones come back as Restore. More on how keys are stored is in Security.