In the browser or on a phone, even with VIGIL closed. On an iPhone, add VIGIL to the home screen first.
VIGIL / Real-time contract monitoring
Watch any contract, token, multisig, pool or wallet on Robinhood Chain. Get instant, evidence-backed alerts when ownership, upgrades, roles, supply or liquidity change: in your browser, on your phone, or straight to your server.
What VIGIL catches
Did something just change?
Each rule reads real onchain events, and each alert carries the transaction, block and actor behind it.
- Contract ownership transferred
- Proxy upgraded to a new implementation
- Contract paused or unpaused
- Admin, minter, pauser or upgrader role granted or revoked
- Large mint or burn, as a share of supply
- Large transfer out of a deployer or treasury wallet
- Large or unlimited approval given by a watched wallet
- A watched deployer deploys a new contract
- Liquidity removed from a pool
- Multisig owners or threshold changed
Large mint detected
Large mint detected: 1.22% of supply
- Contract
- PLTR (Palantir)
- Transaction
- 0xabaa48d3ā¦453b9187
- Block
- 106,317,130
- Time
- 2026-11-05 00:25:16 UTC
- Rule
- LARGE_MINT_V1 (v1)
A real change, from the public feedOpen the alert ā
From block to alert
Six steps, every block.
Nothing is guessed along the way. Each step works from what the chain itself returned, and keeps the proof. How it works ā
- 01
Watch
Paste an address. VIGIL reads what it is, proxy, owner, token, multisig or pool, and suggests the rules that suit it.
- 02
Read
Each new block's logs for every watched address, in ranges, re-checking the last 100 blocks for reorganizations.
- 03
Detect
Versioned rules turn events into findings, with the transaction, the block, the actor and the values before and after.
- 04
Confirm
Most alerts wait 20 blocks, about 2 seconds. A critical one can go out at once, marked pending.
- 05
Deliver
Once per transaction, to each channel the watch chose, and retried with backoff if it fails.
- 06
Record
Each contract's findings join its public record, so anyone can check what changed and when.
The rules
14 rules, each one versioned.
A published rule never changes: a fix is a new version, so an old alert still says what its rule meant at the time. The thresholds here are the defaults, and each watch can set its own.
Wallets too
Watch a treasury, not just a contract.
Follow a deployer or treasury wallet, and hear when it moves a large share of a token, gives an approval it may regret, or puts out something new.
- A transfer out of 1% or more of a token's supply
- An unlimited approval, or one of 5% or more of a supply
- A new contract that names the wallet as its owner or first holder
A wallet's alerts are yours alone. They never appear in the public feed or record, which only covers contracts.
Unlimited approval given
- Wallet
- 0x9f3aā¦C41E
- Contract
- 0x4be1ā¦77A0
- Allowed to spend
- 0x1D07ā¦E3B9
- Amount
- Unlimited
- Rule
- APPROVAL_LARGE_V1 (v1)
An example, confirmed after 20 blocks
Channels
Five ways to hear it.
Each watch picks its own channels, the lowest severity worth a ping, and quiet hours that let only critical alerts through.
Signed with a secret for each endpoint, retried with backoff, and checked in one call with the SDK.
Each alert as it happens, or one digest a day. The address is confirmed before anything is sent.
Open a link from Settings and press Start. Alerts then arrive in that chat or group, from VIGIL's own bot.
Paste a channel's webhook URL. There is no bot to install, and nothing in an alert can ping anyone.
How it behaves
Facts, fast, and quiet.
Four things every alert keeps to, whichever way it reaches you.
Facts only
Every alert comes from a real onchain event, with its transaction, block, actor and rule. VIGIL says what happened. It never accuses anyone.
Fast, and corrected if wrong
Alerts arrive seconds after a block. If a reorg removes the event, you are told that too.
Quiet by design
One alert per transaction, your own thresholds, quiet hours, and cooldowns on noisy rules.
Built to be built on
Signed webhooks with retries, so your own systems can react: notify, pause, block or ignore.
In the open
How VIGIL is doing, right now.
The same figures the operator watches, refreshed every half minute and public to anyone. The status page ā
The public feed
Latest changes to featured contracts.
Watched in publicAMZN (Amazon)META (Meta Platforms)PLTR (Palantir)PONS (Pons)SPCX (SpaceX)SPY (S&P 500 ETF)USDG (Global Dollar)
- high2026-11-05 00:25Large mint detectedPLTR (Palantir) Ā· Large mint detected: 1.22% of supply
- high2026-11-05 00:20Large mint detectedPLTR (Palantir) Ā· Large mint detected: 1.12% of supply
- high2026-11-04 18:09Large mint detectedUSDG (Global Dollar) Ā· Large mint detected: 1.8% of supply
- high2026-11-04 09:16Large mint detectedPLTR (Palantir) Ā· Large mint detected: 1.71% of supply
Robinhood Chain
Built on the chain it watches.
Robinhood Chain is a permissionless, EVM-compatible Layer 2. VIGIL reads its public logs as blocks arrive, and keeps a public record of every change it finds to the contracts people watch.
VIGIL is not the chain. Robinhood Chain is the network; VIGIL watches what that network makes public.
For integrations
Act on it in your own systems.
Webhooks are signed, retried, and arrive at least once. Check one with the TypeScript SDK before you act on it: notify, pause, block or ignore.
import { parseVigilWebhook, VigilSignatureError } from "@vigil/sdk";
const secret = process.env.VIGIL_WEBHOOK_SECRET!;
const raw = express.raw({ type: "application/json" });
app.post("/vigil", raw, (req, res) => {
let event;
try {
event = parseVigilWebhook(req.body, req.headers, secret);
} catch (error) {
if (error instanceof VigilSignatureError) {
return res.status(401).end();
}
throw error;
}
res.status(200).end();
if (event.type !== "alert.confirmed") return;
if (event.alert.severity === "critical") {
// Act on it. Deliveries arrive at least once:
// skip a delivery_id you have handled.
}
});Examples. The calls and shapes are the SDK's and /v1's; the values are illustrative.@vigil/sdk
Questions
Before you start.
The short answers. The docs have the long ones. Read the docs ā
Is VIGIL free?
Yes, for up to three watches, with every rule and every channel. The Pro plan raises the number of watches.
Does VIGIL need my private key?
No. You sign in by signing a message with your wallet. It sends no transaction, costs nothing, and VIGIL never asks for a key.
How fast is an alert?
Seconds after the block. Most alerts wait 20 blocks, about 2 seconds, so a reorganization cannot take them back. A critical one can go out at once, marked pending.
What if the chain reorganizes?
VIGIL re-checks recent blocks on every scan. If an event disappears, its finding is retracted, and every channel that had the alert is told.
Can I watch a wallet, not a contract?
Yes: large transfers out, large or unlimited approvals, and new contracts it deploys. A wallet's alerts are yours alone: they never appear in the public feed or record.
What if an alert is wrong?
Report it from its page. A person reviews every report, and a rule at fault is fixed with a new version, never edited in place.
Does VIGIL say who is to blame?
No. It reports what happened onchain and how severe that kind of change usually is. It does not judge intent.
Can my own systems act on it?
Yes: signed webhooks, an API with keys of your own, and a TypeScript SDK that checks every webhook's signature.
VIGIL / Start watching
Your first three watches are free.
Sign in with a wallet, paste an address, and choose how to hear about it.