LibChain Docs Lib Testnet

Tools

Lib Wallet

Lib Wallet is a self-custody browser extension for Chrome, Edge and Brave, made for LibChain: lib1 addresses, a built-in faucet, swipe to confirm, and a standard EIP-1193 provider for dApps.

Testnet preview. Lib Wallet hasn't had an independent security audit yet. Use it only with test coins. Real-value networks are switched off in testnet builds.

#What it does

  • Self-custody. Keys are created and stored on your device, encrypted with scrypt and AES-256-GCM. They never leave the browser.
  • Lib Testnet built in. lib1 addresses with the 0x form underneath, the faucet in its own tab, and activity linked to Lib Explorer.
  • Accounts. 12 or 24-word recovery phrases, several wallets and derived accounts, private-key and keystore import, watch-only accounts, encrypted backups.
  • Safe confirmations. Every signature or transaction opens in its own approval window with the full addresses, and you confirm by swiping.
  • Tokens and collectibles. ERC-20, ERC-721 and ERC-1155 sends, token import, allowance review and revoke.

#Install

A Chrome Web Store release is on the roadmap. Until then, testers get a build from the LibChain team and load it as an unpacked extension:

  1. Unzip the build

    You'll get a folder with manifest.json inside.

  2. Open the extensions page

    chrome://extensions in Chrome, edge://extensions in Edge, brave://extensions in Brave.

  3. Turn on Developer mode

    The switch is in the top right corner.

  4. Load unpacked

    Choose the unzipped folder. Lib Wallet opens its welcome tab; create or import a wallet.

#For dApp developers

Lib Wallet injects a standard EIP-1193 provider and announces it with EIP-6963, so it shows up next to other wallets instead of replacing them. It never pretends to be MetaMask.

TypeScript
window.addEventListener('eip6963:announceProvider', (e: any) => {
  const { info, provider } = e.detail
  if (info.name === 'Lib Wallet' || provider.isLibWallet) {
    // prefer Lib Wallet on LibChain
  }
})
window.dispatchEvent(new Event('eip6963:requestProvider'))

Detect Lib Wallet by its name or provider.isLibWallet. Its EIP-6963 rdns identifier may change before the store release.

#Supported requests

MethodNotes
eth_requestAccounts, eth_accountsPer-site permission (EIP-2255)
eth_chainId
eth_sendTransactionReviewed and confirmed in the approval window. The wallet sets the nonce; accessList isn't supported
personal_signShows text or hex. Sign-In with Ethereum domain or chain mismatches are flagged
eth_signTypedData_v4EIP-712, shown field by field. domain.chainId must match. Permits and unlimited approvals are flagged
wallet_switchEthereumChain, wallet_addEthereumChainReturns 4902 for an unknown chain. An added network's RPC must report its chain ID before the user is asked
wallet_watchAssetAdd a token to the wallet
wallet_requestPermissions, wallet_getPermissions, wallet_revokePermissions
eth_sign, eth_signTypedData (v1, v3), eth_signTransaction, eth_sendRawTransaction, eth_subscribe, eth_decrypt, eth_getEncryptionPublicKey, wallet_sendCallsRejected Error 4200. Use personal_sign, eth_signTypedData_v4 and eth_sendTransaction

Read-only calls (eth_call, eth_getBalance, eth_getLogs and so on) are forwarded to the network's RPC. Errors use the standard EIP-1193 codes: 4001 rejected by the user, 4100 not authorised, 4200 unsupported, 4902 unknown chain.

Updated 5 November 2026LibChain Docs · Lib Testnet