TrustMint README

The project's README from github.com/zeemscript/TrustMint. As one markdown file: README.md.

TrustMint — Real assets on Stellar

Real assets. Clear rules. Stellar Soroban.

Open-source building blocks for tokenized invoices, property shares, and carbon credits—with eligibility and transfer rules checked by smart contracts.

Open the live preview · Get started · Report an issue

CI status MIT License Stellar Soroban

The idea

Tokenizing an asset is only one part of the work. Applications may also need holder eligibility, transfer policies, and rules tied to an asset's lifecycle. TrustMint brings those examples together in one inspectable Stellar Soroban repository, so builders can explore the pieces and adapt them for their own testnet prototypes.

TrustMint does not verify identities or provide legal compliance. A trusted verifier records an approval decision on-chain; identity documents and the process behind that decision remain off-chain and under the deploying project's control.

Explore the building blocks

Building block What it demonstrates
KYC Registry Authorized verifiers record approval, tier, jurisdiction, and optional expiry for a Stellar address.
Compliance Engine Transfer policy examples such as pause controls, address and jurisdiction blocklists, transfer limits, holding periods, and holder caps.
Invoice Token Invoice metadata with issuance, transfer, settlement, and redemption examples.
Property Token Fractional property shares with cumulative per-share dividend accounting.
Carbon Credit Token Credit issuance, transfer, and retirement records with beneficiary metadata.
RWA Reference Token A separate SEP-41-style token example with KYC and compliance hooks and asset metadata.

The repository also contains a React + Vite dashboard, a TypeScript SDK, deployment helpers, Rust contract tests, and local Stellar integration tests.

How a policy check flows

flowchart LR
  Person[Holder or operator] --> App[Dashboard or SDK]
  App --> Token[Asset contract]
  Token -->|Check approval| KYC[KYC registry]
  Token -->|Evaluate policy| Rules[Compliance engine]
  Token -->|Apply permitted action| State[(Contract state)]
  Verifier[Authorized verifier] --> KYC
  Admin[Authorized admin] --> Rules

Asset contracts invoke the registry and compliance engine during relevant operations. The exact checks depend on the contract and method. An on-chain approval is a record of a verifier's decision, not proof that an off-chain identity or compliance process is adequate.

Get started

Requirements

Build and test the contracts

From the repository root:

rustup target add wasm32-unknown-unknown
cargo build --release --target wasm32-unknown-unknown
cargo test --features testutils

Run the dashboard

cd frontend
npm install
npm run dev

The interface can load without contract IDs. Network-backed workflows need the relevant VITE_*_ID values in frontend/.env. Start from frontend/.env.example. Vite variables are bundled into the browser app, so never put private keys, secrets, or identity documents in them.

Deploy the example suite to Stellar testnet

The helper deploys the KYC registry, compliance engine, invoice token, property token, and carbon-credit token. It writes those IDs to frontend/.env. The separate RWA reference token is not included. The asset metadata in the script is placeholder data; review and replace it before every deployment, including testnet.

bash scripts/setup-identity.sh trustmint-dev
bash scripts/deploy.sh trustmint-dev

Developer commands

# Rust formatting, linting, and contract unit tests
cargo fmt --all -- --check
cargo clippy --all --all-targets -- -D warnings
cargo test --features testutils

# TypeScript SDK
npm run build:sdk

# Frontend
cd frontend
npm run lint
npm run build

The GitHub Actions workflows run formatting, lint, contract tests, WASM builds, and a local Stellar integration job. Passing CI is useful feedback; it is not a security audit or production-readiness guarantee.

Repository map

contracts/          Soroban contracts and unit tests
frontend/           React dashboard, wallet integration, and contract clients
sdk/                TypeScript clients for application developers
scripts/            Testnet identity, deployment, and verification helpers
tests/integration/  Local Stellar integration tests
docs/               Deployment and operations guidance

Project roadmap

Community and project docs


Built in the open for developers exploring real-world asset applications on Stellar.

TrustMint (zeemscript/TrustMint)

Searching Database…

What is this?TrustMint is an open-source toolkit of smart-contract building blocks for tokenizing real-world assets like invoices, property shares, and carbon credits on the Stellar Soroban blockchain, with KYC and transfer-compliance rules built in.
Is this a ready-made app or a set of example contracts to build on?It's a reference repository of example Soroban contracts (KYC registry, compliance engine, asset tokens) plus a dashboard and SDK meant to be inspected and adapted, not a finished production app.
How do I get the contracts running?Install the Rust toolchain with the wasm32-unknown-unknown target and the Stellar CLI, then build and test the contracts from the repository root; run the dashboard from the frontend folder using its .env file.
What do I need installed before I start?You need the Rust toolchain plus the wasm32-unknown-unknown target, the Stellar CLI, and Node.js 20 or newer; Docker is only needed if you want to run the local integration test suite.
Does TrustMint actually handle KYC verification and legal compliance for me?No. It does not verify identities or provide legal compliance; it only records a trusted verifier's approval decision on-chain, while identity documents and the verification process stay off-chain under your control.
Where do identity documents and secrets end up?Identity documents stay off-chain entirely, and the README warns never to put private keys, secrets, or identity documents into the dashboard's .env file since Vite bundles those variables into the browser app.
What building blocks does the repo include?A KYC Registry, a Compliance Engine (pause controls, blocklists, transfer limits, holding periods, holder caps), three example tokens (Invoice, Property, Carbon Credit), plus a separate SEP-41-style RWA Reference Token.
Is this ready to deploy to Stellar mainnet?No, it's aimed at testnet prototyping; the roadmap still includes verifying SEP-41 compatibility and commissioning an independent Soroban security review before any production use.
What does the included dashboard do?It's a React + Vite frontend that can load without contract IDs for exploration, but needs deployed contract addresses set as VITE env variables to drive real on-chain workflows.
How do I deploy the example contracts to testnet?A deployment helper script pushes the KYC registry, compliance engine, and the three asset tokens to Stellar testnet and writes their contract IDs into frontend/.env; the separate RWA reference token isn't deployed by it.
Creator
zeemscript
Size
0.7 MB
Stars
131
Updated
CommitOct 04
Age
13d
Commits · 90 Days