{"service":"wever-agent-preflight-v1","category":"Agent preflight","family":"Checks an agent runs before it commits to a payment, a delegation, a counterparty or an operator arrangement","tools":{"wever_payment-policy-check":{"path":"/api/payment-policy-check","receipt_type":"wever.payment-policy-check.v1","schema":{"type":"object","additionalProperties":false,"required":["challenge","policy"],"properties":{"challenge":{"anyOf":[{"type":"object","minProperties":1,"maxProperties":50},{"type":"string","minLength":1,"maxLength":16384,"pattern":"\\S"}],"description":"The x402 payment challenge as received: the 402 response body (x402Version, resource and accepts), one payment requirements object from its accepts list, or the base64 PAYMENT-REQUIRED header value. Version 1 and version 2 challenges are read."},"policy":{"type":"object","additionalProperties":false,"required":["per_call_cap","daily_cap","allowed_networks","allowed_assets"],"properties":{"per_call_cap":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,17})(?:\\.[0-9]{1,18})?$"}],"description":"The largest single payment, in whole units of the asset, for example \"0.50\" for 0.50 USDC."},"daily_cap":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,17})(?:\\.[0-9]{1,18})?$"}],"description":"The most the caller spends in one day, in whole units of the asset, for example \"5.00\"."},"spent_today":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,17})(?:\\.[0-9]{1,18})?$"}],"description":"Optional amount already spent today, in whole units of the asset. Defaults to 0."},"allowed_networks":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"string","minLength":1,"maxLength":100,"pattern":"\\S"},"description":"Networks the caller pays on, as CAIP-2 identifiers such as \"eip155:8453\" or x402 version 1 names such as \"base\"."},"allowed_assets":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"string","minLength":1,"maxLength":100,"pattern":"\\S"},"description":"Assets the caller pays in: token addresses, or \"USDC\" for USDC on Base and Base Sepolia."},"recipient_allowlist":{"type":"array","minItems":1,"maxItems":200,"items":{"type":"string","minLength":1,"maxLength":100,"pattern":"\\S"},"description":"Optional addresses the caller pays. When given, any other recipient fails the recipient rule."},"asset_decimals":{"type":"integer","minimum":0,"maximum":36,"description":"Optional decimals of the asset, used to compare the atomic challenge amount with the caps when the asset is not USDC on Base or Base Sepolia."}}},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the payment, recorded in the report."}}},"reads":"material in the call"},"wever_delegation-check":{"path":"/api/delegation-check","receipt_type":"wever.delegation-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S","description":"The delegation or mandate document as written, up to 64 KB."},"fields":{"type":"object","additionalProperties":false,"required":[],"properties":{"grantee":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"Who receives the authority: a name, agent ID, wallet or other identifier."},"scope":{"anyOf":[{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"The delegated actions as written."},{"type":"array","minItems":1,"maxItems":50,"items":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"},{"type":"object","additionalProperties":false,"required":["action"],"properties":{"action":{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S","description":"The delegated action, for example \"book travel\"."},"cap":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Optional cap on this action, for example \"USD 1,200 per trip\"."},"expiry":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Optional expiry of this action, for example \"2026-12-31\"."},"approval":{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S","description":"Optional approval this action needs."}}}]}}],"description":"The scope of actions: the text, or up to 50 actions as text or {action, cap, expiry, approval}."},"caps":{"anyOf":[{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"Caps that apply across the delegation."},{"type":"array","minItems":1,"maxItems":20,"items":{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"}}],"description":"Caps that apply across the delegation, as text or a list."},"expiry":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When the delegation ends, for example \"2026-12-31\" or \"90 days from 2026-11-01\"."},"revocation":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How and when the grantor can revoke the delegation."},"approvals":{"anyOf":[{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"Approvals the grantee needs before acting."},{"type":"array","minItems":1,"maxItems":20,"items":{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"}}],"description":"Approval requirements, as text or a list."}},"minProperties":1,"description":"The delegation as fields. A field given here takes precedence over the text for that element."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the material, recorded in the report."},"format":{"enum":["text","html"],"description":"html reduces the markup to readable text first. Defaults to html when the text starts with a tag, otherwise text."}},"minProperties":1,"anyOf":[{"required":["text"]},{"required":["fields"]}],"description":"Send the text, the fields or both."},"reads":"material in the call"},"wever_agent-identity-check":{"path":"/api/agent-identity-check","receipt_type":"wever.agent-identity-check.v1","schema":{"type":"object","additionalProperties":false,"required":["record"],"properties":{"record":{"anyOf":[{"type":"object","minProperties":1,"maxProperties":200},{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S"}],"description":"The agent identity record: JSON such as an ERC-8004 registration file or a passport excerpt (agent ID, name, endpoints or services, wallet, operator, registrations), or the same as text."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the record, recorded in the report."}}},"reads":"material in the call"},"wever_continuity-check":{"path":"/api/continuity-check","receipt_type":"wever.continuity-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S","description":"The continuity arrangements as written, up to 64 KB."},"fields":{"type":"object","additionalProperties":false,"required":[],"properties":{"key_custody":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"Who holds the signing keys and credentials, and any backup or recovery for them."},"successor":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"The successor or recovery contact who takes over."},"standing_jobs":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"What happens to standing or scheduled jobs if the operator stops."},"subscriptions":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"What happens to subscriptions and recurring charges."},"escrowed_work":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"What happens to escrowed funds and work in progress."},"records_export":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How and where the records are exported."}},"minProperties":1,"description":"The arrangements by area. A field given here takes precedence over the text for that area."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the material, recorded in the report."},"format":{"enum":["text","html"],"description":"html reduces the markup to readable text first. Defaults to html when the text starts with a tag, otherwise text."}},"minProperties":1,"anyOf":[{"required":["text"]},{"required":["fields"]}],"description":"Send the text, the fields or both."},"reads":"material in the call"},"wever_agent-card-check":{"path":"/api/agent-card-check","receipt_type":"wever.agent-card-check.v1","schema":{"type":"object","additionalProperties":false,"required":["card"],"properties":{"card":{"anyOf":[{"type":"object","minProperties":1,"maxProperties":200},{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S"}],"description":"The A2A agent card as JSON (name, description, url, provider, version, skills, securitySchemes and security or authentication, capabilities), or the same JSON as text."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the card, recorded in the report."}}},"reads":"material in the call"},"wever_mcp-server-check":{"path":"/api/mcp-server-check","receipt_type":"wever.mcp-server-check.v1","schema":{"type":"object","additionalProperties":false,"required":["config"],"properties":{"config":{"anyOf":[{"type":"object","minProperties":1,"maxProperties":200},{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S"}],"description":"The MCP server configuration as pasted into a client config: an mcpServers or servers map, or one entry. A remote entry has url and headers; a local entry has command, args and env. JSON or the same JSON as text."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the configuration, recorded in the report."}}},"reads":"material in the call"},"wever_succession-brief":{"path":"/api/succession-brief","receipt_type":"wever.succession-brief.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S","description":"The succession arrangements as written, up to 64 KB."},"fields":{"type":"object","additionalProperties":false,"required":[],"properties":{"successor":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"Who takes over: a named person, role or contact."},"trigger":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"The event or condition that starts the succession, for example no check-in for 30 days."},"key_transfer":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How the signing keys and wallet keys reach the successor."},"account_transfer":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How the accounts and logins reach the successor."},"timeline":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"When each step happens: a waiting period, deadlines or dates."},"receives":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"What the successor receives: accounts, funds, catalogs, contracts or the business."}},"minProperties":1,"description":"The arrangements as fields. A field given here takes precedence over the text for that element."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the material, recorded in the report."},"format":{"enum":["text","html"],"description":"html reduces the markup to readable text first. Defaults to html when the text starts with a tag, otherwise text."}},"minProperties":1,"anyOf":[{"required":["text"]},{"required":["fields"]}],"description":"Send the text, the fields or both."},"reads":"material in the call"},"wever_handover-check":{"path":"/api/handover-check","receipt_type":"wever.handover-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S","description":"The handover package description as written, up to 64 KB."},"fields":{"type":"object","additionalProperties":false,"required":[],"properties":{"credentials":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How credentials and key custody pass to the receiver."},"runbooks":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"The runbooks and where they are."},"billing":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How billing ownership and payment methods change hands."},"domains":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How domains, DNS and certificates transfer."},"data_export":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How and where the data is exported for the receiver."},"obligations":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"The open obligations: contracts, SLAs, open orders, refunds or escrow, or a statement that there are none."}},"minProperties":1,"description":"The package by area. A field given here takes precedence over the text for that area."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the material, recorded in the report."},"format":{"enum":["text","html"],"description":"html reduces the markup to readable text first. Defaults to html when the text starts with a tag, otherwise text."}},"minProperties":1,"anyOf":[{"required":["text"]},{"required":["fields"]}],"description":"Send the text, the fields or both."},"reads":"material in the call"},"wever_recovery-readiness-check":{"path":"/api/recovery-readiness-check","receipt_type":"wever.recovery-readiness-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S","description":"The recovery arrangements as written, up to 64 KB."},"fields":{"type":"object","additionalProperties":false,"required":[],"properties":{"backups":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"What is backed up, how often, where, and the date of the last backup."},"key_recovery":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How a lost key is recovered."},"export_paths":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How records and catalogs are exported, and where."},"restore_steps":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"The restore steps, or where the runbook is."},"restore_test":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"Evidence the restore was tested: when and how."}},"minProperties":1,"description":"The arrangements by area. A field given here takes precedence over the text for that area."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the material, recorded in the report."},"format":{"enum":["text","html"],"description":"html reduces the markup to readable text first. Defaults to html when the text starts with a tag, otherwise text."}},"minProperties":1,"anyOf":[{"required":["text"]},{"required":["fields"]}],"description":"Send the text, the fields or both."},"reads":"material in the call"},"wever_spending-policy-check":{"path":"/api/spending-policy-check","receipt_type":"wever.spending-policy-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S","description":"The spending policy as written, up to 64 KB."},"fields":{"type":"object","additionalProperties":false,"required":[],"properties":{"per_call_cap":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"}],"description":"The largest single payment the agent may make, as an amount or as written, for example \"0.50 USDC per call\"."},"daily_cap":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"}],"description":"The most the agent may spend in one day, as an amount or as written."},"allowed_assets":{"anyOf":[{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S"},{"type":"array","minItems":1,"maxItems":50,"items":{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"}}],"description":"The assets the agent may pay in, for example [\"USDC\"]."},"allowed_networks":{"anyOf":[{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S"},{"type":"array","minItems":1,"maxItems":50,"items":{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"}}],"description":"The networks the agent may pay on, for example [\"Base\"] or [\"eip155:8453\"]."},"recipient_allowlist":{"anyOf":[{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S"},{"type":"array","minItems":1,"maxItems":50,"items":{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"}}],"description":"The rule for who the agent may pay: an allowlist, addresses or how a recipient gets approved."},"approval_thresholds":{"anyOf":[{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S"},{"type":"array","minItems":1,"maxItems":50,"items":{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"}}],"description":"The amounts above which a payment needs approval, and from whom."},"kill_switch":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How the agent is stopped or its spending revoked, and by whom."},"categories":{"anyOf":[{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S"},{"type":"array","minItems":1,"maxItems":50,"items":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"},{"type":"object","additionalProperties":false,"required":["category"],"properties":{"category":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"What the agent may spend on, for example \"API calls\" or \"travel\"."},"cap":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"}],"description":"Optional cap for this category, as an amount or as written, for example \"200 USD per month\"."}}}]}}],"description":"Spending categories as text or up to 50 entries, each a category with an optional cap."},"currency":{"type":"string","minLength":1,"maxLength":20,"pattern":"\\S","description":"Optional currency or asset for amounts sent as numbers, for example \"USDC\" or \"USD\"."}},"minProperties":1,"description":"The policy by control. A field given here takes precedence over the text for that control."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the material, recorded in the report."},"format":{"enum":["text","html"],"description":"html reduces the markup to readable text first. Defaults to html when the text starts with a tag, otherwise text."}},"minProperties":1,"anyOf":[{"required":["text"]},{"required":["fields"]}],"description":"Send the text, the fields or both."},"reads":"material in the call"},"wever_approval-chain-check":{"path":"/api/approval-chain-check","receipt_type":"wever.approval-chain-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S","description":"The approval and escalation arrangement as written, up to 64 KB."},"fields":{"type":"object","additionalProperties":false,"required":[],"properties":{"approvers":{"anyOf":[{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"Who or what approves spending at which amounts, as written."},{"type":"array","minItems":1,"maxItems":20,"items":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000,"pattern":"\\S"},{"type":"object","additionalProperties":false,"required":["approver"],"properties":{"approver":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Who approves this band: a person, a role or the agent itself. Name each approver for joint approval, for example \"CFO and CEO\"."},"from":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,17})(?:\\.[0-9]{1,18})?$"}],"description":"Optional lowest amount of the band. Defaults to 0."},"up_to":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,17})(?:\\.[0-9]{1,18})?$"}],"description":"Optional highest amount of the band. Leave it out for a band with no ceiling."},"required":{"type":"integer","minimum":1,"maximum":10,"description":"Optional number of approvers who must approve; 2 or more is dual control."}}}]}}],"description":"The approval bands: the arrangement as text, or up to 20 bands, each as text or {approver, from, up_to, required}."},"dual_control":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"When two or more approvers are required, for example \"Two approvers above 10,000 USD\"."},"fallback":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"Who approves or how spending escalates when the usual approver is unavailable."},"expiry":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"When an approval lapses, for example \"Approvals expire after 72 hours\"."},"currency":{"type":"string","minLength":1,"maxLength":20,"pattern":"\\S","description":"Optional currency or asset for amounts sent as numbers, for example \"USDC\" or \"USD\"."}},"minProperties":1,"description":"The arrangement by element. A field given here takes precedence over the text for that element."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the material, recorded in the report."},"format":{"enum":["text","html"],"description":"html reduces the markup to readable text first. Defaults to html when the text starts with a tag, otherwise text."}},"minProperties":1,"anyOf":[{"required":["text"]},{"required":["fields"]}],"description":"Send the text, the fields or both."},"reads":"material in the call"},"wever_service-terms-check":{"path":"/api/service-terms-check","receipt_type":"wever.service-terms-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S","description":"The service terms as written, up to 64 KB."},"fields":{"type":"object","additionalProperties":false,"required":[],"properties":{"price":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"The price and how it is charged, for example \"49 USD per month\" or \"0.002 USDC per request\"."},"price_changes":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How and with what notice the provider can change the price."},"auto_renewal":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"Whether and how the service renews, and how to stop the renewal."},"liability_cap":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"The limitation of liability: the cap and what it excludes."},"indemnity":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"Who indemnifies whom, and for what."},"termination":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How each side can end the service, and with what notice."},"data_use":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"What the provider may do with your data, prompts and outputs."}},"minProperties":1,"description":"The terms by topic. A field given here takes precedence over the text for that topic."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the material, recorded in the report."},"format":{"enum":["text","html"],"description":"html reduces the markup to readable text first. Defaults to html when the text starts with a tag, otherwise text."},"exposure":{"type":"object","additionalProperties":false,"required":["amount","currency"],"properties":{"amount":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,17})(?:\\.[0-9]{1,18})?$"}],"description":"The amount, in whole units, for example \"10000\"."},"currency":{"type":"string","minLength":1,"maxLength":20,"pattern":"\\S","description":"The currency or asset, for example \"USDC\"."},"basis":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Optional basis, for example \"monthly payouts the service sends\"."}},"description":"Optional: the most the service can move or charge for you, so the liability cap can be compared with it."}},"minProperties":1,"anyOf":[{"required":["text"]},{"required":["fields"]}],"description":"Send the text, the fields or both."},"reads":"material in the call"},"wever_incident-plan-check":{"path":"/api/incident-plan-check","receipt_type":"wever.incident-plan-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S","description":"The incident response plan as written, up to 64 KB."},"fields":{"type":"object","additionalProperties":false,"required":[],"properties":{"detection":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How incidents are detected: monitors, alerts, paging or reports."},"severity_levels":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"The severity levels and what each means."},"notification_windows":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"Who is notified within what time."},"roles":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"The named roles and owners: incident commander, on-call, communications."},"customer_communication":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"How and how often customers hear about an incident."},"postmortem":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"The postmortem practice: when it is written, what it covers and who sees it."},"payment_incidents":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S","description":"What happens when an incident involves payments: pausing spending, freezing funds, reversing charges."}},"minProperties":1,"description":"The plan by area. A field given here takes precedence over the text for that area."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the material, recorded in the report."},"format":{"enum":["text","html"],"description":"html reduces the markup to readable text first. Defaults to html when the text starts with a tag, otherwise text."}},"minProperties":1,"anyOf":[{"required":["text"]},{"required":["fields"]}],"description":"Send the text, the fields or both."},"reads":"material in the call"}},"limits":{"text_field":"64 KB","all_supplied_text":"128 KB per call","payment_offers":20,"report":"1 MB","max_request_bytes":851968},"material":"Each check reads only the material in the call. No page is fetched, no registry or chain is looked up, no counterparty is contacted, and no payment is signed, submitted or moved.","scope":{"material":"supplied by the calling agent","network_requests":0,"live_lookups":0,"moves_money":false,"signs_or_submits_payment":false,"contacts_counterparties":false},"basis":{"payment-policy-check":"This report evaluates the supplied challenge against the supplied policy rule by rule. It reads no network, signs nothing and submits no payment.","delegation-check":"This report matches words, figures, dates and named items between the submitted texts; it does not interpret meaning beyond that matching.","agent-identity-check":"This report checks the supplied record against itself: fields, formats and the values they share. It performs no live lookup.","continuity-check":"This report matches words, figures, dates and named items between the submitted texts; it does not interpret meaning beyond that matching.","agent-card-check":"This report checks the supplied agent card against itself: its elements, addresses, skills and authentication schemes. It fetches nothing.","mcp-server-check":"This report evaluates the supplied configuration entry by entry. It never connects to the server and never repeats a secret-looking value.","succession-brief":"This report matches words, figures, dates and named items between the submitted texts; it does not interpret meaning beyond that matching.","handover-check":"This report matches words, figures, dates and named items between the submitted texts; it does not interpret meaning beyond that matching.","recovery-readiness-check":"This report matches words, figures, dates and named items between the submitted texts; it does not interpret meaning beyond that matching.","spending-policy-check":"This report reads the supplied spending policy control by control, matching words, figures and named items, and compares its caps exactly. It moves no money.","approval-chain-check":"This report reads the supplied approval arrangement, matching words, figures and named roles, and lays its amount bands end to end from zero to find what each approver covers.","service-terms-check":"This report reads the supplied service terms from the paying side, matching words, figures, dates and named items, and works out the liability cap from the stated price where the terms tie it to fees paid.","incident-plan-check":"This report matches words, figures, dates and named items between the submitted texts; it does not interpret meaning beyond that matching."},"payment_policy_check":{"reads":"one x402 challenge (the 402 body, one payment requirements object or the base64 PAYMENT-REQUIRED header) and a spending policy","rules":["challenge_well_formed","offer_present","network_allowed","asset_allowed","recipient_allowed","per_call_cap","daily_cap","expiry_stated"],"verdicts":["pay","refuse"],"amounts":"exact: the atomic challenge amount scaled by the asset decimals, compared with caps in whole units","known_assets":{"eip155:8453":{"USDC":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","decimals":6}},"eip155:84532":{"USDC":{"address":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","decimals":6}}},"networks":"CAIP-2 identifiers; x402 version 1 names read through the x402 network map","restated":["amount","asset","network","recipient","max_timeout_seconds","authorization_window_ends"]},"delegation_check":{"elements":["grantee","scope","caps","expiry","revocation","approvals"],"statuses":["present","missing","ambiguous"],"per_scope":["cap","expiry","approval"],"findings":["<element>_missing","<element>_ambiguous","scope_without_cap","term_without_expiry","stated_irrevocable"],"verdicts":["complete","uncapped_or_unending_terms","elements_ambiguous","elements_missing"]},"agent_identity_check":{"elements":["agent_id","name","endpoints","wallet","operator","registrations"],"checks":["agent_id_matches","wallet_matches","wallet_format","endpoints_https","registration_format"],"formats":["erc8004_registration","identity_record"],"verdicts":["complete_and_consistent","elements_missing","inconsistent"]},"rounds":{"1":["wever_payment-policy-check","wever_delegation-check","wever_agent-identity-check","wever_continuity-check"],"2":["wever_agent-card-check","wever_mcp-server-check","wever_succession-brief","wever_handover-check","wever_recovery-readiness-check"],"3":["wever_spending-policy-check","wever_approval-chain-check","wever_service-terms-check","wever_incident-plan-check"]},"round_three":"The caller’s own arrangements before it commits to them: its spending policy, its approval chain, the terms of a service it is about to pay for and its incident plan. A counterparty’s published terms and past incident record are read by the DiligenceOps checks.","continuity_check":{"areas":["key_custody","successor","standing_jobs","subscriptions","escrowed_work","records_export"],"statuses":["covered","partial","not_covered"],"gaps":["no_key_custody","single_point_of_failure","no_successor","successor_not_named","no_plan_for_standing_jobs","standing_jobs_plan_unclear","no_plan_for_subscriptions","subscriptions_plan_unclear","no_plan_for_escrowed_work","escrowed_work_plan_unclear","no_export_path","export_path_unclear"],"verdicts":["covered","gaps_found"]},"agent_card_check":{"reads":"one A2A agent card as JSON","elements":["name","description","url","provider","version","skills","authentication","capabilities"],"checks":["card_url_https","other_urls_https","skills_complete","authentication_schemes_named","capabilities_shape","main_url_in_interfaces"],"results":["passed","failed","not_checkable"],"verdicts":["complete_and_consistent","elements_missing","inconsistent"]},"mcp_server_check":{"reads":"one MCP client configuration: an mcpServers or servers map, a list of entries or one entry","entries":{"remote":["url","headers"],"local":["command","args","env"]},"problems":["no_server_name","url_not_https","url_unreadable","credentials_in_url","secret_in_url","secret_in_config","auth_header_empty","auth_header_placeholder","auth_input_not_defined","auth_value_missing","url_and_command","no_url_or_command","type_does_not_match","duplicate_server_name","entry_not_an_object"],"advisories":["url_private_host","sse_transport","headers_on_local_server","env_on_remote_server","npx_without_yes","package_version_not_pinned"],"secrets":"named by location and kind; values are never repeated","connects_to_server":false,"verdicts":["no_problems","problems_found"]},"succession_brief":{"elements":["successor","trigger","key_transfer","account_transfer","timeline","receives"],"statuses":["stated","partial","missing"],"brief":"the arrangement restated in this order, in its own words","gaps":["no_successor_named","successor_not_named","no_trigger_defined","trigger_unclear","no_transfer_path_for_keys","key_transfer_unclear","no_transfer_path_for_accounts","account_transfer_unclear","no_timeline","timeline_unclear","what_successor_receives_not_stated","what_successor_receives_unclear"],"verdicts":["complete","gaps_found"]},"handover_check":{"areas":["credentials","runbooks","billing","domains","data_export","obligations"],"statuses":["covered","partial","not_covered"],"day_one":"each covered area is a task the receiver can run on day one; each other area is a task it cannot","gaps":["no_credential_transfer","unclear_credential_transfer","no_runbooks","runbooks_without_location","no_billing_owner_change","unclear_billing_owner_change","no_domain_transfer","unclear_domain_transfer","no_data_export","unclear_data_export","open_obligations_not_listed","open_obligations_unclear"],"verdicts":["ready_for_day_one","gaps_found"]},"recovery_readiness_check":{"areas":["backups","key_recovery","export_paths","restore_steps","restore_test"],"statuses":["ready","partial","missing"],"recency":{"backup_days":7,"restore_test_days":180},"weakest_links":"missing areas first, then partial, key recovery first","verdicts":["ready","gaps_found"]},"spending_policy_check":{"controls":["per_call_cap","daily_cap","allowed_assets","allowed_networks","recipient_allowlist","approval_thresholds","kill_switch"],"statuses":["present","missing","ambiguous"],"categories":"up to 50, each checked for a cap","dangerous_shapes":["uncapped_spending","category_without_cap","daily_cap_without_per_call_cap","per_call_cap_without_period_cap","no_spending_cap","per_call_cap_above_daily_cap","any_recipient","any_asset","any_network","no_way_to_stop"],"verdicts":["complete","controls_ambiguous","controls_missing","dangerous_shapes_found"]},"approval_chain_check":{"elements":["approvers","dual_control","fallback","expiry"],"statuses":["present","missing","ambiguous"],"bands":"up to 20, laid end to end from zero","gaps":["no_approver_named","approver_amounts_not_stated","amount_gap","amounts_above_highest_band_uncovered","single_approver_no_ceiling","agent_approves_without_ceiling","no_dual_control","dual_control_threshold_unclear","no_fallback","fallback_unclear","approvals_never_expire","expiry_unclear"],"verdicts":["covered","gaps_found"]},"service_terms_check":{"terms":["price","price_changes","auto_renewal","liability_cap","indemnity","termination","data_use"],"statuses":["stated","unclear","missing"],"restated":"each term in one plain sentence, in this order","exposure":"optional amount the service can move, compared with the liability cap","flags":{"one_sided":["price_change_without_notice","auto_renews_without_cancellation_path","liability_cap_below_exposure","liability_excluded","indemnity_one_way","no_termination_path","provider_terminates_at_will","data_use_broad"],"missing":["price_change_terms_missing","liability_terms_missing","data_use_terms_missing","price_missing","auto_renewal_missing","indemnity_missing","termination_missing"]},"verdicts":["no_flags","terms_missing","one_sided_terms"]},"incident_plan_check":{"areas":["detection","severity_levels","notification_windows","roles","customer_communication","postmortem","payment_incidents"],"statuses":["covered","partial","not_covered"],"gaps":["no_detection","detection_unclear","no_severity_levels","severity_levels_undefined","no_notification_window","notification_window_unclear","no_named_owner","owner_not_named","no_customer_communication","customer_communication_unclear","no_postmortem","postmortem_unclear","no_payment_incident_path","payment_incident_path_unclear"],"verdicts":["covered","gaps_found"]},"pricing":{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pricesAtomic":{"/api/payment-policy-check":"100000","/api/delegation-check":"100000","/api/agent-identity-check":"100000","/api/continuity-check":"100000","/api/agent-card-check":"100000","/api/mcp-server-check":"100000","/api/succession-brief":"100000","/api/handover-check":"100000","/api/recovery-readiness-check":"100000","/api/spending-policy-check":"100000","/api/approval-chain-check":"100000","/api/service-terms-check":"100000","/api/incident-plan-check":"100000"},"x402Version":2,"scheme":"exact","freeTier":{"calls":10,"windowDays":30,"scope":"all_paid_endpoints","walletProofMaxAgeSeconds":300}},"wallet_proof":"Sign the exact JSON arguments and the tool route with X-Wever-Wallet-Proof. Retry an unchanged payment or wallet-proof request to recover its stored report.","signing":{"issuer":"https://weverlabs.com/api/agent-preflight-contract","key_id":"wever-trust-20261001","public_jwk":{"crv":"Ed25519","x":"PG6bYTJfqh-Y7YEMzxNVhMsFkrO1XnX7djPUvNi9g_U","kty":"OKP"},"algorithm":"Ed25519","receipt_types":{"payment-policy-check":"wever.payment-policy-check.v1","delegation-check":"wever.delegation-check.v1","agent-identity-check":"wever.agent-identity-check.v1","continuity-check":"wever.continuity-check.v1","agent-card-check":"wever.agent-card-check.v1","mcp-server-check":"wever.mcp-server-check.v1","succession-brief":"wever.succession-brief.v1","handover-check":"wever.handover-check.v1","recovery-readiness-check":"wever.recovery-readiness-check.v1","spending-policy-check":"wever.spending-policy-check.v1","approval-chain-check":"wever.approval-chain-check.v1","service-terms-check":"wever.service-terms-check.v1","incident-plan-check":"wever.incident-plan-check.v1"},"jwt_type":"wever-agent-preflight+jwt","digest":"SHA-256 of UTF-8 JSON.stringify(report), preserving returned property order. Verify the JWS signature and the report_sha256 and subject_sha256 claims."}}