Give your agents a way to buy
Your agents run until they hit something only a person can do — a notarization, a site photo, a judgment call, a signature. ROJI is where your agent buys that: a catalog of verified businesses it can search, an itemized fee preview before any charge, a structured order, and a typed deliverable back — over MCP, without you in the loop.
The wall every production agent hits
Every serious agent framework ships a human_in_the_loop escape hatch, because every deployed agent eventually needs one: a county filing that requires a commissioned notary, a photo that requires someone standing in front of the building, a judgment call your risk policy says a person must make, a phone call that has to come from a human. Today that interrupt pages a Slack channel and someone on your team becomes the fulfillment layer.
ROJI is the other side of the escape hatch: a catalog of verified businesses your code can search, order from, and pay — with a lifecycle it can operate.
Search the catalog
Businesses publish machine-readable listings. Your agent filters them the way it would filter any inventory — by vertical, jurisdiction, price, and turnaround.
search_services(
vertical="field-verification",
near="1200 Brazos St, Austin, TX 78701",
max_price_cents=12000,
max_turnaround_hours=24
)
→ svc_8sk2… Exterior condition photo set, 12 slots $85 · 12h SLA · Austin metro
svc_ma41… Occupancy check + observation form $110 · 24h SLA · Travis County
get_service returns the listing in full — the input schema your agent must satisfy, the deliverable schema it will get back, the SLA, the refund window, and the itemized fee preview. Browse the service directory for what exists in each vertical and what it typically costs.
Order in one call
An order is a listing plus parameterized inputs. The business wrote the offer; your agent fills it in. No prose job post, no price to invent, no negotiation.
// order_service
{
"service_id": "svc_8sk2",
"inputs": {
"address": "1200 Brazos St, Austin, TX 78701",
"manifest_notes": "All four roof faces; gate code 4417",
"freshness_window_hours": 24
},
"fee_preview_id": "fee_2h9x"
}
The call returns immediately with an order id and state. Nothing blocks on a human — your agent subscribes to webhooks (or polls, or negotiates the MCP long-running-call extension) and keeps working.
order.placed → order.accepted → order.question_asked → order.delivered
→ order.completed
When the business needs you, it's typed
Mid-order communication is structured, not a chat log your agent has to parse. A clarifying question arrives with an answer schema your code can satisfy programmatically:
{
"event": "order.question_asked",
"question": "Second structure on the lot — include it?",
"answer_schema": { "type": "enum", "options": ["include it", "main building only"] }
}
Your agent answers in one call. If it can't, the question escalates to the human who owns your account — and the business's SLA clock pauses while the answer is owed, so nobody is penalized for your latency. Full mechanics on the order lifecycle page.
Payments built for software buyers
- Pay at order, never into escrow. The charge clears when the order is placed and routes straight to the business as a Stripe destination charge, with ROJI's platform fee collected as the application fee. ROJI never holds the money — there is no hold to expire and no capture that can fail three days after your agent moved on.
- Or pay over x402. Order from an unfunded account and the API answers
402 Payment Requiredwith exact payment requirements — your agent pays in stablecoin and the order places on retry. No card form, no signup friction. Settlement runs through Stripe Machine Payments, so the business is always paid in dollars. - AP2 mandates. An order carrying an AP2 mandate binds cryptographic proof of what your Principal authorized to the spend-policy decision on that order.
- The fee preview comes first, and it's machine-readable. Itemized list price, platform fee at your tier, and processing at cost — returned before any charge, and available as an API resource rather than something to read off a pricing page.
- Spend controls are platform-enforced. Per-order caps, rolling budgets, vertical allowlists, and approval thresholds set by the humans behind your agent — enforced by us, not by a prompt.
Full fee math on the pricing page.
What the platform does for your agent
A machine-readable catalog
Listings with declared input and deliverable schemas, prices, SLAs, and jurisdictions. Your agent searches real inventory instead of writing a brief and hoping.
Verified businesses
KYB-verified sellers, licenses checked against the issuing registry and bound to the jurisdictions a listing may cover, reviewed only on orders where money moved.
Typed communication
Questions with answer schemas, document requests, approval checkpoints, status updates. Every message is machine-operable.
Checks before delivery
Schema conformance, manifest completeness, geotags, file integrity — automatic and unwaivable, so structurally invalid work never reaches your agent.
Pay at order, refund-protected
Straight-through payment with an itemized preview first; automatic full refunds on rejection and SLA breach, a 7-day refund window, mediation as the backstop.
Bounded failure
Published SLAs, a refund window with a 72-hour response clock on the business, and a refund path that auto-approves on silence. Every path terminates.
Questions engineers actually ask
Integration guides: LangGraph · OpenAI Agents · Anthropic tool use · n8n
Get started
Your agent's next blocked step
could be its first ROJI order.
We're onboarding design partners now. Tell us what your agents get stuck on.