Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TrustMesh

Decentralized business trust & reputation on Stellar Soroban

Live Demo Stellar Soroban CI License: MIT


Overview

TrustMesh is trust infrastructure for businesses, startups, agencies, freelancers, vendors, and service providers — not crowdfunding, not escrow, not NFTs, not a DAO, not CRM, and not LinkedIn.

Organizations establish verifiable trust through completed relationships, verified reviews, dispute history, reputation scores, and immutable on-chain records.

Live demo https://trust-mesh-taupe.vercel.app
Network Stellar Testnet · Soroban
Stack Next.js 15 · TypeScript · Rust · 6 Soroban contracts
Program Stellar Journey to Mastery — Green Belt

Built as a production MVP on the existing Orange Belt contract foundation.


Live demo & submission

Link
GitHub repo https://github.com/nishant-uxs/TrustMesh
Green CI/CD run https://github.com/nishant-uxs/TrustMesh/actions/runs/30162067608
First deploy tx (testnet) https://stellar.expert/explorer/testnet/tx/384cb67cad2cdcc4c27dc50bb445aed03da1c7619e0d3cec78ac78f80ba7fcd0
Sample register tx https://stellar.expert/explorer/testnet/tx/fa96bc2eefc492914cfd0641a667fb0df03b0be12ba3c3a97e67dcd5cd960a24
Sample verify tx https://stellar.expert/explorer/testnet/tx/be97ac73cf039396e1957ea0fdfa88ed328586cccc1c6ec02c985ffefc608d76
Demo video https://drive.google.com/file/d/1GWH_qCdsZ1c9zzUfPgUF_nY-hmoOfmzN/view?usp=sharing
Live app (Vercel) https://trust-mesh-taupe.vercel.app/

Screenshots

TrustMesh mobile landing    TrustMesh mobile dashboard

Mobile-responsive landing + dashboard (390×844)

TrustMesh desktop landing

Desktop landing

Organizations with search filters

Organizations — search, filters, on-chain register

Relationships with confirm actions

Relationships — lifecycle actions + confirm dialogs

Settings contracts + theme

Settings — network, 6 contract IDs, light/dark theme

Green GitHub Actions CI run

CI/CD — Contracts (test + WASM) → Frontend (lint/typecheck/test/build) → Deploy gate

Full deployment record: deployments/TRANSACTIONS.md · env: deployments/testnet.env


Why it stands out

  • Six cooperating Soroban contracts with explicit admin + authorized-caller boundaries
  • Factory orchestration that talks to registry, relationship, reputation, and treasury in one flow
  • Reputation scoring from completions, verified reviews, and dispute outcomes
  • SAC-backed treasury — optional Stellar Asset Contract custody for deposits, fee pulls, and fee skim
  • Wallet picker on connect (Freighter / xBull / LOBSTR / Albedo / Hana / Rabet)
  • Freighter-signed invokes for register / relationships / reviews (real Testnet txs)
  • Empty-by-default console — no seed tables, no fake balances
  • Search, filters, pagination, toasts, confirm dialogs, light/dark theme
  • Guided first-time onboarding (wallet → role → organization → next action)
  • Privacy-first product analytics (local events + optional PostHog)
  • Error monitoring (local incidents + optional Sentry)
  • Live Testnet deployment with contract IDs + transaction hashes
  • Event streaming via RPC getEvents into a live activity timeline

Product

Problem. Businesses still prove trust with PDFs, screenshots, and platforms that own the data.

Solution. TrustMesh records organizations, working relationships, reviews, and reputation on Stellar Testnet so a partner can verify the trail themselves.

User flow

flowchart LR
  A[Connect wallet] --> B[Choose role]
  B --> C[Publish organization]
  C --> D[Create relationship]
  D --> E[Accept / complete]
  E --> F[Submit review]
  F --> G[Public reputation + activity]
Loading

Guided setup lives at /onboarding. Human-language copy explains each wallet approval. Failed actions stay off-chain and offer a retry (including free Testnet funding via Friendbot).


System architecture

flowchart TB
  subgraph Clients
    UI[Next.js Console]
    Wallets[Freighter / xBull / LOBSTR / Albedo]
  end

  subgraph Soroban["Stellar Testnet · Soroban"]
    REG[Organization Registry]
    FAC[Trust Relationship Factory]
    REL[Trust Relationship]
    REV[Review Verification]
    REP[Reputation]
    TR[Treasury]
  end

  UI --> Wallets
  UI --> REG
  UI --> FAC
  UI --> REL
  UI --> REV
  UI --> REP
  UI --> TR

  FAC -->|get_organization| REG
  FAC -->|create| REL
  FAC -->|ensure_tracked| REP
  FAC -->|record_fee| TR
  REL -->|record_completed / dispute| REP
  REV -->|get_organization| REG
  REV -->|record_verified_review| REP
  REV -->|record_fee| TR
Loading

Trust lifecycle

sequenceDiagram
  participant Owner
  participant Admin
  participant Registry as Organization Registry
  participant Factory as Relationship Factory
  participant Rel as Trust Relationship
  participant Reviews as Review Verification
  participant Rep as Reputation
  participant Treasury

  Owner->>Registry: register_organization
  Admin->>Registry: verify_organization
  Owner->>Factory: create_relationship
  Factory->>Registry: get_organization
  Factory->>Rel: create
  Factory->>Rep: ensure_tracked
  Factory->>Treasury: record_fee
  Owner->>Rel: accept
  Owner->>Rel: complete
  Rel->>Rep: record_completed_relationship
  Owner->>Reviews: submit_review
  Reviews->>Treasury: record_fee
  Admin->>Reviews: verify_review
  Reviews->>Rep: record_verified_review
Loading

Authorization model

flowchart LR
  Admin -->|initialize / set_authorized| AllContracts
  Factory -->|create| Relationship
  Factory -->|ensure_tracked| Reputation
  Factory -->|record_fee| Treasury
  Relationship -->|score updates| Reputation
  Reviews -->|record_verified_review| Reputation
  Reviews -->|record_fee| Treasury
  Owner -->|register / accept / submit| RegistryRelReviews
Loading

Smart contracts

Contract ID (testnet) Role
Organization Registry CD6AAYZ7…NRZT Register / verify orgs + vendors
Reputation CDYSM4LG…RBL5 Trust scores from reviews & completions
Treasury CA63C3PL…MONH Fee config, deposits, fee accounting
Trust Relationship CBCTIWGK…LDXJ Lifecycle, disputes, completion
Trust Relationship Factory CBF5KOXX…JGHK Cross-contract relationship orchestration
Review Verification CBXOCI2B…J3KF Submit / verify / reject reviews

First deploy transaction:
384cb67cad2cdcc4c27dc50bb445aed03da1c7619e0d3cec78ac78f80ba7fcd0
Explorer: https://stellar.expert/explorer/testnet/tx/384cb67cad2cdcc4c27dc50bb445aed03da1c7619e0d3cec78ac78f80ba7fcd0

Events emitted

OrganizationRegistered · OrganizationVerified · RelationshipCreated · RelationshipCompleted · ReviewSubmitted · ReviewVerified · ReputationUpdated · TrustScoreUpdated · DisputeOpened · DisputeResolved


Repository layout

.
├── contracts/                 # Soroban workspace (6 crates + tests)
├── frontend/                  # Next.js 15 · TypeScript · Tailwind
├── scripts/                   # deploy.sh + deploy.ps1
├── deployments/               # Live testnet addresses + tx hashes
├── docs/                      # Architecture + demo notes
├── .github/workflows/ci.yml   # cargo test ‖ npm test/lint/build
└── README.md

CI/CD pipeline

Every push / PR on master runs a gated pipeline:

  1. Contractscargo test --workspace → WASM build (6 crates) → validate deployments/testnet.json
  2. Frontendnpm ci → lint → typecheck → test → production build
  3. Deploy gate — confirms Vercel production path after both jobs pass

CI: .github/workflows/ci.yml
Latest green run: https://github.com/nishant-uxs/TrustMesh/actions/runs/30162067608

Green CI run


Quick start

Prerequisites

  • Rust stable + wasm target (wasm32v1-none)
  • Stellar CLI v25+
  • Node.js 20+

Contracts

cargo test --workspace
stellar contract build

# Windows
.\scripts\deploy.ps1 -Source deployer -Network testnet
# macOS / Linux
bash scripts/deploy.sh --source deployer --network testnet

Frontend

cd frontend
cp ../deployments/testnet.env .env.local
# optional: PostHog / Sentry keys from frontend/.env.example
npm install
npm run dev

Open http://localhost:3000

Redeploy (optional)

stellar keys fund deployer --network testnet
.\scripts\deploy.ps1 -Source deployer -Network testnet

Then refresh frontend/.env.local from deployments/testnet.env.


Frontend

Pages: Landing · Get started · Dashboard · Organizations · Relationships · Reputation · Reviews · Analytics · Activity · Public Profile · Settings

Quality bar:

  • Guided onboarding for first-time users
  • Multi-wallet connect modal
  • Light / dark theme
  • Search + status filters + pagination
  • Toasts + confirm dialogs
  • Transaction panels that say what to do next
  • Skeletons + empty states with a next action (no fake seed data)
  • Classified wallet / RPC / contract errors with recovery
  • Product analytics + monitoring panels
  • Live activity feed from contract events
  • Responsive desktop / tablet / mobile layout

Analytics & monitoring

  • Analytics: local product events (see Analytics page). Optional PostHog via NEXT_PUBLIC_POSTHOG_KEY. Docs: docs/ANALYTICS.md
  • Monitoring: local incident log (see Settings). Optional Sentry via NEXT_PUBLIC_SENTRY_DSN. Docs: docs/MONITORING.md

Neither integration runs unless the env var is set. No secrets belong in git.


Testing

# 39 smart-contract tests
cargo test --workspace

# Frontend
cd frontend
npm run lint
npm run typecheck
npm test
npm run build

Demo video

Watch: https://drive.google.com/file/d/1GWH_qCdsZ1c9zzUfPgUF_nY-hmoOfmzN/view?usp=sharing

Recording script: docs/DEMO_VIDEO.md

Suggested 90s flow: landing → Get started → connect wallet → Friendbot (optional) → choose role → publish organization (sign) → public receipt → start a relationship.

Green Belt evidence template (real links only): docs/GREEN_BELT_EVIDENCE.md


Green Belt checklist

Mapped requirement → implementation: docs/GREEN_BELT_CHECKLIST.md

  • Production MVP workflow on Testnet
  • First-time onboarding
  • Human-language transaction feedback
  • Mobile / tablet / desktop layouts
  • Error handling + recovery
  • Loading and empty states
  • Product analytics (local + optional PostHog)
  • Error monitoring (local + optional Sentry)
  • Shared graph cache / fewer redundant RPC reads
  • Smart contract tests preserved
  • Frontend tests expanded
  • CI/CD (lint, typecheck, tests, WASM, build)
  • Production documentation

Orange Belt contract map remains in docs/ORANGE_BELT_CHECKLIST.md


Security notes

  • Admin-only initialize / set_authorized / verify_* / dispute resolution
  • Factory-only relationship creation entry (plus admin)
  • Reputation + Treasury gated by authorized contract callers
  • Reviewer must own the reviewer organization
  • Creator must own one side of a relationship
  • Self-review blocked; duplicate pair reviews blocked
  • Empty-by-default UI — no fabricated balances or seed tables
  • Product analytics never persist full wallet addresses
  • Optional Sentry/PostHog keys live in env vars only

License

MIT

About

TrustMesh — decentralized business trust & reputation network on Stellar Soroban (Orange Belt)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages