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…

Что это?TrustMint — открытый набор строительных блоков смарт-контрактов для токенизации реальных активов вроде счетов-фактур, долей недвижимости и углеродных кредитов в блокчейне Stellar Soroban, со встроенными правилами KYC и комплаенса переводов.
Это готовое приложение или набор примеров контрактов для разработки поверх?Это референсный репозиторий примеров контрактов Soroban (реестр KYC, движок комплаенса, токены активов), плюс дашборд и SDK, которые предполагается изучать и адаптировать, а не готовое продакшен-приложение.
Как запустить контракты?Установите Rust-тулчейн с таргетом wasm32-unknown-unknown и Stellar CLI, затем соберите и протестируйте контракты из корня репозитория; дашборд запускается из папки frontend с использованием его файла .env.
Что нужно установить перед началом?Нужны Rust-тулчейн с таргетом wasm32-unknown-unknown, Stellar CLI и Node.js 20 или новее; Docker нужен, только если хотите запустить локальный набор интеграционных тестов.
Обеспечивает ли TrustMint за меня проверку KYC и юридический комплаенс?Нет. Он не проверяет личности и не обеспечивает юридический комплаенс; он лишь записывает в блокчейн решение об одобрении от доверенного верификатора, а документы, удостоверяющие личность, и процесс проверки остаются вне блокчейна под вашим контролем.
Где в итоге оказываются документы и секреты?Документы, удостоверяющие личность, полностью остаются вне блокчейна, а README предупреждает никогда не класть приватные ключи, секреты или такие документы в файл .env дашборда, потому что Vite встраивает эти переменные в браузерное приложение.
Какие строительные блоки есть в репозитории?Реестр KYC, движок комплаенса (управление паузами, блок-листы, лимиты переводов, периоды удержания, ограничения на держателей), три примера токенов (Invoice, Property, Carbon Credit), плюс отдельный референсный токен RWA в стиле SEP-41.
Можно ли уже разворачивать это в Stellar mainnet?Нет, он рассчитан на прототипирование в тестнете; в дорожной карте ещё значатся проверка совместимости с SEP-41 и независимый аудит безопасности Soroban до любого продакшен-использования.
Что умеет включённый в комплект дашборд?Это фронтенд на React + Vite, который может загрузиться без ID контрактов для ознакомления, но для реальных сценариев в блокчейне требует адресов развёрнутых контрактов, заданных как переменные окружения VITE.
Как развернуть примеры контрактов в тестнет?Вспомогательный скрипт деплоя публикует реестр KYC, движок комплаенса и три токена активов в Stellar testnet и записывает их ID контрактов в frontend/.env; отдельный референсный токен RWA он не разворачивает.
Creator
zeemscript
Size
0.7 MB
Stars
131
Updated
CommitOct 04
Age
13d
Commits · 90 Days