Skip to content

Get protected

Audited once. But what changed since?

Proof of Audits shows what was reviewed, what changed, and what remains unverified before you sign.

Pick the version for your wallet. We check your browser and recommend one.

Install

MetaMask Snap

Runs inside the MetaMask confirmation, before you confirm.

Chrome and Brave

Browser extension

Not a wallet. It is being built to work with the wallet you already use, and to check transaction requests before they reach it.

The extension is in testing.

Join the waiting list

Name, email, and why you want it. We use your answer to choose testers and decide what to build first.

This helps us understand what people need before we decide what ships first.

We use these details only for extension research and testing invitations. No newsletter and no sharing with anyone else.

Open on desktop

On a phone? MetaMask Mobile cannot run Snaps. Scan this on a desktop, or email yourself the link.

Email me the link

What it does

  • Runs inside the MetaMask confirmation window for Ethereum mainnet transactions.
  • Traces the exact call path of the transaction, through proxies and implementations.
  • Compares the live code with released review evidence for each part of that path.
  • Shows who can still change the contracts involved.
  • Warns about unlimited approvals and approvals to a wallet (EOA) instead of a contract.
  • For contracts without a released audit, shows the facts it has: source verification (not an audit), proxy and current implementation, and who can upgrade it, with a link to request an audit listing.
Shortened example. The real panel also shows call counts and the checked block.

Reviewed, changed, unknown

What each Proof Before Sign result means
You seeWhen
VERIFIEDReleased evidence covers the exact live code, function and required material path, with continuity and authority gates satisfied.
PARTIALReleased evidence covers part of this interaction; a material component or required fact is uncovered.
CHANGEDA relevant live implementation, code, path, configuration or authority differs from the reviewed baseline.
NOT VERIFIEDNo released evidence applies, or the required live facts could not be established.

UNKNOWN is normal when evidence is missing. POA does not guess: a contract without enough released evidence stays unknown.

Review evidence does not guarantee security. A reviewed contract can still contain vulnerabilities.

Live protocol evidence

Loading protocol evidence…

Permissions and privacy

Permissions requested by Proof Before Sign
PermissionWhy
Transaction insightShows POA evidence inside the MetaMask transaction confirmation.
Signature insightShows the spender and token status for ERC-2612 Permit and Permit2 signature requests.
Home pageShows the POA settings and controls inside MetaMask.
Network accessReaches the POA evidence service at proofofaudits.com to analyse the proposed transaction.
Lifecycle hooksShows a short notice when POA is installed or updated.
DialogDisplays POA messages inside MetaMask.
Encrypted local stateStores your settings and a minimal summary of the last check on this device.
  • When transaction checks are ON, the proposed Ethereum mainnet transaction (chain, sender, recipient, value, calldata and wallet-supplied fee and nonce fields) is sent to POA for analysis.
  • Nothing is sent while POA is paused.
  • POA never asks for your recovery phrase or private key.
  • ERC-2612 Permit and Permit2 signatures show the spender and token status; other signatures, such as wallet logins and message signing, get no panel.
  • For Permit, Permit2 and approvals, only contract addresses are sent for the status lookup: no owner, amount, nonce or signature.

After installing

  1. Open Proof Before Sign from the Snaps list in MetaMask. Its home page shows Transaction checks: ON.
  2. Switch MetaMask to Ethereum mainnet and start a contract transaction in an app you already use.
  3. Before confirming, open the Proof Before Sign section of the confirmation. It shows the chain, the contract, how many components are reviewed, changed or unknown (or “Not established” when POA could not identify them), and the result.
  4. Cancel unless the evidence and the transaction match what you intended.

Pause or turn off

  • Pause transaction checks: the home page shows Transaction checks: PAUSED. POA skips analysis and makes no backend requests; MetaMask signing continues normally.
  • Pause all POA activity: stops transaction checks, change alerts and all POA network requests until you choose Resume POA.
  • To disable POA completely: MetaMask Settings → Snaps → Proof Before Sign → disable.

Change alerts (opt-in)

Change alerts are OFF by default and only start after you explicitly turn them on. They are not included in the current release: the home page shows Change alerts: unavailable in this build.

Supported browsers

Use the MetaMask browser extension on a desktop browser it supports: Chrome, Firefox, Brave, Edge or Opera.

MetaMask Mobile does not support installing Snaps like this one; use the MetaMask browser extension on desktop.

The browser extension runs on desktop Chrome and Brave.

Get the MetaMask browser extension (opens metamask.io)

Learn more