POST /v1/wallets
One authenticated call returns a wallet — id, address, chains — in 84 ms in the demo. There is no infrastructure step before the first wallet; the endpoint is the infrastructure.
Four SDKs
iOS, Android, React Native, and Web ship as versioned SDKs — 1.4.2, 1.4.0, 0.9.1, and 2.1.0 in the demo console. One integration pattern, four platforms, the same sheet everywhere.
On-device keys
Key material is generated and held on the user's device — you get wallets without becoming a custodian. The sheet says it plainly at the bottom: secured by Protocore, keys on device.
Multi-chain by default
Wallets speak BTC, ETH, Base, and Solana from day one. The create call takes a chains array — the quickstart passes base and ethereum and gets one wallet back.
Balances, transfers, history
Everything after creation is an endpoint too: balances, transfers, and history are API calls, not systems you stand up. The console's transactions view reads from the same surface your app does.
Webhooks
Wallet events post to your endpoint with per-delivery status — the demo shows wallet.created at 100% success over 24 hours, last delivery two minutes ago. Your backend learns about wallets the moment they exist.
Live and test keys
Keys come in pairs — sk_live and sk_test — managed in the console. Test mode exercises the full surface before a real wallet exists.
Watch-only wallets
An address can join the switcher without its keys — balances visible, nothing spendable. Users keep an eye on cold storage from the same screen they spend from.
Backup nudges
A wallet without a written-down phrase carries a visible back-up flag until the user fixes it. The nudge lives where the money is, not in an email nobody opens.
Payment requests
Set an amount on the receive screen and share the result — the counterpart gets an address and a number instead of a screenshot and a guess. Plain address sharing stays one tap away.
Wrong-chain protection
Addresses are network-scoped and the UI says so before anyone sends: Base assets only, or they could be lost. The supported-asset list sits on the same screen as the QR.
Key export
Users can export their keys from the sheet — custody stays with the user, not just on the marketing page. The wallet outlives the app relationship if the user wants it to.
Automatic sync
Funds and activity sync without a refresh button — the sheet and the API see the same state. What the chain knows, the wallet shows.
No custody, by architecture
The operator console is read-side only: it can look addresses up, link them to users, and trace flows — it cannot move funds, because it never has the keys. The strongest compliance answer is a capability that does not exist.
User 360 for support
Every registered wallet links to its owner's User 360 in the operator console — balances, devices, KYC tier, and history one click from the address a customer is asking about.
Reason-required operations
Operator actions in the console are reason-required and audited — the production banner says so on every screen. Support can act fast without acting silently.
Whitelabel by design
The sheet renders inside your app — your navigation, your brand, our sheet. Users never leave the flow to find a wallet; it appears where the payment is.
Rename and organize
Wallets take names — Main wallet, Solana savings, Cold storage — from the moment they are created. A wallet a user can name is a wallet a user understands.
Proven at scale
The demo program runs 84,120 wallets at 99.99% uptime, on the same rails every new integration gets. The numbers sit on the console's front page, not in a sales deck.