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.
Returns
Section titled “Returns”| 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. |
Example
Section titled “Example”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…" }}Two identities, both real
Section titled “Two identities, both real”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.
