Card snapshot
api.zenvault.eu
·
2026-08-16 02:45:55 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"
]
}
]
}