The trustless marketplace for digital goods and services — every order backed by Soroban escrow.
TrustCart is a peer-to-peer marketplace where every transaction is protected by a Soroban smart contract escrow — no platform holding your money, no chargebacks, no middlemen taking 20%. Buyers pay into escrow, sellers deliver, funds release on confirmation. Flat 1% protocol fee — everything else goes to the seller.
Live on testnet: contract
CDRJORPUFXD54OEE4ZIMYN7WPXZCRVYPO7F5UCRT4SNSKMT5PPIBGK36
The platforms built to help creators and freelancers get paid are now their biggest tax: Fiverr takes 20%, PayPal freezes funds for 180 days, Gumroad takes 10% plus processing. Buyers have no protection in P2P deals without trusting a platform intermediary — who charges for the privilege.
LIST Seller lists an item with a price
ORDER Buyer orders → price locked in Soroban escrow
DELIVER Seller delivers the goods/service
CONFIRM Buyer confirms → escrow releases price − 1% to the seller, 1% to the protocol
(or CANCEL while listed / REFUND after the delivery deadline)
The contract is the source of truth. No platform holds funds; there is no admin that can drain escrow. Funds only ever move to the seller (on confirm) or back to the buyer (on refund).
Web (Next.js) ──wallet-signed tx──► marketplace-escrow (Soroban) ◄── reads
│ price escrow + 1% fee + lifecycle + events
└──REST──► server (Express+Prisma): off-chain item details by listing id
See docs/architecture.md for the full design and trust model.
| Layer | Technology |
|---|---|
| Contract | Rust · Soroban SDK 22 · wasm32v1-none · constructor-set fee |
| Client | Typed TS bindings (@trustcart/marketplace-client) |
| Web | Next.js (App Router) · Tailwind · TanStack Query · Wallets Kit |
| Server | Express · Prisma · SQLite (dev) / Postgres (prod) · Zod |
| Tooling | pnpm workspace · GitHub Actions · gitleaks · Conventional Commits |
# Prerequisites: Node 20+, pnpm 9+, Rust, Stellar CLI, wasm32v1-none target
git clone https://github.com/thefifthdev/trustcart.git
cd trustcart
make setup
cp web/.env.example web/.env.local
cp server/.env.example server/.env
make dev # API :4000 + web :3000Connect Freighter (Testnet) and list or order an item. Full steps:
docs/local-runbook.md.
| Path | Description |
|---|---|
contracts/marketplace-escrow/ |
Soroban escrow contract + 22 unit tests. |
packages/marketplace-client/ |
Generated typed contract bindings. |
server/ |
Off-chain metadata indexer (Express+Prisma). |
web/ |
Next.js app wired to testnet. |
docs/ |
Architecture, deployment, contract API, security. |
- Marketplace escrow (list / order / deliver / confirm / cancel / refund)
- 1% protocol fee, constructor-configurable
- Testnet deployment + typed client + web app + indexer
- Dispute & arbitration flow — good first issues open
- On-chain seller reputation
- Multi-token / stablecoin support beyond native XLM
- Mainnet launch
TrustCart participates in the Stellar Wave Program via
Drips. Pick up an issue labeled Stellar Wave
or good first issue to earn contributor rewards. Start with
CONTRIBUTING.md.
MIT — see LICENSE.