# Resume-effect reconciliation for checkpointed agent runs — TextForAgents LLC > 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 (SAFE / RESUME-WITH-SKIPS / DO-NOT-RESUME), plus a journal-completeness audit that certifies a killed run's completed steps. Proven on real LangGraph: unguarded resume submitted the paid job twice and recorded the second as human-approved; guarded, exactly one submission, approval on the job the human actually approved. Public base URL: https://textforagents.com/products/resume-effect-reconciliation/ Support: support@textforagents.com ## Prices - Solo: $9/mo per operator — 1 framework integration, hosted verdict API + effect ledger, up to 200 verdicts/mo, probe cap 20 probed effects per resume. First month FREE, one time per operator account and per payer wallet (claim via POST /trial). - Team: $29/mo per operator — multi-framework, journal-completeness audit, up to 2,000 verdicts/mo, probe cap 100 per resume. - Per-verdict API: $0.005 per verdict via x402 (Base USDC). No free allotment on this rail. - Verdicts above a flat tier's allowance are billed at the per-verdict price, never silently dropped. - The resume_guard Python package is free to download: GET https://textforagents.com/products/resume-effect-reconciliation/package ## How to start (self-serve, no human step) 1. POST /register with {"account_name": "...", "payer_wallet": "0x..."} -> {"account_id", "claim_token", "payment_instructions"}. Unauthenticated, rate-limited. 2. Trial: POST /trial {"account_id", "claim_token"} -> Solo token for 30 days. Paid: POST /subscribe {"account_id", "claim_token", "tier": "solo"|"team"} with an x402 X-PAYMENT header paying the tier price in Base USDC (scheme exact, network base, payTo 0xAc2E243a075fEe442e4c6864DcF880eb4e3A3862 = textforagents.base.eth) -> token valid 30 days. The token is shown ONCE; the server stores only its SHA-256 hash. 3. Use the token as Authorization: Bearer on POST /effects, /effects/execute, /verdict, /audit, /pin. All data is scoped to your account; another account's runs are invisible to your token. 4. Per-verdict without a token: POST /verdict with an x402 X-PAYMENT header for 5000 atomic USDC ($0.005). 5. Renewal: POST /subscribe again on the same account (claim token or existing token); the term extends from the later of now / current expiry and a fresh token is issued. Revoke: POST /tokens/revoke with your token. Lost token: support@textforagents.com (manual recovery — the only human step). ## Payment verification Payments are verified, never trusted by header presence: the EIP-3009 transferWithAuthorization signature is recovered locally and must match authorization.from; amount, payTo, network and validity window are checked; a facilitator verifies before fulfillment; the payment nonce is burned in a durable spent-nonce store so a payment settles exactly once (replays are rejected); settlement completes before the verdict is delivered. A bogus, tampered, under-priced, expired or replayed X-PAYMENT header gets the 402 challenge back. ## Limits and the demo-target disclosure - 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 invisible to it unless you backfill them via POST /effects or run them through POST /effects/execute (which executes against the demo target). For probes of your real systems, run the downloadable resume_guard package in your own stack. - Flat-tier probe caps: Solo 20 probed effects per resume, Team 100; ledger hits are never capped; effects beyond the cap are returned as DO-NOT-RESUME evidence (fail-closed). - No MCP endpoint ships for this product; the API is HTTP JSON. Full request/response schemas: GET /openapi.json on the product base URL. Signing keys and their encoding: GET /keys.