{"service": "resume-effect-reconciliation", "provider": "TextForAgents LLC", "version": "1.0.0", "description": "Before a checkpointed agent run resumes, reconcile which of its external effects already landed: a checkpoint-keyed effect ledger, a read-only probe of the target system when the ledger is silent, and an Ed25519-signed verdict \u2014 SAFE / RESUME-WITH-SKIPS / DO-NOT-RESUME \u2014 plus a journal-completeness audit for killed runs.", "features": ["Signed three-state resume verdicts (Ed25519; verify offline against GET /keys)", "Checkpoint-keyed effect ledger: INTENT durable before execution, LANDED before the node continues", "Guarded execution: a resumed node gets the recorded result injected instead of re-running the paid effect", "Read-only target probe by idempotency key when the ledger is silent or INTENT-only (probe backfills the ledger)", "Journal-completeness audit that certifies a killed run's completed steps", "Discovery-pin drift fails closed to DO-NOT-RESUME"], "limits": ["Solo: 1 framework integration, up to 200 verdicts/mo, probe cap 20 probed effects per resume. Team: multi-framework, up to 2,000 verdicts/mo, probe cap 100 per resume. Ledger hits are never probe-capped. Verdicts above a tier allowance are billed at the per-verdict price ($0.005) rather than refused.", "Hosted probe disclosure (M2): the hosted service's probe checks a built-in demo target store shared by all effect kinds. Effects that landed in YOUR real systems are visible to it only if you backfill them via POST /effects or run them through POST /effects/execute (which executes against the demo target). For probes of real systems, run the resume_guard package (GET /package) in your own stack.", "No MCP endpoint ships for this product; the API is plain HTTP JSON described by GET /openapi.json."], "pricing": {"solo": {"price": "$9/mo per operator", "atomic_usdc": 9000000, "includes": "1 framework integration; wrapper SDK + hosted verdict API + effect ledger; up to 200 verdicts/mo; probe cap 20/resume", "trial": "First month free, one time per operator account (and per payer wallet): register, then POST /trial with your claim token."}, "team": {"price": "$29/mo per operator", "atomic_usdc": 29000000, "includes": "Multi-framework; everything in Solo plus the journal-completeness audit; up to 2,000 verdicts/mo; probe cap 100/resume"}, "per_verdict": {"price": "$0.005 per verdict (x402)", "atomic_usdc": 5000, "includes": "One reconciliation on demand \u2014 ledger check + target probe + signed verdict. No free allotment on this rail."}, "package": "The resume_guard Python package is free distribution: GET /package"}, "how_to_start": ["1. POST /register {account_name, payer_wallet} -> {account_id, claim_token, payment_instructions}.", "2a. Trial: POST /trial {account_id, claim_token} -> your Solo token (30 days, trial). OR 2b. Paid: POST /subscribe {account_id, claim_token, tier} with an x402 X-PAYMENT header (Base USDC, exact scheme) for the tier price -> your token, valid 30 days. The token is shown ONCE; only its SHA-256 hash is stored.", "3. Call the API with Authorization: Bearer <token>: POST /effects, /effects/execute, /verdict, /audit, /pin. Your data is scoped to your account.", "4. Or skip the token for single verdicts: POST /verdict with an x402 X-PAYMENT header for $0.005 (Base USDC).", "Renewal: POST /subscribe again (same account, claim token or your existing token) \u2014 the term extends from the later of now / current expiry, and a fresh token is issued.", "Lost token: email support@textforagents.com \u2014 manual recovery is the only human step in the flow."], "auth": {"scheme": "Bearer", "header": "Authorization: Bearer <token>", "required_for": ["POST /effects", "POST /effects/execute", "POST /audit", "POST /pin", "POST /verdict (unless paying per-verdict via x402)"], "public_no_auth": ["GET /", "GET /health", "GET /keys", "GET /.well-known/x402", "GET /openapi.json", "GET /llms.txt", "GET /docs", "GET /package", "POST /register", "POST /trial", "POST /subscribe (x402 payment instead)"], "how_to_get_a_token": "POST /register, then POST /trial (free first month) or POST /subscribe (x402 payment)."}, "payment": {"rail": "x402 v1, scheme 'exact', network 'base', asset = Base USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0xAc2E243a075fEe442e4c6864DcF880eb4e3A3862", "payTo_ens": "textforagents.base.eth", "verification": "Payments are VERIFIED, never trusted: the EIP-3009 signature is recovered locally, the facilitator verifies before fulfillment, the payment nonce is burned in a durable spent-nonce store (replays rejected), and settlement completes before delivery.", "terms": "/products/resume-effect-reconciliation/.well-known/x402"}, "support": "support@textforagents.com", "key_id": "ed25519-5501e940f9f0e6fa", "health": "/health", "docs": {"openapi": "/openapi.json", "llms_txt": "/llms.txt", "package_download": "/package"}, "routes": ["POST /register", "POST /trial", "POST /subscribe", "POST /tokens/revoke", "POST /effects", "POST /effects/execute", "POST /verdict", "POST /audit", "POST /pin", "GET /keys", "GET /.well-known/x402", "GET /health", "GET /openapi.json", "GET /llms.txt", "GET /package", "GET /"]}