One platform for industrial operations.
Oway connects every system, machine and partner in an operation through one open schema. Juno reasons over it and acts. Oway OS is where your teams run the work.
Three layers on top of the operation you already run.
- Optimization
- Shipping
- Tracking
- Partner Network
- Pricing
- Scheduling
- Routing
- Dispatch
- Agents and MCP
- Connect
- Live World Model
- IOI Search
- Network
- ERP
- MES
- WMS
- TMS
- SCADA
- PLCs
- Sensors
- Robots
- Fleets
- Suppliers







Connect everything once.
IOI is the common protocol for the physical economy. A default setup takes days: it starts as a monitoring surface for your freight quotes and optimizes your operations from a secured data lake. ERP, EDI, mainframes, PDFs and spreadsheets, telemetry, self-driving trucks, automated factories and robots can be added at any time. Contact our sales team for pricing on IOI and IOI Search.
Legacy and autonomous
ERP, EDI over a VAN, AS400s, flat files, documents and spreadsheets, plus telemetry, self-driving trucks, factories and robots.
Clean and queryable
Each node keeps your industrial data cleaned onto an open-source schema and current as the operation moves.
Read and act
Read, write, produce, quote, book, track, tender and more, across companies and machines.
AI that decides and acts.
Juno is Oway’s industrial AI. It prices, schedules, routes and dispatches work across the operation, within the permissions you set. Free for everyone.
Price work in seconds
Capacity, movement and services priced from live conditions.
Plan and reroute
Vehicles, machines and crews scheduled and rerouted as conditions change.
Any agent, safely
AI agents act on a node through MCP with scoped permissions and approvals.
Where operations run.
Oway OS gives operators one system to optimize performance, move goods, track every load and work with partners. Free for everyone.
Revenue, throughput and assets
Find the margin, capacity and time hiding in your operation.
Move goods on capacity in motion
LTL and partials, 1 to 18 pallets, up to 50% below market.
Every load and partner in one view
Carriers, fleets and suppliers working from the same system.
Build on the platform.
Query a node, keep every system in sync, and give your AI agents permissioned access to your operation.
Sample data and simulated events. Juno and API show the same Fresno-to-Reno quote; IOI Schema illustrates a separate production flow. Dates use UTC and update when the page opens. Absolute dates are omitted from the sample API response without JavaScript.
You, in the Oway app
6 pallets of bottled beverages from Fresno 93725 to Reno 89501, about 4,800 lbs. Liftgate at delivery, pickup in two days at 09:00 UTC.Juno
// Juno read the request and priced it{ "pickup": "Fresno, CA 93725", "dropoff": "Reno, NV 89501", "pallets": 6, "weight_lbs": 4800, "commodity": "bottled beverages", "accessorials": ["liftgate_delivery"], "pickup_date": "in two days at 09:00 UTC", "price": 812.40, "status": "ready to book"} JunoFresno to Reno, 6 pallets of bottled beverages, 4,800 lbs with liftgate at delivery. $812.40, pickup in two days at 09:00 UTC on a truck already headed north. Want me to book it?
Request a quote
# POST /v1/shipper/quote (or: npm install @oway/sdk)curl -X POST https://api.oway.io/v1/shipper/quote \ -H "Authorization: Bearer $OWAY_TOKEN" \ -H "x-oway-api-key: $OWAY_API_KEY" \ -d '{ "pickupAddress": { "zipCode": "93725" }, "deliveryAddress": { "zipCode": "89501", "liftgateRequired": true }, "orderComponents": [{ "palletCount": 6, "poundsWeight": 4800, "dimensions": { "length": 48, "width": 40, "height": 50 } }] }'
Response
{ "id": "6705f1c2a9e4b3d218c4e7a1", "quotedPriceInCents": 81240, "transitDays": 1} // Book it: POST /v1/shipper/shipment with the quoteId,// then confirm and track the order number.
Request
# Ask a supplier plant to produce, then move itPOST /v1/ioi/producex-ioi-node: acme-fabrication { "to": "harbor-steel-works", "item": "mild steel coil", "quantity": 8, "need_by": "in three days at 09:00 UTC"}
Events
sample created time (UTC) PRODUCE Harbor Steel accepted, ready in two days at 08:30 UTCsample quoted time (UTC) CAPACITY 3 trucks with open space on the lanesample quoted time (UTC) QUOTE $812.40 on TX-4471, already rollingsample booked time (UTC) BOOK Pickup in two days at 09:00 UTC, arrives in three days at 09:00 UTCsample booked time (UTC) TRACK Live, no phone calls
Request
# Ask a node a questionPOST /v1/ioi/searchx-ioi-node: acme-distribution { "query": "Which suppliers are missing their dock windows?", "scope": ["suppliers", "facilities"]}
Response
{ "answer": "Harbor Steel Works made 50% of its windows into Oakland.", "metrics": [ { "supplier": "Harbor Steel Works", "on_window": 0.50 }, { "supplier": "Cedar Ave Glass", "on_window": 0.68 } ], "sources": ["wms.dock_appointments", "tms.inbound_loads"]}
Subscribe
# Keep every system in syncPOST /v1/ioi/subscriptions { "event": "order.updated", "forward_to": ["tms", "carrier", "dock_schedule"]}
Events
sample created time (UTC) erp Order SO-88412 changed from 12 to 14 palletssample created time (UTC) ioi Context updated for shipment OWY-7249sample quoted time (UTC) carrier TX-4471 confirmed space for 14 palletssample quoted time (UTC) wms Dock door 6 moved to 15:30sample booked time (UTC) ioi All systems in sync
Connect
# Give an AI agent access to a node{ "mcpServers": { "ioi": { "node": "acme-distribution", "permissions": ["read", "propose"] } }}
Agent
User · Acme Inc. Rebalance brake stock from Phoenix to Coppell. Agent ioi.search("brake stock by facility")Agent ioi.propose_transfer("PHX", "DFW", 6)Node Awaiting approval from Acme Operations

Put your operation on Oway.
Connect your systems once and everything else follows.


