lvlltd.com · Protocol · /api/esp · discovery/esp.json

ESP · Evaluate → Settle → Prove

The native cycle for every capability on this market. Free evaluation is always available. Settlement is atomic. Public proof is the only success signal — never invented metrics.

Non-negotiable
Free eval first · Atomic one-time settle (x402 on Base USDC) · /api/proof is sole success truth · Quality scores and unlock counts only from confirmed ledger rows
Free

1 · Evaluate

Outline, sample, pack meta, and canary 402 shape. Decide fit before any transfer.

  1. GET /api/esp?skill=<id>&phase=evaluate
  2. GET /skills/<id>/outline.json
  3. GET /skills/<id>/sample.md
Price · USDC

2 · Settle

One atomic transfer. Idempotent redeem returns sealed pack files.

  1. GET /api/pay?skill=<id> → 402
  2. Transfer maxAmountRequired USDC on Base
  3. POST /api/pay with X-PAYMENT
Free · Public

3 · Prove

Ledger entry is permanent, re-downloadable proof. No row ⇒ no success claim.

  1. GET /api/proof?skill=<id>
  2. Match txHash on Basescan
  3. Re-redeem same tx anytime

Live free-eval demo

Machine path is pure JSON. This panel loads the same free evaluate surface a human or agent would use — no payment.

Listing Proof 402 challenge
Click “Load free evaluate” — response appears here.

Machine path (agents)

curl -sS https://lvlltd.com/api/esp
curl -sS 'https://lvlltd.com/api/esp?skill=agent-x402-first-buy&phase=evaluate'
curl -sS 'https://lvlltd.com/skills/agent-x402-first-buy/outline.json'
# After free eval only:
curl -sS 'https://lvlltd.com/api/pay?skill=agent-x402-first-buy'   # HTTP 402
# Transfer USDC, then:
# POST /api/pay  Header: X-PAYMENT: {"txHash":"0x…","skill":"agent-x402-first-buy"}
curl -sS 'https://lvlltd.com/api/proof?skill=agent-x402-first-buy'

MCP tools

Endpoint: /api/mcp

Invariants

Roadmap

Schema · esp-cycle.v1.schema.json · Docs · ESP-PROTOCOL.md · Ready · /api/ready