VA

Vigil — an outside witness for AI agents

com.vigilnotary/vigil

Agent leases, signed receipts, watchdogs, and optional paid source-verification evidence.

Yes, your AI can use this right now.Answered a live MCP handshake in 796 ms with no sign-in needed and exposes 26 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://vigilnotary.com/mcp

26 tools, verified live

Pulled straight from the server with tools/list on 2026-10-18.
vigil_inforead-only

Service description, the Ed25519 signing pubkey to verify receipts against, current chain head, and free-tier limits. No key required.

vigil_register

Create a key. Returns a bearer key shown ONCE — store it; it is your only identity. No email, no account. Starts on the free tier. Creates a persistent identity. The returned key grants full account control; provision it in a trusted client, not a model transcript.

vigil_pricingread-only

The plans and per-tier limits (free, dev, pro). No key required.

vigil_usageread-only

Your current tier, its limits, and how much you've used today. Requires your key.

vigil_notarize

Notarize work: POST the sha256 (64 hex chars) of anything and get back an Ed25519-signed, timestamped, hash-chained, serial-numbered receipt. Chain position orders submitted records; the timestamp is a signed assertion of Vigil's clock. Free tier: 10/day. Irreversibly publishes the digest, label and account handle in the public chain; no deletion tool exists. It proves signed-data integrity, not t

vigil_get_receiptread-only

Fetch a receipt by serial number. Public — anyone can read any receipt.

vigil_verify_receiptread-only

Verify a receipt's hash and Ed25519 signature against a mandatory, independently pinned Ed25519 public key. The key must not come from the receipt being checked. Returns valid=false for tampering, forgery, a wrong signer, or malformed input. Read-only and local to Vigil.

vigil_chainread-only

Read a range of receipts to audit chain continuity. Max 1000 per call.

vigil_set_watchdogcan modify

Arm a dead-man switch. Register an interval and an https webhook; then call vigil_heartbeat before each interval elapses. Miss one and Vigil attempts a signed 'absence' payload to your webhook, retrying failed delivery. Free tier: 1 watchdog. Overwrites an existing watchdog and resets its timer and delivery state. A missed heartbeat sends the supplied message to an external HTTPS recipient; failed

vigil_heartbeatcan modify

'Still alive.' Reset a watchdog's timer. Call this at least once per interval. Resets the deadline and delivery state, potentially suppressing an overdue alert or rearming delivery.

vigil_watchdog_statusread-only

Read a watchdog's state: interval, last beat, whether it is overdue, fired, or exhausted.

vigil_delete_watchdogcan modify

Remove a watchdog. Destructive: deletes its configuration and stops future alerts. No undo or restoration of the previous timer is provided.

vigil_grant_leasecan modify

Grant a short-lived, Ed25519-signed LEASE authorizing an agent to perform an action until it expires. A customer-run gateway verifies the lease offline (fail-closed) before letting the action through. This is the guard on a money/data-moving action. Free tier: 1 active lease (guarded agent). Security-sensitive: grants authority. Keep this account key outside the controlled agent. A signed lim stri

vigil_renew_leasecan modify

Extend a lease with a fresh signed token and new expiry. Renewing is how a healthy agent keeps acting; stop renewing (or revoke) and it lapses. Security-sensitive: extends authority and refreshes the offline recheck window. Keep renewal credentials outside the controlled agent.

vigil_revoke_leasecan modify

Revoke a lease. A compliant v2 gateway refuses the old offline token at recheck_by_ms (at most 30 seconds after issue/renewal), or earlier if it polls revocation. Revocation is not instantaneous. Irreversible for this lease ID; it cannot be renewed again. Already admitted actions are not undone.

vigil_lease_statusread-only

Public status of a lease (active / expired / revoked). What a gateway polls for revocation. No key required.

vigil_verify_leaseread-only

Offline, FAIL-CLOSED check of a lease token against a mandatory, independently pinned Ed25519 public key. Returns allow=true only for a valid signature before expiry and recheck_by_ms. It does not authenticate the calling agent, enforce action/amount policy, or query live revocation; a customer gateway must do those checks before every provider action. Checks signature, expiry and the signed reche

vigil_leasesread-only

List your leases and their states.

vigil_anchorsread-only

Public timestamp submissions to OpenTimestamps calendars. A submission is pending, not an independently verified Bitcoin confirmation. No key required.

vigil_anchor

PRO: anchor the current chain head to OpenTimestamps on demand (the chain is auto-anchored every few hours regardless). Sends the public chain-head digest to external OpenTimestamps calendars; submission is not verified Bitcoin confirmation.

vigil_journal_putcan modify

Store an opaque blob under a slug (overwrites). Encrypt client-side: the server stores exactly the bytes supplied and cannot enforce client encryption. Send bytes as base64. Free tier: 4 slots, 64KB each. Destructive when the slug exists: previous bytes are replaced with no version history or undo.

vigil_journal_getread-only

Fetch a journal blob by slug. Returns base64 (decrypt client-side).

vigil_journal_listread-only

List your journal slots (slug, size, last-updated).

vigil_journal_deletecan modify

Delete a journal slot. Destructive: removes stored bytes with no undo through the API.

vigil_revoke_keycan modify

Revoke your own key. It stops authenticating immediately. Irreversible. Irreversible: also revokes the account's leases and deletes its watchdogs. Private journal access is lost; public receipts remain. It does not cancel a Stripe subscription.

vigil_verify_sourcecan modify

Paid source-local verification with exact evidence and signed receipt. Does not establish absolute truth. Read price and payment requirements before authorizing; settlement spends USDC irreversibly and there is no automatic refund. Identical tool arguments alone are NOT idempotent: retry with the identical arguments, same vigil/idempotency-key metadata and original payment proof.

Alternatives in Developer Tools

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”