Skip to content
GitHub

Install the browser wallet

Testnet

The Monolythium Wallet browser extension is a Manifest V3 wallet for Chromium-family browsers. The published extension runs against testnet 69420; Firefox distribution remains planned.

  • Add to your browser → — publisher Mono Labs R&D LLC; Chrome, Brave, and Edge.
  • Firefox Add-ons — not yet published.

The canonical Chromium extension ID is hendlkmpghhmhmggjebkpbedncpepkgj. Verify both the ID and publisher before installing.

The tagged Chrome Web Store release v0.4.4 predates the merge of domain-bound wallet-auth v1. That store release does not include wallet-auth v1 or the monolythium_authenticate provider method.

Wallet-auth v1 is included in the v0.4.5 GitHub prerelease and uses @monolythium/[email protected]. That release provides the extension archive, checksums, an SBOM, and cosign bundles, but it is not yet published in the Chrome Web Store. A website must feature-detect the method and show an unavailable message instead of falling back to arbitrary message signing.

This distinction matters for Stele: the signed v0.4.5 release artifact has been checksum- and cosign-verified and exercised end to end against live Stele, including provider injection, exact origin/network/scope review, session creation and sign-out, persistent connected-site visibility, and explicit wallet revocation. Ordinary store users remain on a build without wallet-auth until the store update is published.

Developers testing the source implementation can build and load it unpacked. Users testing the exact release should instead download and verify the v0.4.5 archive and checksums from the release page, then load its unpacked directory.

Terminal window
git clone https://github.com/monolythium/browser-wallet
cd browser-wallet
pnpm install
pnpm build

Then open chrome://extensions, enable Developer mode, choose Load unpacked, and select dist/. Treat side-loaded builds as development software, not proof of store availability.

The extension injects window.monolythium into approved pages. Sites should request only documented methods and must handle an absent provider, locked wallet, unsupported method, wrong network, user rejection, and expired challenge.

Wallet-auth source builds expose one atomic method. The provider call below is browser integration pseudocode; it is not a currently installed store capability.

const proof = await window.monolythium.request({
method: "monolythium_authenticate",
params: challengeFromYourServer,
});

The wallet derives the caller origin from its trusted browser bridge, verifies the requested chain ID and genesis hash against its active network, inserts the active address, shows one approval prompt, and returns a canonical ML-DSA-65 proof. It does not accept an address supplied by the site.

That one approval also adds the origin to the wallet’s persistent Connected sites list. While the wallet is unlocked, the connected origin may read the selected account address and receive account events without another prompt. The signed authentication proof is still challenge-scoped and short-lived; connected-site visibility has a separate lifetime.

Do not replace this with personal_sign, a generic message-signing request, or an invented mono_signIn method. Those alternatives weaken the origin, network, address, and scope binding.

Approving authentication creates proof of address control for an application session and persists account visibility for that connected origin. It does not send a transaction, move funds, approve future spending, create a Stele booking, or give the website the wallet’s private key.

To fully disconnect, sign out of the website so it revokes its server session, then remove the origin from the wallet’s Connected sites screen. Website sign-out does not automatically revoke the wallet record, and wallet revocation does not automatically invalidate a website session already created from a valid proof.

Stele is a separate public web application. It is not a tab or data surface in the browser extension.

The store wallet itself is a real testnet wallet. Domain-bound wallet authentication is available and live-Stele validated in the signed v0.4.5 GitHub prerelease, while Chrome Web Store distribution remains store-release pending. Check the installed extension version and feature-detect monolythium_authenticate before presenting wallet login as available.