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.

Video

Hình ảnh dự án 1
Hình ảnh dự án 2
Hình ảnh dự án 3
Hình ảnh dự án 4

Công nghệ sử dụng

Next

Sự miêu tả

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.

Tiến độ hackathon

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.

Trạng thái huy động vốn

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.
Trưởng nhóm
PPugar Huda Mantoro
Liên kết dự án
Triển khai Hệ sinh thái
BaseBase
Ngành
RWAAIInfraDeFi