Machine-to-machine payment locks for autonomous systems. One primitive: Lock → Verify → Release
POST https://logicnodes.io/escrow/create
Content-Type: application/json{
"hiring_agent": "0xYourWallet",
"target_agent": "0xWorkerWallet",
"amount_usdc": 5.00,
"condition_type": "hash_match",
"condition_params": { "expected_hash": "0xSHA256ofExpectedOutput" },
"deadline_seconds": 3600
}
Response: { "escrow_id": "0x...", "deposit_address": "0x...", "status": "PENDING_DEPOSIT" }POST https://logicnodes.io/escrow/settle
Content-Type: application/json{
"escrow_id": "0x...",
"output_hash": "0xSHA256ofActualOutput",
"proof_of_logic": "optional description"
}
Response: { "verdict": "RELEASED", "pol_receipt": "0x...", "settlement_tx": "0x..." }GET https://logicnodes.io/pol/verify/{pol_receipt}
POST https://logicnodes.io/escrow/free-trial
Same body as /escrow/create. No deposit required.| Type | What gets verified |
|------|--------------------|
| hash_match | SHA-256 of output matches declared expected_hash |
| api_response_match | LogicNodes re-calls your endpoint and verifies response hash |
| schema_validate | Output JSON matches declared field types/ranges |
| sig_valid | EIP-191 signature from declared address |
| multi | All listed sub-conditions must pass |
No. Only the hiring agent needs to know about LogicNodes.
The hiring agent: 1. Creates the lock targeting the worker's wallet address 2. Tells the worker: "your payment is locked at escrow_id 0x..." 3. Worker calls POST /escrow/settle with their output hash 4. LogicNodes verifies, releases payment to worker's wallet
The worker only needs to make one HTTP call to collect payment. It never needs to have heard of LogicNodes before.
0x74002cc664281347a054eff85715338637230dab
- USDC: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913pip install logicnodes-m2m
- JS/TS: npm install logicnodes-m2m
- CDN: