Skip to content

thefifthdev/trustcart

Repository files navigation

TrustCart 🛒

The trustless marketplace for digital goods and services — every order backed by Soroban escrow.

License: MIT Stellar Soroban Status

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 problem

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.

How it works

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).

Architecture

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.

Tech stack

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

Getting started

# 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 :3000

Connect Freighter (Testnet) and list or order an item. Full steps: docs/local-runbook.md.

Project structure

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.

Documentation

Roadmap

  • 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

Contributing & Stellar Wave

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.

License

MIT — see LICENSE.

About

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.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors