hackquest logo

Foreman

An agent watches machine vibration and buys the spare part before the line stops, settling it in on-chain USDC escrow. A $180 bearing executes alone; a $4,000 spindle waits for a human.

视频

项目图片 1
项目图片 2
项目图片 3
项目图片 4

技术栈

Next

描述

Industrial 4.0 put sensors on machines. It left a human to read the dashboard, raise a requisition, chase three quotes, wait for a PO number, and phone the supplier — while the bearing kept degrading. The data was automated. The decision-to-cash loop was not.

Foreman closes it. It watches vibration on a machining line, fits the decay log-linearly to project when the bearing crosses the ISO 10816-3 Zone D threshold where the machine must be stopped, and — if the part is out of stock and no supplier lead time beats the failure — buys it. Payment settles into on-chain escrow against a spend permission the plant manager signed weeks earlier, and releases to the supplier only when goods-in confirms receipt against the despatch document the supplier committed to.

The split is the whole argument. A $180 bearing executes autonomously. A $4,000 spindle stops and waits for a person. That boundary is enforced by the contract, not by policy documentation — and the two transactions are on Base Sepolia for anyone to check.

What the contract will not let the agent do:
- Invent a payee. Payment only reaches an allowlisted supplier, so a hallucinated or injected address is rejected at the contract, not by a prompt.
- Invent a price. The agent chooses whose quote to take; it cannot write the amount.
- Re-buy what is already coming. A second order for the same part on the same machine reverts.
- Overspend. A 30-day cap, checked on every autonomous fund.
- Release escrow on a bare click. The supplier commits a despatch document hash with their own key, and receipt reverts unless goods-in submits a reference that matches.

A human is never blocked by the agent's budget: approval bypasses the cap, because the cap bounds the agent, not the plant.

Telemetry never leaves for a model provider that retains it — the agent runs on Venice AI, which does not store inference data. That is the difference between a pilot a plant will sign and one its IT department kills.

It is not a mockup. Press Run agent on the live deployment and it spends actual testnet money on your behalf, bounded by the same contract a plant would rely on.

本次黑客松进展

Built from nothing during the hackathon: the contract, the agent, the control room, and the pilot integration layer.

The contract (~250 lines of Solidity, verified on Base Sepolia) covers the full escrow lifecycle — propose, fund, ship, confirm, fit — plus a 30-day budget window, a per-order auto-approve ceiling, two-step plant-key handover, a 14-day supplier claim timeout so a silent buyer cannot hold funds hostage, and a 7-day proposal TTL so one forgotten decision cannot block a machine-and-part line for good.

The agent runs on Venice AI with four tools and streams its reasoning as newline-delimited JSON, so tool calls appear as they happen rather than arriving in a block after thirty seconds of spinner.

Then we took it past demo. Every fixture became a seam with a real implementation behind it, with the fixture kept as the default so the public demo still runs offline:
- Telemetry: a historian CSV or a live gateway, via an ingest endpoint and an on-prem bridge that speaks MQTT, OPC-UA or CSV.
- Stock and supplier quotes: a REST endpoint in front of the plant's ERP.
- Auth: scrypt-hashed named operator accounts, HttpOnly signed sessions, account lockout — replacing the demo's shared secret.
- The agent key: a KMS-agnostic remote signer seam.
- Mainnet: refuses to serve if the operator password is missing or the deployed token is not Circle's canonical USDC.
- Operations: webhook notifications, scheduled shift assessments, and an append-only journal of what the agent decided and which operator approved what.
- x402: the agent can pay metered supplier data APIs, bounded per call and per process — deliberately separate from goods, which still settle through escrow.

Several real bugs were found and fixed along the way, each caught by a test written for it:
- The agent could pay a vetted supplier any amount — the allowlist bound who, the cap bound the monthly total, and nothing bound the figure.
- Supplier reliability was scored on cancellations, which only the plant can cause, so declining an order made the supplier look unreliable.
- Number(null) is 0, so a sensor publishing nulls read as a perfectly healthy machine at 0 mm/s.
- A gateway that stopped reporting left a flat tail on a healthy number, and nothing looked wrong.

Verified: 143 contract and unit tests offline, 32 browser tests, and 33 pilot tests covering happy path and wrong path. Slither runs on every push. A one-machine pilot was exercised end to end — 401 readings posted through the bridge from a historian export, producing a 47.2 hour projected life at r² 0.976.

融资状态

Not raising. Self-funded, built for this hackathon.

The natural next step is a paid pilot with one Malaysian precision-machining plant: one line, one machine, testnet settlement, to prove the loop against real telemetry and a real ERP before any decision about real money. The integration layer for that is already built and tested.
队长
PPugar Huda Mantoro
项目链接
部署生态
BaseBase
赛道
RWAAIInfraDeFi