FarmTempo Global

Fresh produce is still bought by phone call.
We are building the record layer underneath.

FarmTempo is a produce price and ordering infrastructure in Korea. Buyers — grocery stores, restaurants, school kitchens — check wholesale prices and repeat past orders. Sellers — growers and distributors — collect incoming orders by delivery date and share shipping status. FarmTempo does not take a transaction fee and does not handle payments.

Why this matters

Every deal is agreed one by one — and rarely written down in a reusable form

Small buyers and growers settle price, quantity and delivery date deal by deal. The agreement exists, but it lives in phone calls and notebooks. FarmTempo turns each agreement into a structured record that both sides can see.

01

Price, in one place

Wholesale market auction prices, KAMIS reference prices and egg farm-gate prices on one screen, refreshed daily.

02

The agreement, as a record

Buyers post conditions, sellers propose a unit price, a person confirms the award. Confirmation, statement and receipt documents are generated from that record.

03

Delivery, as a status

Drivers tap depart and arrive from a link without signing up. Buyers confirm receipt. Delays carry a reason.

Status board

What runs today, and what does not yet

We list the gaps next to the working parts. Prediction performance figures are not published on this page.

Live in Korea

  • Produce price board130 items (KAMIS wholesale) · 34 items (Garak market auction) · 5 egg size classes
  • Price outlook for 25 itemsLow-confidence items are excluded from recommendations and marked as such
  • Repeat orders · order collection · delivery statusBuyer and seller screens, in beta
  • Public MCP endpoint, read-only30 tools · no authentication
  • Item & lot API · v1Korean market codes and USDA Market News commodities resolve to one canonical item · no prices returned
    • Every value carries two axes: how it was made — source text, rule, model estimate or person-provided — and how far it is verified — confirmed, provisional, conflict or insufficient evidence.
    • match_evidence states what the rule saw. Exact matches only; an unregistered or ambiguous input comes back matched: false with verification insufficient. The API does not guess.
    • “Confirmed” is human-only, enforced at the database — a confirmer name and timestamp are required, and draft or engine names are rejected.
    • Lot identity is resolved only within one jurisdiction. Across borders, records are linked at the item level and no further.
  • Shipment ↔ receipt reconciliation engine · v1File-based deliverables: links, exceptions, evidence and export files
    • Four outcomes per pair: rule match, provisional, conflict, insufficient evidence. The engine never writes “confirmed” — that word is reserved for a person.
    • Item, lot and transaction are judged as three separate columns, never merged into one score.
    • Split receipts are not treated as errors.
    • Tolerances live in per-item domain packs, not in engine code.
    • Measured so far on synthetic contrast sets only — see “Not yet”.
  • Two patent applications filed in Korea10-2026-0098735 · 10-2026-0151392

Not yet

  • Real customer shipment and receipt records — 0 pairsThe reconciliation engine has been measured on synthetic contrast sets derived from Korean auction lots. Those figures are internal and are not published here.
  • FDA traceability (FSMA 204) event recordsRecord schema drafted; no shipping or receiving events are collected yet
  • Unit conversion APIDesign stage — not live
  • No US prices shownUSDA AMS Market News (New York terminal) data is collected for internal research only — not displayed or redistributed
  • Reviewer-facing queue and dashboard for the reconciliation engineReview is recorded from the command line today, and a person’s review never overwrites the engine’s own outcome
  • PaymentsFarmTempo does not collect or settle transaction payments
  • Tempo Orbit (satellite field observation)A separate service, under validation — observations are marked “before validation” until the hypothesis verdict on January 10, 2027. It does not predict price or yield.

As of September 20, 2026.

US context

Why the record layer travels

Produce records only line up across systems when two things agree: what the item is and what unit it was sold in. A 10 kg box in Seoul and a 50 lb carton in Los Angeles need a shared identity before any price or traceability record can be compared.

We have separated item identity from Korea-specific data sources. Korean auction and survey codes and USDA Market News commodities now resolve to the same canonical item, and each mapping carries both how it was made and how far it is verified — a person’s confirmation and a rule’s output are never recorded as the same thing. Korean and US lots stay separate records — they are linked only at the item level, never lot to lot.

Unit conversion between package types and FDA traceability event records are not built yet.

FDA · FSMA Section 204
July 20, 2028

Compliance date of the FDA Food Traceability Rule, which requires records for foods on the Food Traceability List. Of the items we cover, fresh tomatoes are on the list; onions and potatoes are not. Korean lot records are not presented as evidence of US compliance.

For developers

API

What you can call today, and what is designed but not built. They are marked separately.

MCP · public

● Live

Read-only tools for Korean produce prices, auction markets, seasonal patterns and event signals. Korean-language data, KRW prices.

# tool list
GET https://api.farmtempo.com/mcp/info

# MCP endpoint · no auth · 30 tools
https://api.farmtempo.com/mcp/public

Item & lot API · v1

● Live

Resolves item names and source codes to a canonical item, and checks whether identifiers from different record systems refer to the same item or the same lot. Every value carries two axes — how it was made and how far it is verified — plus the evidence string the rule used. An unregistered or ambiguous input comes back matched: false; the API does not guess. Lot identity stays inside one jurisdiction; across borders the link stops at the item level. No prices, internal lot IDs or confirmer names are returned. Also available as MCP tools.

# https://api.farmtempo.com
GET  /api/v1/items
GET  /api/v1/items/resolve?q=
GET  /api/v1/items/{id}
POST /api/v1/lots/reconcile

Reconciliation engine · v1

● Live · file-based

Matches a supplier’s shipment records against a buyer’s receiving records and returns links, exceptions, evidence and export files. It runs as a deliverable generator, not as an HTTP endpoint; a reviewer-facing queue and dashboard are deliberately not built yet.

# links · exceptions · evidence · exports
make deliver SET=<set>

# per pair · three separate judgments
item_judgment  same | different | unknown
lot_judgment   same | different | unknown
trade_status   rule_matched | provisional
               | conflict | insufficient

Tolerances come from per-item domain packs, not from engine code. Measured on synthetic contrast sets only.

Unit API · v1

○ Design · not live

Planned endpoint for converting between package units (for example a 10 kg box and a 50 lb carton). Calls to this path do not work today.

POST /api/v1/units/convert

Published so partners can comment on the design before it is built.

Talk to us

Investors, partners and developers — send a message and you will get a reference number. We reply by email.