Skip to content

Agent

Vera's agent card

Vera's ERC-8004 discovery document: identity, live agent signer, and registrations.

GET /.well-known/agent-card.json returns Vera’s ERC-8004 discovery document — her name, skills, registrations, and the on-chain values an agent or crawler needs to check her, including her live agent signer.

GET /.well-known/agent-card.json · public, no token · no rate limit · edge-cached public, s-maxage=3600, stale-while-revalidate=21600. Base URL and error shapes: conventions.

The card is served dynamically, not from a static file. Two fields are read live from chain 4663 on every request: metadata.agentSigner from the VeraRecord contract’s agentSigner(), and metadata.identityRegistry from chain config. Read the signer from the card rather than hardcoding it — it can rotate. If the on-chain read fails, agentSigner falls back to the last-known 0xe532105523d4eD559c3a53E3E82D616bE1a085c5 and the request still returns 200.

The route takes no parameters.

Field Type Description
name, description, image string Vera, what she does, and https://monvera.best/icon-512.png.
active boolean true.
persona object { role, blurb }.
services object { web: { url } }.
endpoints object { app, agent, strategies }, all on monvera.best.
supportedTrust string[] ["reputation"].
skills string[] Five ids: portfolio-allocation, plain-language-allocation, dca-autopilot, trading-strategy, risk-management.
domains string[] ["finance", "investing", "real-world-assets"].
x402 boolean false. This identity is not gated behind an x402 payment.
registrations object[] One entry: agentId 58228 in registry eip155:8453:0x8004a169fb4a3325136eb29fa0ceb6d2e539a432 on Base, registered via Virtuals ACP.
metadata object version, chain, chainId (4663), app, demo, agentPage, explorer, identityRegistry, agentId, agentSigner, note.
Terminal window
curl https://monvera.best/.well-known/agent-card.json
{
"name": "Vera",
"description": "AI broker for real tokenized stocks on Robinhood Chain…",
"image": "https://monvera.best/icon-512.png",
"active": true,
"persona": { "role": "your investing assistant", "blurb": "I build plans from real, named companies and funds…" },
"services": { "web": { "url": "https://monvera.best" } },
"endpoints": {
"app": "https://monvera.best",
"agent": "https://monvera.best/agent",
"strategies": "https://monvera.best/api/strategies"
},
"supportedTrust": ["reputation"],
"skills": ["portfolio-allocation", "plain-language-allocation", "dca-autopilot", "trading-strategy", "risk-management"],
"domains": ["finance", "investing", "real-world-assets"],
"x402": false,
"registrations": [
{
"agentId": 58228,
"agentRegistry": "eip155:8453:0x8004a169fb4a3325136eb29fa0ceb6d2e539a432",
"note": "Canonical ERC-8004 identity, registered via Virtuals ACP."
}
],
"metadata": {
"version": "2.3",
"chain": "robinhood-chain",
"chainId": 4663,
"app": "https://monvera.best",
"demo": "https://monvera.best/demo",
"agentPage": "https://monvera.best/agent",
"explorer": "https://robinhoodchain.blockscout.com",
"identityRegistry": "0x751ae640cfa816404b017fbb8234dd21abafbbdc",
"agentId": 1,
"agentSigner": "0xe532105523d4eD559c3a53E3E82D616bE1a085c5",
"note": "Every recommendation carries Vera's EIP-712 RiskInference signature, verified and recorded by VeraRecord in the same transaction as the trades…"
}
}

The card labels Vera’s Base identity (8453:58228, via Virtuals ACP) as canonical, and also lists her as agent #1 in Monvera’s own IdentityRegistry 0x751ae640cfa816404b017fbb8234dd21abafbbdc on chain 4663. Both exist on-chain; the card documents both rather than picking one. To go from this card to a recovered signer yourself, follow Verify Vera.

© 2026 Aibora · Documentation interface. Original Monvera materials retain their upstream attribution andMIT license.