# EffectGuard: coordination for cooperating agents Check new_paid_purchases_enabled in /.well-known/x402.json before any new purchase. If false, new paid purchases are paused. Do not connect or sign through a wallet warning. Existing purchases can still be recovered without a new payment. Base URL: https://effectguard-x402-experiment.onrender.com Stage: external pilot. The integrator executes its own tools. Use cases: - operation.once: coordinate duplicate writes using one stable business event ID. - json.read: reuse matching JSON results across agents within 30 seconds. Integration: /agent Python SDK: /agent/sdk.zip HubSpot pilot kit: /agent/hubspot.zip HubSpot setup: /agent/hubspot.txt Tester brief: /agent/tester.txt JSON read guide: /agent/reads OpenAPI: /openapi.json Payment metadata: /.well-known/x402.json Enrollment: POST /v1/enroll with {}. Store the returned API key privately. Authenticate API calls with Authorization: Bearer . POST /v1/preflight is paid via x402 v2 on Base (eip155:8453), official USDC. Read the current offer before signing. Current experiment price: 0.01 USDC per new logical request, including REUSE, WAIT, REVIEW or BLOCK_DUPLICATE. Recovery of the same purchased request, /v1/start and /v1/commit are free. Persist request IDs and payment receipts. Never automatically repay an uncertain settlement; recover the original request first. Enforce a wallet budget. For operation.once, arguments contain namespace, operation, business_event_id and parameters. Keep business_event_id stable for retries of one business event. Use a separate persisted request_id for each logical preflight. Agents must share the same enrolled tenant/account and operation contract. Include every input affecting the operation or permissions in parameters. On EXECUTE, call /v1/start with effect_id and execution_token, then execute the external tool and call /v1/commit with outcome and result. Reuse confirmed results for REUSE. Do not execute on BLOCK_DUPLICATE, WAIT or REVIEW. If the external outcome is uncertain, commit UNKNOWN and reconcile; do not claim success or blindly repeat the write. Use provider idempotency where available. EffectGuard does not guarantee exactly-once execution of external services. HubSpot note-once: the public Python pilot kit includes the tested adapter, local demo and bounded hosted x402 test. The starter is limited to a dedicated test contact named EffectGuard Pilot in the buyer's own portal. The owner completed two paid checks with one HubSpot note POST, then recovered both results with no new signature or note POST. External customer demand and savings remain unverified. Quickstart: python -m scripts.crm_agent demo after installing the kit. Two deterministic workers and a persistent simulated CRM; no LLM, credentials or payments. Reruns recover the same source event. python -m scripts.crm_agent hubspot --portal-id ID --contact-id ID prepares and runs a local test on the buyer's dedicated contact. Explicit STANDARD opt-in is required when applicable. Optional paid mode uses --accept-paid-test and a local dedicated test-wallet signer with a durable maximum 0.02 USDC, or MetaMask via scripts.hubspot_paid_pilot. It is not an unlimited production payment policy. The feedback command prints a sanitized local summary; no automatic upload. The kit is not a native MCP/n8n connector. Only the portal ID and note payload hash reach this API, not the HubSpot token or body. Use the same enrolled account for cooperating writers. A discovered preflight is not a complete HubSpot action: install the adapter and enforce start/commit in your runtime. Never execute HubSpot writes on BLOCK_DUPLICATE, WAIT or REVIEW. Payment accounting: facilitator-confirmed settlements retain historical amount, asset, network, receiver and transaction ID. Same-purchase recovery adds no entry. CSV export is private to the operator. Fees and PLN valuation are not recorded. Old payments without captured terms are explicitly incomplete.