This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Cross-Chain Session Key Propagation Tool

Developer Tools · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategoryDeveloper Tools
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Cross-Chain Session Key Propagation Tool is a developer-focused utility that registers and propagates session keys across multiple EVM-compatible chains. It reads the user's wallet address, the session key public key, session key expiration (in blocks), session key permissions (token approvals, function selectors, and allowed chain IDs), the target chain list, the session key manager contract address, existing session keys for the address, session key status (active/expired/revoked) on each chain, account nonce, gas estimates for session key registration, and previous session key propagation records. The tool then guides you through registering the session key on the source chain, propagating it to target chains via cross-chain messages or deployments, setting permissions, revoking old keys if needed, updating expiration, syncing status across all chains, and transferring any registration fees.

HOW TO USE

Connect your wallet via the built-in connector. Select the source network. Enter the session public key you wish to propagate. Enter the session key manager contract address. Provide a comma-separated list of target chain IDs. In the permissions text area, enter token addresses and function selectors (one per line) that the session key will be allowed to use. Specify the expiry in blocks from the current block. The tool will read on-chain data and display a preview including: session key, manager contract, target chains, permissions, expiry, wallet address, existing keys, current status, and estimated gas. Review all details carefully. Click "propagate session key" to execute the propagation process. The tool will guide you through four steps: registering on the source chain, propagating to targets, setting permissions, and syncing status.

TECHNICAL MECHANISM

The tool uses ethers.js v5.7.2 to interact with session key manager contracts across multiple chains. It reads existing session keys using `getSessionKeys(address)` and `getKeyStatus(address, key)` view functions. Session key status is checked via `isActive(address, key)` and `getExpiry(address, key)`. Permissions are read using `getPermissions(address, key)` which returns an array of token addresses and function selectors. Account nonce is read via `provider.getTransactionCount(address)`. Gas estimates are calculated using `estimateGas` on the manager's `registerKey()`, `propagateKey()`, `setPermissions()`, and `syncKey()` methods. For propagation, the tool constructs cross-chain messages using the manager's `propagate()` function, which emits events that are picked up by relayers on target chains. The tool also supports revocation via `revokeKey()` and expiration updates via `extendExpiry()`. All transactions are built with EIP-1559 fee data using `feeData` from the provider, and the tool uses `effectiveGasPrice` from receipts for accurate cost accounting. Previous propagation records are scanned using `eth_getLogs` with adaptive chunking (halving chunk size on failure) to handle different RPC limits.

WHAT IT CANNOT SEE

This tool cannot verify that the session key is securely stored off-chain—it only registers the public key. It cannot detect session key compromise after propagation; if the private key is leaked, the tool cannot revoke it automatically. It cannot guarantee that all target chains accept the propagated key—some chains may have different manager implementations. It cannot prevent replay attacks if nonce management on the target chains is flawed. It cannot validate that the session key permissions match the intended actions—it only sets what you provide. It cannot ensure that revocation is honored across all chains; some chains may not process the revocation message. It cannot detect if the session key manager contract has vulnerabilities or backdoors. It cannot verify that the key was generated securely—it only accepts the public key you provide.

PLEASE NOTE

This tool is EVM-only and supports Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, and Avalanche. All transactions are signed by the connected wallet, and the user pays gas fees on each chain. Session keys grant significant permissions—ensure you trust the environment where the private key is stored. The tool does not store or transmit your session key. Always test on testnet before propagating on mainnet.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.