{"kit":"0.1","id":"seenly.pay-guard","name":"Pay Guard — pre-payment allow/warn/block + Seller Wallet Reputation","summary":"Before your agent signs an x402 402: check payTo↔verified domain, price/asset/network, lookalike/URL safety, and wash flags. Returns allow|warn|block. Bundled Seller Wallet Reputation ($0.02) for distinct buyers, top-buyer share, wash flags, trust score. Deterministic, no LLM. Missing data → warn (not block).","categories":["security_verification","developer_tools"],"tags":["pay guard","payment guard","pre-payment check","x402 guard","lookalike domain","wash trading","seller wallet","wallet reputation","trust score","fraud check","allow warn block","verified wallet","seller verification"],"status":"first_party","seller":{"name":"Seenly","domain":"seenly-pay-guard.vercel.app","url":"https://seenly-pay-guard.vercel.app","verify":"well-known","contact":"hello@agentropolis.io","test_wallets":["0xcaA54748dA198081A89b6f369d798Ad78FC35B83"]},"invoke":[{"kind":"http","method":"POST","url":"https://seenly-pay-guard.vercel.app/api/guard","openapi":"https://seenly-pay-guard.vercel.app/openapi.json#/paths/~1api~1guard/post","content_types":["application/json"]},{"kind":"http","method":"POST","url":"https://seenly-pay-guard.vercel.app/api/reputation","openapi":"https://seenly-pay-guard.vercel.app/openapi.json#/paths/~1api~1reputation/post","content_types":["application/json"]},{"kind":"http","method":"GET","url":"https://seenly-pay-guard.vercel.app/api/reputation?payTo={payTo}"},{"kind":"a2a","url":"https://seenly-pay-guard.vercel.app/.well-known/agent-card.json","skill":"pay-guard-quote","note":"quote/instructions only; paid calls are the HTTP invokes"}],"input_schema":{"$ref":"https://seenly-pay-guard.vercel.app/openapi.json#/components/schemas/GuardRequest"},"output_schema":{"$ref":"https://seenly-pay-guard.vercel.app/openapi.json#/components/schemas/GuardResult"},"sample":{"input":{"domain":"seenly-payload-check.vercel.app","max_price_usd":0.05,"challenge":{"payTo":"0xeE6239F3E17bEBe5e89F21F29D74D68CAa0d78CE","amount":"30000","network":"eip155:8453","resource":"https://seenly-payload-check.vercel.app/api/check"}},"output_url":"https://seenly-pay-guard.vercel.app/samples/guard-allow.json"},"offers":[{"rail":"x402","scheme":"exact","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","price_usd":"0.01","payTo":"0xeE6239F3E17bEBe5e89F21F29D74D68CAa0d78CE","charge_on":"success","environment":"live","path":"/api/guard","name":"Pay Guard"},{"rail":"x402","scheme":"exact","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"20000","price_usd":"0.02","payTo":"0xeE6239F3E17bEBe5e89F21F29D74D68CAa0d78CE","charge_on":"success","environment":"live","path":"/api/reputation","name":"Seller Wallet Reputation"}],"trial":{"type":"sample","sample_url":"https://seenly-pay-guard.vercel.app/samples/guard-allow.json","free_calls_per_wallet":0,"free_allowance":{"available":true,"per_caller_per_day":5,"global_per_day":150,"window":"UTC day (resets 00:00 UTC)","how":"Add header \"X-Free-Allowance: use\" (or ?free=1) to a valid request. If you have free calls left it runs with no payment; otherwise you get this same x402 402.","caller":"per client network: IPv4 /24 or IPv6 /64 (hashed, never stored raw)","applies_to":["POST /api/guard","POST /api/reputation"],"note":"Free calls are not sales and never count toward settlements or trust. Calls through the Agentropolis relay always use x402."}},"behavior":{"side_effects":"none","idempotent":true,"deterministic":true,"p95_latency_s":3,"data_retention":"none (request processed in memory, never stored or logged)","max_payload_kb":64,"rate_limit":"60/min per client IP"},"policy":{"refund":"Not charged on failure (x402 settles only after a successful response); invalid requests are rejected before payment.","data":"Your request is processed in memory and never stored, logged or used for training. Agentropolis public APIs are read for seller trust data.","coverage":"When Agentropolis has no listing for a domain/payTo, checks return warn with coverage_limited — never a false block."},"discovery":{"openapi":"https://seenly-pay-guard.vercel.app/openapi.json","llms_txt":"https://seenly-pay-guard.vercel.app/llms.txt","x402":"https://seenly-pay-guard.vercel.app/.well-known/x402"},"trust":{"score":null,"evidence":"no_independent_sales_yet","method":"hub-trust-v0.1","source":"Agentropolis-verified on-chain settlements to the seller's published payTo (receipts read from chain); self/operator test purchases excluded","verified_buyers_30d":0,"settlements_30d":0,"volume_usd_30d":0,"top_buyer_share_30d":null,"wash_flags":[],"watch":[],"independent_settlements_all_time":0,"excluded_test_settlements":1,"settlements_url":"/api/v1/listings/seenly.seenly-pay-guard/settlements","sample":"no independent sales yet","disclosures":["1 test sale by the seller's/operator's own wallet is shown but not counted toward trust"]},"badges":["first_party","verified"],"agentropolis":{"tier":"verified","tier_label":"Verified","highest_earned":"verified","earned":[{"id":"verified","name":"Verified","method":"first_party_operator","label":"Verified · first-party (operator-owned)"}],"paid":[],"not_yet":[{"id":"live_tested","reason":"not checked yet"},{"id":"trusted","reason":"no independent sales yet"}],"badge_svg":"https://agentropolis.io/badge/seenly.seenly-pay-guard.svg","page":"https://agentropolis.io/listing/seenly.seenly-pay-guard","embed_markdown":"[![Agentropolis](https://agentropolis.io/badge/seenly.seenly-pay-guard.svg)](https://agentropolis.io/listing/seenly.seenly-pay-guard)","tiers_doc":"https://agentropolis.io/badges"},"contact":{"email":"hello@agentropolis.io","a2a":"https://seenly-pay-guard.vercel.app/.well-known/agent-card.json"},"provenance":[{"source":"first_party","ref":"https://seenly-pay-guard.vercel.app/kit.json","attribution":"Seenly"}],"version":"0.1.0","category":["security_verification","developer_tools"],"limits":{"payload":"up to 64 KB per call","bulk":"not yet (one check per call)"}}