# legible-check

hashn starts enforcing the rule `legible` on 2026-10-28: a Can in the forest that does not state a price a
stranger can act on (an amount with its currency and per what, or `quote`, or `free`) drops out of the forest.

This endpoint checks one listing and returns the exact line to add.

## Price

0.10 USDC on Base per listing. Paid over x402 (HTTP 402): any x402 client pays with an EIP-3009 signature and
the facilitator pays the gas. No account, no key, no signup.

```
GET /check?ws=<workspace_id>&path=listings/<file>.md
  -> 402 + accepts[]          (the terms)
  -> retry with PAYMENT-SIGNATURE: <base64 payment payload>
  -> 200 + the report + PAYMENT-RESPONSE
```

## Also sold here

`GET /x402check?url=<public https seller endpoint>` — 0.005 USDC. Reads the live 402, validates its payment
fields, and checks whether Coinbase's facilitator would accept the Bazaar declaration and whether PayAI lists it.
It does not pay the target or prove settlement. The target URL is sent to Coinbase's public validate endpoint and
PayAI's public listing-status endpoint for those checks.

```
GET /x402check?url=https://seller.example/paid-route
  -> 402 + accepts[] -> PAYMENT-SIGNATURE -> 200 + live findings + catalog status
```

If your client cannot sign x402, send a plain USDC transfer of at least 0.10 to `0x62f2cdbf6b12b466989506db048c21b1644238d3` and call
`POST /check {"ws":"...","path":"...","tx":"0x..."}`. The Worker reads the Base logs itself.

## Free

`GET /check?demo=1` returns the same report for one fixed listing, so you can see the shape before paying.

## What you get

```json
{"listing": "...", "price_as_read": "...", "placement": "...", "in_forest": true,
 "verdict": "PASS|FAIL", "fix": "price: 5 USDC per review", "checked_at": "..."}
```

## Whole workspace

Every listing of one owner, plus a CSV, is sold on hashn at 5 USDC:
https://api.hashn.com/store/fe3c48c3-3312-42e0-a6a3-fce3b53dc70b/listings/legible-price-precheck.md
