Anatomy of a wallet
A crypto wallet looks like one app, but it is about eighteen parts. Some are cryptography, some are network data, some are product decisions. This section goes through them in the order you’ll need them. For each part it says what the job is, which package does it, and what you have to bring yourself: an RPC, an API key, a storage layer.
| # | Part | What the user sees | Any Wallet Kit | You bring |
|---|---|---|---|---|
| 1 | Keys | “Create wallet”, “Import seed phrase” | core |
Nothing |
| 2 | Key storage | Face ID unlock, “Back up your phrase” | secure-storage-react-native (iOS Keychain, Android Keystore), seed-vault (encrypted backup file), backup-cloud (iCloud), extension-kit (browser) |
Nothing on iOS; an Android cloud backup is planned |
| 3 | Accounts | One address per chain, several accounts | kit, keyring, wallet-* |
Nothing |
| 4 | Networks and RPC | Nothing, until it breaks | networks |
RPC endpoints |
| 5 | Balances | Total, list of assets | wallet-*, swap2-assets |
RPC; an indexer to find tokens |
| 6 | Prices | $ next to every amount | Not in the SDK yet | A price API |
| 7 | Send | Recipient, amount, fee, confirm | wallet-* |
RPC |
| 8 | Receive | Address and QR code | wallet-* |
A QR library |
| 9 | Names | name.eth in the recipient field |
names-ens |
An Ethereum RPC |
| 10 | History | Activity list with readable titles | history-evm, wallet-*, kit |
Explorer / indexer keys |
| 11 | Review before signing | “You send 100 USDC, you get 0.03 ETH” | tx-preview-evm, kit |
An RPC with eth_simulateV1 |
| 12 | Safety | Approvals list, warnings | protocol-approvals-evm, kit |
Blocklist sources |
| 13 | Swaps and bridges | Swap screen, route picker | protocol-swap2-* |
Provider keys (some) |
| 14 | Earn | Stake, lend, APY | protocol-staking-*, protocol-lending-* |
RPC |
| 15 | dApp connection | “Connect wallet” on websites | extension-kit |
WalletConnect on mobile |
| 16 | Buy and sell | “Buy crypto” button | FiatProtocol interface only |
An on-ramp provider |
| 17 | Notifications | “You received 50 USDT” | Not in the SDK yet | A webhook service and push |
| 18 | Your server | Nothing | protocol-swap2-core/server (swap backend), examples/server (RPC proxy + swaps) |
Hosting, user auth, rate limits |
Ship a wallet puts the parts together end to end, with the server. A minimal wallet is parts 1–8. A wallet people keep using adds 10, 11 and 13. Everything else is what sets one wallet apart from another.
Build order
Section titled “Build order”- Keys, storage, accounts. The wallet can be created and restored.
- Networks, balances, prices, send, receive. A usable wallet.
- History, review before signing. A wallet people trust.
- Swaps, Earn, approvals. A wallet people come back to.
- dApp connection, fiat, notifications, names. A complete product.
About the providers on these pages
Section titled “About the providers on these pages”These pages name third-party services (RPC nodes, indexers, price APIs, on-ramps) as examples of what fits each part.