Build a Marketplace with Ishtaran
Alice wants a pair of wireless headphones Bob is selling on Mercatto, a marketplace built on Ishtaran. She pays 200 USDT. That money doesn't go to Bob right away — it goes into a locked box with a label: can't be spent yet. Only once Mercatto tells Ishtaran "the headphones arrived" does Ishtaran open the box and split what's inside: a small slice for Mercatto, the rest for Bob.
Why this exists
This isn't a marketing tutorial. Every code block on these pages is the exact file the Mercatto E2E suite imports and runs — the same files that gate every SDK release and every platform release. If a change to Ishtaran breaks this story, the release is blocked. If you're building a marketplace, you should be able to read this, copy the code, run it against the real Sandbox, and see the same real responses shown here.
Nothing here is invented to look nicer. Where the platform has a real limitation — a route that doesn't exist yet, an authorization rule that surprised us, a cooldown that can't be skipped — it's called out explicitly, not hidden. See Known Limitations for the full list.
The actors
| Who | Role | How they reach Ishtaran |
|---|---|---|
| Mercatto | The marketplace — owns the Ishtaran Organization and Application | Its own Application API Key, and (for a few operations — see Architecture) a Member session |
| Alice | Buyer | Her own self-service AccountHolder login — Mercatto never sees her password |
| Bob | Seller | His own self-service AccountHolder login, same as Alice |
| Mercatto's revenue Account | Where the marketplace's own commission lands | A regular Account, owned by Mercatto directly |
| Ishtaran | Financial infrastructure | Never decides whether the headphones actually shipped — only Mercatto knows that |
Chapters
- Architecture — the full sequence, every real method call
- Setup — Mercatto signs up
- Seller onboarding — Bob, Alice, and Mercatto's own revenue Account
- Creating an order — Workflow + Transaction with a real Split
- Accepting payment — the Payment Intent and the deposit address
- Holding funds — reservation, and what "locked" really means
- Confirming delivery — the event that isn't a gate
- Settlement and Split — Fee, Distributable Amount, the real Split
- Partial Settlement — releasing funds in installments
- Seller balance — how Bob finds out he got paid
- Withdrawal — and the real cooldown that blocks it
- Failure scenarios — 11 real alternative paths, all live-tested
- Full source — every file, one page
- Known limitations — real gaps, never hidden
- Run it yourself — against the real public Sandbox, no private access needed