Call this (unpaid → HTTP 402)
curl -si -X POST https://weft-lac.vercel.app/api/triage-pay \
-H 'Content-Type: application/json' \
-d '{}'
# expect: HTTP/2 402
# PAYMENT-REQUIRED: <base64 PaymentRequired>
# amount 50000 · network eip155:8453 · extra.name "USD Coin"
# payTo 0x20Cd08c2176D1F2F8eF6995b40DeF6A1dd01C13B
Unpaid GET/POST both return 402 with
PAYMENT-REQUIRED. Settlement is receive-side (wallet watch). Demo cards on /triage are recorded fixtures, not a live model claim.Terms agents should parse
amount:50000(0.05 USDC, 6 decimals)network:eip155:8453(Base)asset:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913payTo:0x20Cd08c2176D1F2F8eF6995b40DeF6A1dd01C13Bextra.name:USD Coin
OpenAPI (same host)
https://weft-lac.vercel.app/agent/openapi.yaml