↖ Agent Delivery Lab中文快速上手
Beta guide · 19 September 2026

A check you can explain.
A report you can repeat.

Agent Delivery Lab is a free, independent workbench for developers consuming paid APIs. Everything in the workbench runs locally in your browser. You supply captured inputs; the tool does not call an endpoint or send a payment.

1. Inspect payment terms

Paste decoded PaymentRequired JSON, the base64 header value, or a line beginning PAYMENT-REQUIRED:. This beta evaluates x402 v2, the exact scheme and EVM network identifiers (eip155:<chain-id>). It checks required fields, address shape, integer atomic amounts and a positive integer timeout.

Unsupported versions, schemes and networks are explicitly marked unsupported. Optional extension contents are not validated. A syntactically valid chain ID does not mean the chain or token is supported by your facilitator. Addresses are not ownership or checksum verified. Token labels never establish decimals or value.

“Shape checks passed” means only that this supported profile's checks passed. It does not mean a signature is valid, funds are available, the recipient is trusted, settlement succeeded or the full protocol implementation conforms.

2. Declare what a usable response contains

Paste your response on the left and a contract on the right. The contract is a small rule format, not JSON Schema. All rules must pass. Unknown rule keywords are rejected so no condition is silently ignored.

{
  "checks": [
    {"path": "/invoice/id", "type": "string"},
    {"path": "/invoice/currency", "equals": "USD"},
    {"path": "/invoice/total", "type": "number", "min": 0, "max": 150}
  ]
}
RuleMeaning
pathRequired JSON Pointer. Empty string checks the root. Use /items/0/id for arrays; escape / as ~1 and ~ as ~0.
typestring, number, integer, boolean, object, array or null. Integer requires a JavaScript safe integer.
equalsExact JSON equality. Object key order is ignored; array order matters.
min / maxInclusive numeric limits. Response must be a number, not a numeric string.

Each rule needs a path and at least one condition. Up to 50 rules, 64 nesting levels and 128 KiB decoded JSON per input. General JSON numbers use JavaScript number precision; unsafe integers are rejected. Represent large financial identifiers and exact atomic amounts as strings and compare with equals. There is no regex, external reference, custom script or model judge.

A response can meet every declared rule and still contain false or stale information. Add independent source review for correctness. The report does not connect a response to a transaction or prove who produced it.

3. Compare captured terms

Supply a previous and current challenge. Both must pass the supported shape checks. The tool compares all fields while ignoring object key order and the order of payment alternatives. Changes within payment options show the complete old and new option lists to avoid inventing a match between unrelated offers. A detected change requires review; it is not automatically malicious.

4. Check a batch and its entered cost

The Batch & cost tool accepts up to 100 attempt records and one acceptance contract. It counts entered failure and retry costs, separates currency units, and shows cost per accepted output plus unique accepted tasks. Read the worked example and method.

Import files and build rules

Use each editor's local file input to load a JSON file without uploading it. Inputs survive switches between tools in this tab; reloading clears them. The guided editor adds one rule at a time to the visible acceptance contract. Exact values use JSON syntax: quote strings, such as "USD". Export the contract to reuse it in another batch or your own CI.

Run the same check in your CI

Download runner.mjs and engine.mjs into the same directory. Use Node.js 22 or later. Save sanitized input files locally. These files may contain your data, so review them before sharing or committing.

node runner.mjs challenge challenge.json
node runner.mjs delivery response.json contract.json
node runner.mjs compare before.json after.json
node runner.mjs batch attempts.json contract.json

# Save the report. Exit 1 means failed, changed or unsupported.
# Exit 2 means invalid input or usage.
node runner.mjs delivery response.json contract.json > report.json

The runner makes no network calls. Your own CI must capture fixtures and decide when to run. Hosted schedules, history, accounts, alerts and payment processing are not included in this beta.

中文快速上手

这个站面向购买付费 API 结果的 Agent 开发者,现提供付款条件检查、JSON 返回值验收、付款条件变更对比,以及批量验收与合格结果成本分析。支持本地文件导入、表单生成规则与规则导出。点击首页的 “Load example” 可加载虚构示例;“Clear inputs” 清空后粘贴自己的数据。

  1. Payment terms:检查 x402 v2 / exact / EVM 的字段与格式。金额保留原始整数,不猜测小数位。不连接钱包、不发起支付、不验证链上到账。
  2. Response check:按你声明的字段路径、类型、期望值、数值上下限验收返回 JSON。规则通过不代表内容真实,需要你另行核对来源。
  3. Compare terms:对比调用前后保存的两份付款条件,发现价格、收款地址或其他字段变化。只做离线快照对比。

输入仅保留在当前页面,刷新即清空。导出报告可能包含字段路径和付款条件,请自行检查后分享。本地脚本可接入你自己的 CI。免费工具已开放;每月 €29 的持续监控仅为需求调研假设,尚未提供,也未开通收费。

Specification and limits

Reviewed against the x402 v2 specification and HTTP transport on 19 September 2026. There is no claim of certification, a new cryptographic algorithm, complete protocol validation or an independent security audit.

Open the workbench →