Multi-Chain Sessions (CAIP-25)
Crypto used to mean one popup per network. Want to use a dApp on Ethereum and Polygon? Two approvals. Add Solana? Three. Switch back? Pop, pop, pop.
BlockVault uses a newer standard called CAIP-25 so you can approve a dApp once and tell it which chains it's allowed to use. After that, the dApp can move between those chains without bothering you again — but it still has to ask you to confirm any transaction.
What you'll see
When a dApp connects:
- A clean permission screen lists every chain it wants access to.
- You can untick the ones you don't want it to touch.
- You tap Approve, and the session is saved.
To revoke a dApp's access, open Settings → Connected Sites and remove it. That instantly cuts off every chain at once.
Chains BlockVault can grant in a session
CAIP-25 uses short identifiers ("namespaces") for groups of chains. BlockVault speaks five of them:
| Namespace | What it covers in BlockVault |
|---|---|
eip155 | All EVM chains: Ethereum, Polygon, BNB Chain, Base, Arbitrum, Optimism, Tempo. |
solana | Solana mainnet. |
bip122 | Bitcoin. |
cosmos | dYdX, Osmosis, Noble. |
cip101 | Counterparty (on Bitcoin). |
So a session like "give this dApp Ethereum, Polygon and Solana" is one approval, not three.
Why it matters
- Less friction. One approval covers the whole experience.
- Clearer permissions. You see exactly which chains a dApp has, all in one place.
- Easier to revoke. Cutting access cuts every chain at once.
- Future-proof. As more chains roll out, dApps can request them through the same flow.
What it doesn't change
Sessions are about permission to talk, not permission to spend. Even after you've approved a session, every transaction, signature and contract call still requires your tap-to-sign confirmation.
For dApp developers
BlockVault implements wallet_getSession, wallet_createSession, wallet_revokeSession and wallet_invokeMethod per the CAIP-25 specification. Connection requests should pass requiredNamespaces and (optionally) optionalNamespaces so users can choose what they grant. Discovery is via EIP-6963; the wallet RDNS is app.blockvault.wallet.