Nalvorn

Проверки, которые говорят, что не так, и где

Пришлите манифест, схему, квитанцию или адрес работающего API. В ответ придёт JSON: что сравнивали, что не сошлось и где именно. Оплата за вызов в USDC на Base.

Три проверки бесплатны. Остальные — от 0.005 USDC за вызов. Цену сервер называет до оплаты, в ответе 402, и это вся цена. Аккаунт и ключ не нужны; нужен кошелёк с USDC в сети Base и x402-клиент, чтобы подписать платёж.

ИнструментыЦена за вызов, в USDC в сети Base.

Живой вызов

Все четыре ответа сняты с живого сервера 2026-10-26. Первые два вызова бесплатные и оплаты не требуют; третий — платный инструмент, поэтому до подписи он отвечает 402.

1. Запрос

curl -s -X POST \
  https://tools.nalvorn.top/verify-manifest \
  -H 'Content-Type: application/json' \
  -d '{"manifest":"a1b2c3d4e5f6  ./app.py","files":{"./app.py":"a1b2c3d4e5f6"}}'

2. Бесплатный вызов отвечает сразу: HTTP 200

{
 "ok": true,
 "verdict": "every declared digest matches",
 "declared_files": 1,
 "checked": 1,
 "mismatched": [],
 "missing": [],
 "extra_not_in_manifest": []
}

3. Тот же вызов с одним испорченным хешем: HTTP 200, ok: false

{
 "ok": false,
 "verdict": "digests do not match",
 "declared_files": 1,
 "checked": 1,
 "mismatched": [
  {
   "file": "./app.py",
   "declared": "a1b2c3d4e5f6",
   "actual": "11b2c3d4e5f6"
  }
 ],
 "missing": [],
 "extra_not_in_manifest": []
}

402 — это весь объект, который читает клиент: цена в атомарных единицах, адрес получателя, сеть и расширение bazaar.

4. Платный вызов без оплаты: HTTP 402

{
 "x402Version": 2,
 "error": "PAYMENT-SIGNATURE header is required",
 "resource": {
  "url": "https://tools.nalvorn.top/receipt-verify",
  "description": "Verify a receipt: canonical JSON digest and declared sha256",
  "mimeType": "application/json",
  "serviceName": "Nalvorn verification tools",
  "tags": [
   "verification",
   "audit",
   "evidence"
  ],
  "iconUrl": "https://tools.nalvorn.top/favicon.ico"
 },
 "accepts": [
  {
   "scheme": "exact",
   "network": "eip155:8453",
   "amount": "10000",
   "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
   "payTo": "0x98d6768508A36C04d8a60E5E5B24Ac3d628F5350",
   "maxTimeoutSeconds": 120,
   "extra": {
    "name": "USD Coin",
    "version": "2"
   }
  }
 ]
}

Платный вызов, готовый к запуску:

curl -s -X POST \
  https://tools.nalvorn.top/receipt-verify \
  -H 'Content-Type: application/json' \
  -H "PAYMENT-SIGNATURE: $(your-x402-client-signs)" \
  -d '{"payload":{"a":1},"sha256":"0f343b09"}'

В поле amount сумма в атомарных единицах: 10000 — это 0.01 USDC, у USDC шесть знаков после запятой. У бесплатных инструментов поля amount нет: списывать нечего.

Как проходит вызов

  1. Отправьте JSON на один из путей выше. Заголовок оплаты пока не добавляйте.
  2. Сервер ответит HTTP 402 с ценой, адресом получения и названием актива. За этот ответ платить не нужно.
  3. Подпишите разрешение EIP-3009 через x402-клиент: один curl подписать не может, а прямой перевод USDC на адрес не считается оплатой. Повторите тот же запрос, положив подпись в PAYMENT-SIGNATURE. Результат придёт в JSON.

Оплата

Сеть
Base (eip155:8453)
Актив
USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Адрес получения
0x98d6768508A36C04d8a60E5E5B24Ac3d628F5350
Схема
exact — один вызов, одно списание. Без депозита, без баланса, без месячной платы.

Для агентов

Агенты читают каталог и условия оплаты напрямую:

Каталог
/manifest
Протокол
/.well-known/x402
llms.txt
/llms.txt

Мы в каталогах