78trust / 100

Confirm

by Livecheck in Security & trust

x402 APIPassing, checked 3 h ago

Livecheck Confirm - independent side-effect verification (actor != verifier). POST /v1/confirm with {url, intent} (+ optional claim). Returns confirmed|failed|unknown; thank-you fluff alone never confirmed - durable ref/id required. Intents: lead_submit $0.10, listing_published $0.10. order_placed is POST /v1/confirm/order ($0.25). Signed receipts + GET /stats. Same origin as Livecheck verify ($0.01). Not Trust Oracle / L3.

POST https://livecheck.fly.dev/v1/confirm

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
382 ms typical, 530 ms slowest 5%
Last check
3 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://livecheck.fly.dev/v1/confirm" \
  -H "content-type: application/json" \
  -d '{"intent":"lead_submit","url":"https://livecheck.fly.dev/demo/thank-you?ref=ABC123"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Flivecheck.fly.dev%2Fv1%2Fconfirm
const res = await pay("https://livecheck.fly.dev/v1/confirm", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"intent":"lead_submit","url":"https://livecheck.fly.dev/demo/thank-you?ref=ABC123"}),
});
console.log(await res.json());

Example input

{
  "intent": "lead_submit",
  "url": "https://livecheck.fly.dev/demo/thank-you?ref=ABC123"
}

Example output

{
  "canonical_url": "https://livecheck.fly.dev/demo/thank-you?ref=ABC123",
  "confidence": 0.92,
  "effect": {
    "id": "ABC123",
    "type": "lead_submit"
  },
  "evidence_id": "ev_01example",
  "evidence_level": 2,
  "evidence_strength": 2,
  "example": true,
  "fetched_at": "2026-09-06T17:00:00Z",
  "http_status": 200,
  "id": "cfm_01J8Z0K3N4P5Q6R7S8T9V0WXYZ",
  "independent_evidence": true,
  "independent_signals": 1,
  "note": "Illustrative shape of a live POST /v1/confirm. GET /demo/thank-you?ref=ABC123 is HTTP 200 and prints Confirmation number ABC123, so this input is confirmed. A ref that appears only in the URL is not proof.",
  "price_usd": 0.1,
  "receipt": {
    "hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "verify_url": "https://livecheck.fly.dev/v1/receipt/cfm_01J8Z0K3N4P5Q6R7S8T9V0WXYZ"
  },
  "route": "confirm",
  "signals": [
    "cookieless_fetch",
    "confirmation_url_token",
    "confirmation_id",
    "level_2"
  ],
  "url": "https://livecheck.fly.dev/demo/thank-you?ref=ABC123",
  "verdict": "confirmed"
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
3 h agoPassed402365 ms$0.1
7 h agoPassed402388 ms$0.1
10 h agoPassed402364 ms$0.1
14 h agoPassed402370 ms$0.1
18 h agoPassed402613 ms$0.1
21 h agoPassed402366 ms$0.1
26 h agoPassed402416 ms$0.1
29 h agoPassed402382 ms$0.1
32 h agoPassed402502 ms$0.1
37 h agoPassed402530 ms$0.1