$PAVISE official CA:soon
Buy $PAVISE
FirewallIntentVaultBlinksRevokeExtensionDocsBuy $PAVISEX
Pre-sign firewall · Solana mainnet

Stand behind it before you sign

Pavise reads a Solana transaction before your wallet signs it. Paste any transaction, Blink or address: it decodes every instruction, simulates it on mainnet and tells you in plain words who ends up with your money. If it is a drainer, you see it before Phantom pops up.

pavise · n. · tall shield decode then sign
A crossbowman planted it in the mud before he reloaded.Your wallet reloads every signature.
Decode Simulate Score Cap Revoke

Mainnet slotsyncing…
Enginelib/pavise.js v0.1.0
CustodyNone · keys never asked
Pavise // Pre-sign architecturelib/pavise.js · open source ↗
01 // Tx firewall

Bytecode decoder for every format

Reads legacy, v0 and the new v1 layout, resolves lookup tables and catches SetAuthority handoffs, unlimited Approve, wallet Assign and durable nonces.

Open firewall →
02 // Mainnet replay

Simulation, mint audit, X-ray

Runs the transaction on mainnet RPC with no signature, grades a token's mint and freeze powers and Token-2022 extensions, and explains any address or signature.

Audit a mint →
03 // Policy vault

Spend cap and emergency freeze

Your own rules for every check: a rolling 24 h SOL cap, the highest risk you accept, and one red button that blocks everything until you lift it.

Set your policy →
04 // Blinks & revoke

Blink inspector and delegate revoker

Opens any Solana Action, shows the card it would render on X and runs the transaction it returns through the firewall. Then finds old approvals and builds the revoke.

Inspect a Blink →
01 // Pre-sign firewallSolana mainnet

Inspect a transaction or Blink

Paste a serialized transaction in base64 or base58, or a Blink link. Nothing is signed and nothing leaves your browser except a public RPC call.

Audit a token mint

Who can still print it, freeze it, take it back or tax it. Reads the mint on mainnet and the deepest pool on DexScreener.


Recently audited0
Nothing yet. Audit a mint and it lands here.

Address / tx X-rayRPC
02 // Pre-sign sandbox

Awaiting a transaction

Standby
Firewall standby

No payload loaded. Paste a transaction or a Blink in column 01, or press one of the samples. The drainer sample is a real transaction layout, built byte by byte, with made-up accounts.

  • Legacy · v0 · v1 decoderOn submit
  • Lookup tables resolved on mainnetOn submit
  • Balance changes from simulationOn submit
  • 21 rules, policy checkOn submit
03 // Verdict
Risk scoreAwaiting payload
—/100
0 clear20 caution50 block100

Submit a transaction or a Blink in column 01. The score and every reason behind it show up here.

    Engine pavise.js · rules 21 · policy cap 5 SOL · max risk 49 · RPC publicnode · no keys, no accounts, no logs
    WatchmanRead-only
    Watchman on the wall. Give me any Solana address, token mint, program or transaction signature and I will tell you what it is, who controls it and whether it can take anything from you.
    04 // Intent checkJupiter quote

    Say it in plain words first

    Write what you want to do. Pavise parses it, checks it against your policy and asks Jupiter for a live route, so you know the price before any app builds a transaction for you.

    05 // Policy vaultArmed

    Your rules, checked every time

    The policy lives in this browser, and the firewall, the intent check and the Blink inspector read it on every run. Press “I signed it” under a verdict and the spend counts against your 24 h cap.

    WALLETnot set · fee payer is used
    STORElocalStorage · pavise.policy
    SPENT 24H0.000 SOL
    LEFT TODAY5.000 SOL
    STATEARMED
    Max spend · 24 h rolling5.0 SOL
    Max allowed risk score49 / 100
    07 // Delegate revoker

    Close the doors you left open

    Every old Approve is a delegate that can still spend from that token account. Paste a wallet: Pavise lists every live delegate across SPL Token and Token-2022, then builds one unsigned transaction with a Revoke for each one you tick.

    Live delegates—
    Paste a wallet on the left. Accounts with a delegate show up here with the amount the delegate can still take.
    Chrome MV3 extension · v0.1.0

    Pavise Guard reads it before the wallet opens.

    The guard wraps signTransaction, signAllTransactions and signAndSendTransaction of Phantom, Solflare and Backpack on every page. When a dApp asks for a signature, the same engine decodes and scores it and shows a card. Block, and the dApp gets a rejection. Continue, and the wallet opens as usual. The transaction is never changed.

    1. Download the ZIP and unzip it
    2. chrome://extensions → Developer mode on
    3. Load unpacked → the pavise-guard folder
    Pavise guard · phantomBlock
    100 /100
    Do not sign. This transaction takes control of your funds.
    • SetAuthority: owner of 3wzu…B5pM → BKPY…sa1i
    • Approve UNLIMITED to BKPY…sa1i
    • Memo says “Claim 2,500 JUP airdrop”
    Continue anywayBlock
    $PAVISE // The tokenToken page in docs ↗
    Ticker

    $PAVISE on Solana

    The tool is free and stays free. The token is how the people who use it say so, and how the next feature gets voted onto the list.

    Contract

    soon

    One official address, shown here and in the docs from the same line of settings. Anything else in your DMs is the first thing Pavise would flag.

    Buy

    Check it, then buy it

    Before you buy, paste the mint into the audit above. Do that with every token, ours included.

    Buy $PAVISEChart
    Code

    MIT, one file

    The whole engine is lib/pavise.js, no dependencies. Import it from this site and you have the same firewall in your own app.

    Quick startX