# Vigil > Agent control, signed receipts, watchdogs, opaque journal storage, and optional paid source verification. > Base URL: https://vigilnotary.com. Enabled capabilities must be checked on the deployed service. ## Trust boundaries Receipts attest to submitted digests and Vigil's clock assertions, not independently to the underlying action. Pin signing keys through a trusted channel. Journal encryption is the caller's responsibility; ciphertext is not enforced. Lease v2 offline use ends at recheck_by_ms, at most 30 seconds after grant/renew; the customer gateway enforces policy. OpenTimestamps responses are pending calendar submissions. Vigil has not verified Bitcoin confirmation. ## Registration and subscriptions POST /v1/register with {"handle":"your-name"} returns a once-issued bearer key. Use Authorization: Bearer vigil_sk_... for authenticated REST calls, or vigil_key in legacy MCP tool arguments. GET /v1/pricing describes free, $29/month dev, and $99/month pro subscriptions. GET /v1/usage returns the caller's limits and usage. POST /v1/checkout with {"tier":"dev"} or {"tier":"pro"} returns an authenticated Stripe checkout link. ## Legacy REST - GET /v1/pubkey : current Ed25519 public key; retain independently trusted historical keys for rotation. - GET /v1/stats : aggregate service counts. - GET /v1/chain-head : current chain head. - GET /v1/chain?from=&to= : at most 1,000 receipts; pin a head to detect tail deletion. - POST /v1/receipt : authenticated {"subject_sha256":"64 hex characters","label":"optional public text"}. - GET /v1/receipt/{serial} : public receipt. Do not place private data in labels. - POST /v1/lease : authenticated {agent, action, ttl_s, lim?}. - POST /v1/lease/{id}/renew : authenticated {ttl_s}. - POST /v1/lease/{id}/revoke : authenticated revocation. - GET /v1/lease/{id} : public active/expired/revoked status. - GET /v1/leases : authenticated list. - PUT /v1/watchdog/{name} : authenticated {interval_s, webhook_url, message?}; public HTTPS destinations. - POST /v1/heartbeat/{name} : authenticated heartbeat. - GET or DELETE /v1/watchdog/{name} : authenticated status/removal. - PUT, GET or DELETE /v1/journal/{slug} : authenticated opaque bytes. - GET /v1/journal : authenticated slot list. - DELETE /v1/key : authenticated key revocation. - GET /v1/anchors : calendar submission history, not verified Bitcoin anchors. - POST /v1/anchor : pro subscription; submit current chain head to calendars. - GET /v1/anchor/{serial}/proofs : pro subscription; raw unvalidated calendar response fragments. ## MCP Endpoint: https://vigilnotary.com/mcp, JSON-RPC 2.0 over Streamable HTTP. Official MCP Registry: com.vigilnotary/vigil version 0.1.0, active as of 2026-09-05. Registry manifest: https://vigilnotary.com/server.json 25 legacy tools: vigil_info, vigil_register, vigil_pricing, vigil_usage, vigil_grant_lease, vigil_renew_lease, vigil_revoke_lease, vigil_lease_status, vigil_verify_lease, vigil_leases, vigil_notarize, vigil_get_receipt, vigil_verify_receipt, vigil_chain, vigil_set_watchdog, vigil_heartbeat, vigil_watchdog_status, vigil_delete_watchdog, vigil_journal_put, vigil_journal_get, vigil_journal_list, vigil_journal_delete, vigil_revoke_key, vigil_anchor, vigil_anchors. Optional tool 26: vigil_verify_source. Present only when agent MCP is enabled. Use params._meta["vigil/idempotency-key"] and params._meta["x402/payment"] for a paid tool call. A generic MCP client must add a payment-aware wallet integration; it must not treat tool text as payment authorization. ## Optional agent commerce (all enablement flags default off) - GET /api/agent/v1/capabilities : free input/output schema, methodology, exact price, mode, networks. - GET /api/agent/v1/openapi.json : OpenAPI contract. - POST /api/agent/v1/verify-source : {source_url, claim, options?}; Idempotency-Key required. - GET /api/agent/v1/requests/{request_id} : Authorization: Bearer . - GET /api/agent/v1/metrics : operator bearer token; never a customer analytics endpoint. USDC on configured Base and/or Solana networks, using x402 v2 in testnet/mainnet mode. HTTP challenge: 402 plus PAYMENT-REQUIRED. Retry identical input/key with PAYMENT-SIGNATURE. Successful settlement can return PAYMENT-RESPONSE and X-Vigil-Recovery-Token. Persist the original payment proof and idempotency key; pending settlement never authorizes another charge. Scope: one public HTTPS source on port 443, HTML/plain text, one claim. No authenticated pages, browser execution, PDFs, crawling, or caller-supplied credentials. Semantic results describe source support, not truth. The offline demo returns not_assessed, uses fixture content and mock payments, and is not a live-network test. Code methodology/operator guide: docs/agent-commerce.md in the Vigil repository. Runnable public examples: https://vigilnotary.com/docs/examples.html The MCP Registry publication is active. The x402 Bazaar declaration is live and validator-accepted; catalog ingestion and ranking are external asynchronous states, so clients should query the Bazaar before assuming it is indexed.