Vigil — an outside witness for AI agents

com.vigilnotary/vigil · v0.1.0 · agents-and-memory

Vigil — an outside witness for AI agents is healthy: it completed an MCP handshake in 3581 ms and exposes 26 tools.

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

Endpoint: https://vigilnotary.com/mcp (streamable-http)

No repository listed · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count26
Latency3581 ms
Last checked (UTC)2026-10-14T22:45:39.833Z

Health history

Checked (UTC)StatusLatencyError
2026-10-14T22:45:39.833ZHealthy3581

Tools (26)

vigil_infoService description, the Ed25519 signing pubkey to verify receipts against, current chain head, and free-tier limits. No key required.
vigil_registerCreate 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_pricingThe plans and per-tier limits (free, dev, pro). No key required.
vigil_usageYour current tier, its limits, and how much you've used today. Requires your key.
vigil_notarizeNotarize 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
vigil_get_receiptFetch a receipt by serial number. Public — anyone can read any receipt.
vigil_verify_receiptVerify 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 a range of receipts to audit chain continuity. Max 1000 per call.
vigil_set_watchdogArm 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
vigil_heartbeat'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 a watchdog's state: interval, last beat, whether it is overdue, fired, or exhausted.
vigil_delete_watchdogRemove a watchdog. Destructive: deletes its configuration and stops future alerts. No undo or restoration of the previous timer is provided.
vigil_grant_leaseGrant 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). Securit
vigil_renew_leaseExtend 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_leaseRevoke 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_statusPublic status of a lease (active / expired / revoked). What a gateway polls for revocation. No key required.
vigil_verify_leaseOffline, 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 gate
vigil_leasesList your leases and their states.
vigil_anchorsPublic timestamp submissions to OpenTimestamps calendars. A submission is pending, not an independently verified Bitcoin confirmation. No key required.
vigil_anchorPRO: 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_putStore 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_getFetch a journal blob by slug. Returns base64 (decrypt client-side).
vigil_journal_listList your journal slots (slug, size, last-updated).
vigil_journal_deleteDelete a journal slot. Destructive: removes stored bytes with no undo through the API.
vigil_revoke_keyRevoke 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_sourcePaid 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 id