Skip to content

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:

  1. A clean permission screen lists every chain it wants access to.
  2. You can untick the ones you don't want it to touch.
  3. 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:

NamespaceWhat it covers in BlockVault
eip155All EVM chains: Ethereum, Polygon, BNB Chain, Base, Arbitrum, Optimism, Tempo.
solanaSolana mainnet.
bip122Bitcoin.
cosmosdYdX, Osmosis, Noble.
cip101Counterparty (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.

BlockVault Documentation