Recover a lost 402Signal response
Recover the original routing attempt and inspect its checking-fee outcome without signing again.
Recover the original attempt
This guide covers the 402Signal checking fee and response. Seller-payment reconciliation is a separate read-only workflow.
Use this after a lost routing response or process restart. Keep the original private store, request and payment identity. A timeout does not prove that no payment happened.
import { RouteClient } from '@402signal/route-guard/client';
import { FileAttemptStore } from '@402signal/route-guard/file-store';
const client = new RouteClient({
store: new FileAttemptStore('/private/buyer/route-attempts'),
recoveryProfile: 'http-route-v1'
});
// Recover the same durable attempt; do not prepare a replacement payment.
const outcome = await client.recover(attemptId);This is the recovery step for an already prepared attempt, not a standalone payment tutorial. attemptId comes from your application. See the full client lifecycle.
- Unpaid HTTP 402
- Supplies fee requirements. No paid check has completed.
- Completed normal miss
- A completed normal miss returns HTTP 200 with
live:false,payable:false,selected_payment:nullandbilling.settlement_state=not_attempted. No routing settlement was attempted. - Qualifying observation
- Read offer and billing together. HTTP 200 alone does not authorize seller payment. A later refusal does not reverse an already-settled checking fee.
- Operational or uncertain outcome
- HTTP 503 can mean incomplete evaluation, required evidence failure after settlement, or an unknown settlement result. Inspect
billing.settlement_state. An unread response is not proof of nonpayment. - Recovery unavailable
- Reconcile the original authorization through independent read-only evidence. Keep the reservation until the outcome is established. Do not generate another payment, job ID or store to escape uncertainty.
Do not reuse an unknown authorization or automatically wrap the client in payment-retry middleware. Response recovery does not extend expiry or resume seller execution. The recovery-only profile is HTTP /route, not MCP.
Access credentials identify a workload; they are not customer wallet keys. Protect them, payment headers and private stores. Short-term response retention is not long-term evidence storage.
HTTP recovery contract · First-time integration.
Give this task to your coding agent
Recover an existing 402Signal HTTP attempt. Read https://402signal.com/developers/recover-routing-attempt. Reuse the original private journal and attempt ID. Inspect billing and preserved evidence. Do not sign again, resend a seller payment or create a fresh identity to resolve an unknown result. Keep budget reservations until independent reconciliation establishes the outcome.