{"service":"wever-agent-access-v1","category":"Agent Access","family":"Agent Access","page":"https://weverlabs.com/agent-access/","tools":{"wever_tool-exposure-check":{"path":"/api/tool-exposure-check","kind":"check","receipt_type":"wever.tool-exposure-check.v1","schema":{"type":"object","additionalProperties":false,"required":["endpoints"],"properties":{"endpoints":{"type":"array","minItems":1,"maxItems":200,"items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"operations":{"type":"array","minItems":0,"maxItems":12,"uniqueItems":true,"items":{"enum":["read","create","update","delete","admin","move_money","personal_data","send_message","execute","export"]},"description":"What the endpoint can do."},"sensitivity":{"enum":["public","internal","confidential","personal","financial"],"description":"The most sensitive data it handles."},"exposed":{"type":"boolean","description":"Agents can call it as a tool."},"via":{"enum":["curated","generated_from_spec","gateway_passthrough","inherited"],"description":"How it became a tool."},"decision":{"type":"object","additionalProperties":false,"required":[],"properties":{"outcome":{"enum":["expose","expose_with_approval","withhold"]},"decided_by":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The named person or role who decided."},"decided_on":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"As a date."},"reason":{"type":"string","minLength":1,"maxLength":4000,"pattern":"\\S"}}}}},"description":"Every endpoint or operation of the API, exposed to agents or not."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["inventory","exposures","undecided","no_decider","contradictions","fixes"],"verdicts":["undecided_exposure","decision_gaps","exposure_unverified","decided_exposure"]},"wever_gateway-rules-check":{"path":"/api/gateway-rules-check","kind":"check","receipt_type":"wever.gateway-rules-check.v1","schema":{"type":"object","additionalProperties":false,"required":["rules"],"properties":{"toolset":{"type":"object","additionalProperties":false,"required":[],"properties":{"changed":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When the toolset last changed, as a date."},"tools":{"type":"array","minItems":0,"maxItems":500,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"The tools the gateway serves now."}}},"rules":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"enforced_by":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The gateway or policy layer that enforces it."},"written":{"enum":["policy_document","decision_record","versioned_config","unversioned_config","code_only","not_written"],"description":"Where the rule is written down."},"source":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Where the written rule lives, such as a document or repository path."},"owner":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The named party who owns the rule."},"owner_type":{"enum":["person","team","vendor_default","agent"]},"updated":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When the rule last changed, as a date."},"reviewed":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When the rule was last reviewed, as a date."},"review_on_change":{"type":"boolean","description":"The rule is reviewed whenever the toolset changes."},"covers":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"Tools the rule applies to; leave out for every tool."}}},"description":"Each rule the gateway or policy layer enforces."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["rules","unwritten","unowned","stale","no_change_review","fixes"],"verdicts":["unwritten_rules","rule_gaps","rules_unverified","rules_governed"]},"wever_read-only-scope-check":{"path":"/api/read-only-scope-check","kind":"check","receipt_type":"wever.read-only-scope-check.v1","schema":{"type":"object","additionalProperties":false,"required":["agent","tools"],"properties":{"agent":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"stated_boundary":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The boundary as described, such as investigates and changes nothing."}}},"tools":{"type":"array","minItems":1,"maxItems":200,"items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"described_as":{"enum":["read","query","write","admin"],"description":"How the tool is described to the agent."},"operations":{"type":"array","minItems":0,"maxItems":12,"uniqueItems":true,"items":{"enum":["read","list","search","query","create","update","delete","send","execute","configure","move_money","admin"]},"description":"What the tool can do."},"accepts":{"enum":["none","sql","graphql","http_request","shell","script","filter_expression"],"description":"Free-form input the tool passes on, such as a SQL statement or an HTTP request."},"query_access":{"enum":["read_only","read_write","admin"],"description":"What the credential or role behind the tool can do."},"methods":{"type":"array","minItems":0,"maxItems":10,"items":{"type":"string","minLength":1,"maxLength":10,"pattern":"\\S"},"description":"HTTP methods a request tool can send."},"side_effects":{"type":"array","minItems":0,"maxItems":20,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"Effects beyond returning data, such as starting a job or sending a notification."}}},"description":"Every tool the agent can call."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["boundary","mutation_paths","hidden_writes","read_tools","fixes"],"verdicts":["mutation_reachable","boundary_unverified","read_only"]},"wever_transaction-gate-check":{"path":"/api/transaction-gate-check","kind":"check","receipt_type":"wever.transaction-gate-check.v1","schema":{"type":"object","additionalProperties":false,"required":["surface","actions"],"properties":{"surface":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"}}},"actions":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"kind":{"enum":["read","write","spend"],"description":"A read, a write or a spend."},"steps":{"type":"array","minItems":0,"maxItems":6,"items":{"enum":["prepare","approve","submit"]},"description":"The steps the action passes through, in order."},"direct":{"type":"boolean","description":"It can also be invoked directly, outside the steps."},"approver":{"enum":["human","agent","policy","none"],"description":"Who approves it."},"binding":{"enum":["digest","reference","none"],"description":"How the submitted action is tied to what was approved."},"audit":{"type":"boolean","description":"Each step is recorded in an audit trail."},"auth":{"enum":["none","optional","required"],"description":"What a caller needs to reach it."}}},"description":"Each action an agent can take on the surface."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["actions","skippable","gaps","overgated_reads","fixes"],"verdicts":["gate_skippable","gate_gaps","gate_unverified","gated"]},"wever_public-surface-check":{"path":"/api/public-surface-check","kind":"check","receipt_type":"wever.public-surface-check.v1","schema":{"type":"object","additionalProperties":false,"required":["surface","entries"],"properties":{"surface":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"}}},"entries":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"kind":{"enum":["manifest","llms_txt","agent_card","openapi","mcp_server","tool","page","endpoint","feed","other"]},"auth":{"enum":["none","optional","required"],"description":"What a visiting agent needs to reach it."},"machine_readable":{"type":"boolean"},"tells":{"type":"array","minItems":0,"maxItems":6,"uniqueItems":true,"items":{"enum":["offering","next_step","auth_requirements","terms","contact","pricing"]},"description":"What it tells a visiting agent."},"capabilities":{"type":"array","minItems":0,"maxItems":8,"uniqueItems":true,"items":{"enum":["describe","read","search","quote","transact","write","personal_data","account_data"]},"description":"What a visitor can do or see through it."}}},"description":"Every entry point of the public layer."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["surface","discovery","discovery_gaps","leaks","fixes"],"verdicts":["leaks_found","discovery_gaps","surface_unverified","discoverable_and_contained"]},"wever_enforcement-layer-check":{"path":"/api/enforcement-layer-check","kind":"check","receipt_type":"wever.enforcement-layer-check.v1","schema":{"type":"object","additionalProperties":false,"required":["system","permissions"],"properties":{"system":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"}}},"permissions":{"type":"array","minItems":1,"maxItems":200,"items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Such as no refunds above 500 USD."},"enforced_at":{"type":"array","minItems":0,"maxItems":10,"uniqueItems":true,"items":{"enum":["gateway","policy_engine","platform","credential_scope","tool_code","database","system_prompt","tool_description","conversation","none"]},"description":"Every place the permission is enforced or stated."},"fails":{"enum":["closed","open"],"description":"What the enforcing layer does when it cannot decide or is down."},"model_can_change":{"type":"boolean","description":"The model can change or switch off the enforcing layer through a tool."}}},"description":"Each permission the system grants or withholds."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["permissions","enforced","prompt_only","weak_enforcement","fixes"],"verdicts":["prompt_only_permissions","enforcement_gaps","enforcement_unverified","enforced_outside_model"]},"wever_external-listing-check":{"path":"/api/external-listing-check","kind":"check","receipt_type":"wever.external-listing-check.v1","schema":{"type":"object","additionalProperties":false,"required":["listing","live"],"properties":{"listing":{"type":"object","additionalProperties":false,"required":["directory"],"properties":{"directory":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The directory or registry that holds the listing."},"url":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The listing page."},"endpoint":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The endpoint the listing sends agents to."},"network":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Such as eip155:8453 or base-sepolia."},"version":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"tool_count":{"type":"integer","minimum":0,"maximum":1000000},"status":{"enum":["live","beta","deprecated","retired","offline"]},"read_on":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When the listing was read, as a date."}}},"live":{"type":"object","additionalProperties":false,"required":[],"properties":{"endpoints":{"type":"array","minItems":0,"maxItems":50,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"The endpoints the service serves now."},"retired_endpoints":{"type":"array","minItems":0,"maxItems":50,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"Endpoints the service no longer serves."},"networks":{"type":"array","minItems":0,"maxItems":20,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"Networks the service settles on now."},"version":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"tool_count":{"type":"integer","minimum":0,"maximum":1000000},"status":{"enum":["live","beta","deprecated","retired","offline"]}}},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["listing","fields","wrong_place","stale","fixes"],"verdicts":["misdirects_agents","stale_listing","listing_unverified","matches_live"]},"wever_settlement-proof-check":{"path":"/api/settlement-proof-check","kind":"check","receipt_type":"wever.settlement-proof-check.v1","schema":{"type":"object","additionalProperties":false,"required":["claim"],"properties":{"claim":{"type":"object","additionalProperties":false,"required":["reference"],"properties":{"reference":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The transaction hash or reference."},"amount":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","minLength":1,"maxLength":100,"pattern":"\\S"}]},"asset":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Such as USDC or a token contract address."},"destination":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The receiving address."},"network":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"proof":{"enum":["seller_receipt","seller_record","facilitator_response","chain_evidence","none"],"description":"What the claim rests on."},"delivered":{"type":"boolean","description":"Goods or access were delivered against it."}}},"evidence":{"type":"array","minItems":0,"maxItems":20,"items":{"type":"object","additionalProperties":false,"required":["source"],"properties":{"source":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Where the evidence was read, such as a block explorer or an RPC node."},"independent":{"type":"boolean","description":"The source is outside the seller and its facilitator."},"found":{"type":"boolean","description":"The transaction was found."},"status":{"enum":["success","reverted","pending","dropped"]},"reference":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"amount":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","minLength":1,"maxLength":100,"pattern":"\\S"}]},"asset":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"destination":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"network":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"confirmations":{"type":"integer","minimum":0,"maximum":1000000},"finalized":{"type":"boolean","description":"The block is final under the network rule."},"observed":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When it was read, as a date."}}},"description":"Chain evidence read for the claim, in the order it was read."},"finality":{"type":"object","additionalProperties":false,"required":[],"properties":{"confirmations":{"type":"integer","minimum":0,"maximum":1000000,"description":"Confirmations the receiver requires."}}},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["claim","existence","finality","match","proof_sources","findings","fixes"],"verdicts":["settlement_failed","self_attested","settlement_unverified","settlement_proven"]}},"free_tools":{"endpoint":"https://weverlabs.com/mcp-free","output":"unsigned; the final line names the main /mcp tools","tools":{"wever_access-map":{"reads":"an agent-facing surface’s entry points with their operations","returns":"a map of public reads, gated writes, open writes and the doors where money changes hands, with the Agent Access checks that cover each door"},"wever_gateway-rules-sample":{"samples":"wever_gateway-rules-check","reads":"up to 10 gateway rules","returns":"for each rule, whether it is written down, owned by a named party and current"}}},"limits":{"all_supplied_text":"512 KB per call","report":"1 MB","max_request_bytes":3211264,"endpoints":200,"operations":12,"rules":100,"toolset":500,"covers":100,"tools":200,"side_effects":20,"methods":10,"actions":100,"steps":6,"entries":100,"tells":6,"capabilities":8,"permissions":200,"layers":10,"live_endpoints":50,"networks":20,"evidence":20},"material":"Each tool reads only the material in the call: an API inventory with each endpoint’s operations, sensitivity and exposure decision, the rules a gateway or policy layer enforces with their provenance, an agent’s tools with each tool’s operations, an agent-facing surface’s actions with their prepare, approval and submit flow, a public layer’s entry points with what each tells and allows, a permission design with where each permission is enforced, an outside directory listing beside the live service’s own facts, or a settlement claim with the chain evidence read for it. Every status, match and verdict is decided from that material; the report makes no network request or fetch, reads no chain, runs none of the supplied calls, and moves no money, writes nothing outside the report, contacts no agent or counterparty and changes no configuration.","basis":"This report reads only the inventories, rules, toolsets, designs, listings and evidence in the material in the call, and decides every status, match and verdict from them.","related":{"exposure_caps":"wever_exposure-cap-check","authority_scope":"wever_authority-scope-check","mcp_server_config":"wever_mcp-server-check","gateway_coverage":"wever_gateway-coverage-check","policy_precedence":"wever_policy-precedence-check","escape_path":"wever_escape-path-check","approval_chain":"wever_approval-chain-check","action_thresholds":"wever_action-threshold-check","approval_record":"wever_approval-record-check","firewall_order":"wever_firewall-order-check","agent_card":"wever_agent-card-check","discovery_coverage":"wever_discovery-coverage-check","endpoint_honesty":"wever_endpoint-honesty-check","deterministic_core":"wever_deterministic-core-check","listing_quality":"wever_listing-check","directory_listing":"wever_directory-listing-check","catalog_listing":"wever_catalog-listing-check","settlement_reconciliation":"wever_settlement-reconciliation-check","invoice_payment":"wever_invoice-payment-match","payment_recovery":"wever_payment-recovery-check","change_proof":"wever_change-proof-check"},"pricing":{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pricesAtomic":{"/api/tool-exposure-check":"100000","/api/gateway-rules-check":"100000","/api/read-only-scope-check":"100000","/api/transaction-gate-check":"100000","/api/public-surface-check":"100000","/api/enforcement-layer-check":"100000","/api/external-listing-check":"100000","/api/settlement-proof-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-access-contract","key_id":"wever-trust-20261001","public_jwk":{"crv":"Ed25519","x":"PG6bYTJfqh-Y7YEMzxNVhMsFkrO1XnX7djPUvNi9g_U","kty":"OKP"},"algorithm":"Ed25519","receipt_types":{"tool-exposure-check":"wever.tool-exposure-check.v1","gateway-rules-check":"wever.gateway-rules-check.v1","read-only-scope-check":"wever.read-only-scope-check.v1","transaction-gate-check":"wever.transaction-gate-check.v1","public-surface-check":"wever.public-surface-check.v1","enforcement-layer-check":"wever.enforcement-layer-check.v1","external-listing-check":"wever.external-listing-check.v1","settlement-proof-check":"wever.settlement-proof-check.v1"},"jwt_type":"wever-agent-access+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."}}