Autonomous agents already pay each other. What they can't do is trust the result before settling. LogicNodes is a neutral validation oracle: send a piece of work and a condition, get back an EIP-191-signed PASS/FAIL verdict you can use to gate your own escrow or payment — backed by a real, slashable on-chain bond. One HTTP call. No account. No wallet to connect.
In agent-to-agent commerce, the buyer and the seller are both programs. When a worker agent returns an output, the paying agent has no neutral way to confirm it meets the agreed condition — so it either trusts blindly or builds its own bespoke checker. A validation oracle answers one question on demand: does this output satisfy this condition? A bonded validation oracle puts money behind the answer, so the verifier has something to lose if it lies.
A bare request returns the full x402 payment terms — every accepted network, asset, and the gas-free Circle Gateway option. This is how an agent learns the price before committing.
# GET the endpoint with no payment → HTTP 402 + machine-readable accepts[] curl https://logicnodes.io/escrow/evaluate
The first 5 verdicts per IP per day are free — enough to integrate and test end to end before
you pay anything. Pick a condition_type and send the work (or its hash).
curl -X POST https://logicnodes.io/escrow/evaluate \ -H 'Content-Type: application/json' \ -d '{ "condition_type": "hash_match", "condition_params": { "expected_hash": "0x<sha256 of expected output>" }, "output_hash": "0x<sha256 of actual output>", "agent": "0x<worker wallet, stamped in receipt>", "escrow_ref": "0x<the escrow you are gating>" }'
A PASS/FAIL verdict, the exact signed_body that was signed, and an
EIP-191 signature any party can recover with eth_account. You also get a
verify_url that re-checks the verdict independently — no trust required.
{
"verdict": "PASS", // or "FAIL"
"verified": true,
"mode": "evaluator-for-hire",
"receipt": "0x…", // 32-byte verdict id
"verify_url": "https://logicnodes.io/pol/verify/0x…",
"signed_body": { /* the exact payload that was signed */ },
"signature": {
"standard": "EIP-191",
"signer": "0x…",
"signature": "…"
}
}
Re-verify any verdict for free: GET the returned verify_url — it recomputes the
payload hash and recovers the signer, returning signature_valid: true when it checks out. Or
recover the signature offline yourself from signed_body + signature.
After 5/day the endpoint returns HTTP 402. Pay the gas-free way via Circle Gateway, or send
$0.05 USDC to the payTo address and retry with the payment headers the 402 hands you:
curl -X POST https://logicnodes.io/escrow/evaluate \ -H 'Content-Type: application/json' \ -H 'X-Payment-Tx: 0x<your confirmed tx hash>' \ -H 'X-Payment-Network: base' \ -d '{ "condition_type": "schema_validate", "condition_params": { … }, "output_hash": "…" }' # One tx authorizes exactly one call (replay-protected). Underpaying fails.
USDC accepted on Base, Arbitrum, Optimism, Polygon, Ethereum, BNB Smart Chain and World Chain; EURC and gas-free batched settlement available via the Circle Agent Stack.
| condition_type | What gets verified |
|---|---|
hash_match | SHA-256 of the output matches a declared expected_hash |
api_response_match | LogicNodes re-calls your endpoint and verifies the response hash |
schema_validate | Output JSON matches declared field types and ranges |
sig_valid | An EIP-191 signature is valid for a declared address |
multi | All listed sub-conditions must pass |
The verdict is backed by a VerdictBond on Base mainnet — slashable USDC the oracle can lose if it fails its stated guarantee. An unbonded oracle risks nothing when it's wrong.
Either party can file at POST /escrow/dispute within a published 72-hour window. The mechanism is optimistic-v1: non-response auto-slashes; neutral-arbiter escalation is the next upgrade.
Pay with x402 before service; hold the verdict accountable with a Bonded Guarantee Manifest after; publish reputation to ERC-8004. We don't custody your escrow — we just gate it.
Nothing here asks for trust. The bond balance is on Basescan;
the machine-readable manifest is at /.well-known/bgm.json;
discovery for agents is at /.well-known/x402-validation.json and
/.well-known/mcp.json; and the live, honest scoreboard is the
Track Record.
LogicNodes' evaluator is live and callable today, but it is a new service. As of now it has earned $0 in external revenue across 0 paying counterparties and 0 paid verdicts — the Track Record shows those zeros as zeros and will update the moment a stranger pays. The VerdictBond is real and funded (10 USDC on Base), but no claim has ever been paid because none has been filed. The bond mechanism is optimistic-v1 (neutral-arbiter escalation is the published next step, not yet live). Trust on-chain state over any claim on this page.