0$VIGIL burned
enginewatchingheadlast passnone yetrecordno passes yetwatchingits own contracts
read-only · nothing is deployed yet

Contract monitoring
that reads the code.

Vigil takes a deployed contract, works out the claims that have to stay true for it to be working, and re-checks every one of them against the chain around the clock. Not a price alert and not a transaction feed: the fee still routes where it was pointed, the owner has not changed, the code has not been swapped underneath you, the keeper is still funded.

When one of those stops holding, it does not send a notification. It tells you which claim broke, which transaction broke it, and what that means.

reads
bytecode, storage slots, live calls
re-checks
every pass, against the chain
remembers
every read, so a change has a before
holds
no keys, sends nothing
01
try it

Point it at anything on this chain.

no wallet needed

This runs the read step live, in your browser, against the public node. Paste a contract address, or connect a wallet and use your own. Nothing is uploaded and nothing is stored until you ask for it to be watched.

Any deployed address works. Nothing is sent anywhere: the reads happen in this browser.
02
the burn

What pays for it.

$VIGIL has a buyer that never stops. A contract fills up as the coin trades, and it can do exactly one thing with what it holds: buy $VIGIL on the open market and send it to a dead address. It does that every 30 minutes, 48 times a day, with no withdraw function and no owner. That pot is also the first thing the watch was pointed at.

burned
0
not launched yet
burns
0
up to 48 a day
in the pot
0.0000 ETH
nothing yet
spent buying back
0.0000 ETH
the one way out of the pot
03
live

The watch, on our own contracts.

Nothing is deployed yet, so there is nothing true to check here. The scanner above works on anything already on the chain, and this board fills itself in the moment our own contracts go out.
04
your exposure

What you already hold, and what can be done to it.

connect to read

Watching a contract means knowing which one to name. Most holders never do: the token sitting in a wallet gives no sign that its code can be replaced, or that somebody can halt it, and this chain has no index that would say so. This reads the blocks for the addresses that have ever sent you anything, reads your balance in each, and puts the positions most can be done to at the top.

Connect a wallet and this reads what you are actually holding, then says what the contract behind each position is able to do: whether its code can be replaced, whether somebody can halt it, whether one address still owns it.

It is a read. Nothing is signed, nothing is sent, and the wallet is only ever used as an address to look up.

05
your watch

Contracts the engine keeps an eye on for you.

Connect a wallet and this section becomes yours: a list of contracts the engine probes every five minutes on your behalf, and marks the moment any of them changes underneath you.

The wallet is the identity your list is kept under. Adding to it asks for one signature, which proves you hold the wallet and nothing else. No transaction, no gas, no approval.

06
how it works

Read, derive, watch.

01eth_getCode · eth_getStorageAt · eth_call
Read

It pulls the deployed bytecode and, where there is verified source, the source with it. Storage slots, the proxy pointers, the functions that answer and the ones that do not. This is the same reading an auditor does on the way to a report.

02claims, each true or false right now
Derive

Out of that come the claims. What the launchpad pays out still reaches the pot. The pot has adopted one token and has no function to adopt another. The upgrade slot is empty. The keeper is funded. Each one is a sentence the chain can be asked about.

03every pass · one call · a diagnosis
Watch

Every claim is re-evaluated against the chain on a loop, the whole set in a single call so it stays cheap enough to run forever. A claim that stops holding comes back with what broke, what broke it, and what it means.

what a derived claim looks like
claimThe pot has adopted exactly one token
readBurnPot.token() → 0x…, set once at launch
whythere is no setToken(); the only path that writes the slot is launch(), which runs once
breaksif token() ever answers a different address, the code at this address is not the code that was read

It holds no key on anybody's behalf and it sends nothing. A read-only watch has no blast radius, which is what makes it a thing a protocol can agree to in an afternoon rather than a quarter.

07
targets

What is under watch.

Robinhood Chain · 4663
BurnPot

Holds the ETH and does the buying. No withdraw, no owner, one token, forever.

not deployed yet
Collector

Takes in what the launchpad pays out and forwards the burn budget to the pot. The pot it pays is immutable.

not deployed yet
Token

$VIGIL itself, launched by the pot so the pot is its recorded deployer.

not deployed yet
Yoursnone yet

Anything you put on your list gets the same five-minute read, kept, and diffed against the one before it.

Our own contracts first, because on day one the alternative is a screenshot of a protocol that never agreed to be watched. The pass is not written against these three: it derives what has to stay true from what it reads, which is exactly what lets it be pointed somewhere else.

08
questions

The things people ask.