Under the hood

One agent layer, two marketplaces

Both products sit on the same orchestration stack: channel adapters, a stateful agent that holds the deal in memory, a verification service, and an escrow-and-settlement rail. Only the playbooks differ.

Request path

Channel adapters

WhatsApp Business, inbound and outbound voice, SMS fallback and the web console all normalise into one message envelope with identity attached.

Stateful agent

Deal memory survives across channels and days: what was offered, what was promised, which limits are in force, what is still missing.

Tool & verification layer

Document parsing, issuer and authenticator APIs, grading lookups, duplicate detection, expert routing and availability.

Money rail

UPI collect and mandates, escrow holds, metered billing, marketplace fee capture and instant payouts.

Walkthrough 01

A ticket trade, message by message

Seller threadWhatsApp
2 Coldplay tickets Ahmedabad, lounge 2. [PDF]
Both barcodes are unique and the ticketing partner confirms they are transferable. Seats L2-F14 and F15. What is the lowest you would accept for the pair?
28k minimum. Try for 34.
Locked as TKT-4821, held in escrow so it cannot be sold twice. I will work between ₹28,000 and ₹34,500 and will not reveal either figure.
escrow.hold(asset) → state: LISTED
Agreed at ₹31,200. Payment is cleared and held. Say "release" and I will send the transfer link.
release
Done. ₹29,952 credited to your UPI, ₹1,248 marketplace fee. Statement in the thread.
Buyer threadVoice → WhatsApp
Looking for two Coldplay tickets in Ahmedabad, decent view, under 32.
I have a verified lounge 2 pair, row F, together. Asking ₹34,500. Your ceiling is noted at ₹32,000 and stays private — want me to push back?
Offer 29.
Seller countered ₹33,000. I came back at ₹31,200 and they took it — ₹800 under your ceiling. Confirm and I will raise the payment request.
upi.collect(₹31,200) → escrow: FUNDED
Payment received and held. Transfer link is here — open it within 24 hours. The seller is paid only after you confirm the transfer landed. 🎟️

What the agent would not do

It never told the buyer the floor was ₹28,000, never told the seller the ceiling was ₹32,000, never accepted below floor or above ceiling, and never moved money between the two directly. If the seller had gone silent after funding, the hold would have expired and auto-refunded.

Walkthrough 02

An escalation to a human expert

Buyer threadWhatsApp
Our Kafka consumer lag spikes to 40 minutes every deploy and recovers in an hour. Ideas?
Likely rebalance storms plus cold partition assignment — worth checking session.timeout.ms and static membership first. Beyond that I would be guessing at your topology.

Meera K. (distributed systems, ⭐ 5.0, ₹60/min) is on a call, free in ~6 minutes. Route it?
Yes, cap it at 20 minutes. Sending our consumer config.
queue.enqueue(EXP-03) · ceiling ₹1,200
Queued. Config forwarded with your question so she starts warm. I'll ring you when she picks up.
Expert threadVoice + chat
Paid question in your topics: Kafka consumer lag after deploys. Context and consumer config attached. Buyer capped at 20 min (₹1,200 to you). Accept?
Accept — call me in 5.
meter.start() 14:06:12
Session closed at 18m 40s. ₹1,120 is on its way to your linked account. Buyer rated the session ⭐ 5.0.
Send them my note on static membership too.
Relayed as a follow-up at no extra charge — logged against CNS-3402.
Guardrails

Rules the agent cannot talk itself out of

🔐

Reserves are sealed

Floors and ceilings live outside the model's output path. They constrain what can be quoted; they are never text the agent can emit.

🧊

Assets are locked

An asset in escrow cannot appear in a second live listing, on any channel, under any account.

↩️

Rollback beats repair

Any failed leg returns the trade to its last safe state and refunds. Manual intervention is an exception, not the mechanism.

🧯

Spend ceilings bind

Metering stops at the buyer's cap even mid-sentence. Overruns are absorbed, never billed.

👤

Human handover

Any user can ask for a human at any point and the agent stops negotiating on their behalf immediately.

📚

Everything is logged

Prompts, tool calls, offers and money movements are recorded against the trade or session id for replay.

See it running

The console reproduces both walkthroughs with live state you can drive yourself.

Open the console