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.
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.
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 →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 →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 →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.
Awaiting a transaction
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
Submit a transaction or a Blink in column 01. The score and every reason behind it show up here.
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.
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.
Open a Blink before X does
A Blink is a link that becomes a button on X and returns a transaction to sign. Pavise loads the card, sends your address only when you press an action, and runs whatever comes back through the firewall.
It returns a zero-value memo transaction, so you can watch the whole Blink flow with nothing at stake.
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.
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.
- Download the ZIP and unzip it
- chrome://extensions → Developer mode on
- Load unpacked → the pavise-guard folder
- SetAuthority: owner of 3wzu…B5pM → BKPY…sa1i
- Approve UNLIMITED to BKPY…sa1i
- Memo says “Claim 2,500 JUP airdrop”
$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.
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.
Check it, then buy it
Before you buy, paste the mint into the audit above. Do that with every token, ours included.
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.