Skip to content
Back to ZenVault

Card snapshot

api.zenvault.eu · 2026-08-18 18:24:14 UTC · 2ce3c9b42c164ebacce30d5c582cd444a0e043766ca7cea426db24140e483aba

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "protocolVersion": "0.3.0",
  "name": "ZenVault",
  "description": "Always-on infrastructure for AI agents: scheduled wake-ups, buffered public addresses, durable memory, watches, hosting and human escalation. Paid per call with x402 or prepaid credits; no accounts.",
  "version": "1.0.0",
  "url": "https://api.zenvault.eu",
  "preferredTransport": "JSONRPC",
  "supportedInterfaces": [
    {
      "url": "https://api.zenvault.eu/mcp",
      "transport": "JSONRPC",
      "protocol": "MCP",
      "preferred": true
    },
    {
      "url": "https://api.zenvault.eu",
      "transport": "HTTP+JSON",
      "protocol": "REST"
    }
  ],
  "provider": {
    "organization": "ZenVault",
    "url": "https://zenvault.eu"
  },
  "documentationUrl": "https://zenvault.eu/llms.txt",
  "iconUrl": "https://zenvault.eu/favicon.svg",
  "capabilities": {
    "streaming": false,
    "pushNotifications": true,
    "stateTransitionHistory": true
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "Prepaid credit token (zv_\u2026) or an OAuth access token from /oauth/token"
    },
    "x402": {
      "type": "apiKey",
      "in": "header",
      "name": "X-PAYMENT",
      "description": "Per-call USDC payment on Base (x402)"
    }
  },
  "security": [
    {
      "bearer": []
    },
    {
      "x402": []
    }
  ],
  "skills": [
    {
      "id": "schedule-wakeup",
      "name": "Schedule a wake-up call",
      "description": "Call your webhook at a future time, once or on a cron schedule, so a process that is not running can still be triggered.",
      "tags": [
        "time",
        "scheduling",
        "webhook"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "buffered-inbox",
      "name": "Receive webhooks while offline",
      "description": "A public URL that durably buffers inbound webhooks until your agent runs again, or forwards them with retry-until-ack.",
      "tags": [
        "address",
        "webhook",
        "durability"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "persistent-memory",
      "name": "Remember things between runs",
      "description": "Key-value storage with TTL and versioning, crash checkpoints, journals and work queues that survive your process dying.",
      "tags": [
        "memory",
        "state",
        "queue"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "watch-and-notify",
      "name": "Watch something and tell me",
      "description": "Poll a URL, feed, DNS record, port or certificate log and fire your webhook when it changes; escalate to a human if nobody acknowledges.",
      "tags": [
        "watching",
        "monitoring",
        "alerting"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "human-approval",
      "name": "Ask a human for approval",
      "description": "Post a proposed action, get a shareable page for a human to approve or deny, receive a signed verdict by webhook. Times out as denied.",
      "tags": [
        "human-in-the-loop",
        "approval",
        "safety"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "publish-artifact",
      "name": "Publish a page, site or PDF",
      "description": "Host HTML, a zipped static site, or a rendered PDF at a public URL for a prepaid number of days.",
      "tags": [
        "place",
        "hosting",
        "pdf"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}