A comprehensive platform for tokenizing real-world assets (RWA) on the Stellar blockchain, featuring Soroban smart contracts, TypeScript SDK, React UI components, and complete example implementations.
- Asset Factory: Deploy new RWA tokens with customizable parameters
- RWA Token: Core token with fractional ownership, dividends, and voting rights
- Compliance Registry: SEC-compliant KYC, AML, and transfer restrictions
- Dividend Distributor: Multi-currency yield distribution
- Secondary Market: Peer-to-peer trading with price discovery
- Custody Validator: Off-chain asset verification with oracle integration
- Asset Factory Client: Deploy and manage RWA tokens
- Token Client: Manage fractional ownership and compliance
- Dividend Client: Configure and claim yield distributions
- Market Client: Trade on secondary market with order book
- Compliance Client: Manage KYC, whitelist, and regulatory compliance
- Asset Deployer: Launch new RWA tokens with legal metadata
- Ownership Dashboard: View holdings, dividends, and voting power
- Secondary Market: Buy/sell RWA tokens with order book interface
- Dividend Panel: Claim yields and view distribution history
- Compliance Status: KYC verification and whitelist management
- Custody Proof: Off-chain asset verification display
- Real Estate Tokenization: Commercial property fractionalization
- Commodity Vault: Gold/oil-backed tokens with custody proofs
- Invoice Factoring: Accounts receivable tokenization
- Security Tokens: Regulated equity with investor accreditation
- Cross-Border Property: International real estate investment
- Rust 1.70+ (for Soroban contracts)
- Node.js 18+ (for SDK and UI)
- Stellar CLI tools
# Clone the repository
git clone https://github.com/stellar-rwa-suite/stellar-asset-tokenization-suite.git
cd stellar-asset-tokenization-suite
# Install dependencies
npm install
# Build the SDK
npm run build:sdk
# Build the UI
npm run build:ui# Install Soroban CLI
cargo install soroban-cli
# Build contracts
cd src
cargo build --target wasm32-unknown-unknown --release
# Deploy contracts (testnet)
soroban contract deploy --wasm target/wasm32-unknown-unknown/release/rwa_token.wasm --network testnetimport { createStellarRWASDK, AssetType, Currency } from './sdk/src';
// Initialize SDK for testnet
const sdk = createStellarRWASDK('testnet', {
assetFactory: 'GC...',
complianceRegistry: 'GD...',
dividendDistributor: 'GE...',
secondaryMarket: 'GF...',
custodyValidator: 'GH...'
});
// Deploy a new RWA token
const token = await sdk.assetFactory.deployRWAToken(deployer, {
name: 'Manhattan Office Tower',
symbol: 'MOT',
totalSupply: '1000000',
decimals: 18,
assetType: AssetType.REAL_ESTATE,
metadata: {
property_address: '350 Fifth Avenue, New York, NY',
square_footage: '500000',
appraisal_value: '10000000'
},
complianceRegistry: sdk.getConfig().contracts.complianceRegistry,
dividendDistributor: sdk.getConfig().contracts.dividendDistributor
});import AssetDeployer from './components/AssetDeployer';
import OwnershipDashboard from './components/OwnershipDashboard';
function App() {
const handleDeploy = async (options) => {
// Deploy asset using SDK
return await sdk.assetFactory.deployRWAToken(deployer, options);
};
return (
<div>
<AssetDeployer onDeploy={handleDeploy} />
<OwnershipDashboard userAddress={userAddress} portfolio={portfolio} />
</div>
);
}API reference for Soroban contracts and the TypeScript SDK:
The Stellar RWA Tokenization Suite follows a modular architecture:
- Smart Contracts Layer: Soroban contracts on Stellar blockchain
- SDK Layer: TypeScript client for contract interaction
- UI Layer: React components for user interface
- Examples Layer: Real-world use case implementations
- Deploys new RWA token contracts
- Manages token registry and metadata
- Supports different asset types (real estate, commodities, securities)
- ERC-20 compatible token functionality
- Fractional ownership with 18 decimal precision
- Built-in compliance checks and transfer restrictions
- Voting rights and token locking for governance
- KYC/AML status management
- Whitelist/blacklist functionality
- SEC compliance (Rule 144, Reg D, Reg S)
- Transfer limits and geographic restrictions
- Multi-currency dividend distribution
- Support for XLM, USDC, EURC, and custom tokens
- Fee calculation and collection
- Claim deadline management
- Order book with price discovery
- Buy/sell order matching
- Trading fees and settlement
- Market statistics and history
- Off-chain asset verification
- Oracle integration for price feeds
- Audit report storage
- Insurance coverage verification
The TypeScript SDK provides a clean, type-safe interface for interacting with the RWA contracts:
// Main SDK class
class StellarRWASDK {
assetFactory: AssetFactory;
tokenClient: TokenClient;
dividendClient: DividendClient;
marketClient: MarketClient;
complianceClient: ComplianceClient;
}
// Individual client classes
class AssetFactory {
deployRWAToken(options: DeploymentOptions): Promise<DeploymentResult>;
getAssetInfo(symbol: string): Promise<AssetInfo>;
listAssets(): Promise<AssetInfo[]>;
}
class TokenClient {
transfer(from: Address, to: Address, amount: string): Promise<string>;
mint(to: Address, amount: string): Promise<string>;
lockTokens(owner: Address, amount: string, period: number): Promise<string>;
}The suite includes comprehensive compliance features:
- Rule 144: Restricted securities resale limitations
- Regulation D: Private placement exemptions (506(c))
- Regulation S: Non-US offerings
- Accredited Investor Verification: Net worth and income checks
- Multi-level verification (Basic, Enhanced, Institutional)
- Risk scoring and AML flagging
- Geographic restrictions and sanctions screening
- Transfer limits and monitoring
- MiFID II (EU) compliance
- Tax treaty optimization
- Cross-border transfer validation
- Multi-currency support with tax withholding
// Testnet Configuration
const testnetConfig = {
stellar: {
network: 'testnet',
serverUrl: 'https://horizon-testnet.stellar.org',
passphrase: 'Test SDF Network ; September 2015'
},
contracts: {
assetFactory: 'GC...',
complianceRegistry: 'GD...',
dividendDistributor: 'GE...',
secondaryMarket: 'GF...',
custodyValidator: 'GH...'
}
};
// Mainnet Configuration
const mainnetConfig = {
stellar: {
network: 'mainnet',
serverUrl: 'https://horizon.stellar.org',
passphrase: 'Public Global Stellar Network ; September 2015'
},
contracts: {
// Mainnet contract addresses
}
};# Stellar Network
STELLAR_NETWORK=testnet
STELLAR_SERVER_URL=https://horizon-testnet.stellar.org
# Contract Addresses
ASSET_FACTORY_ADDRESS=GC...
COMPLIANCE_REGISTRY_ADDRESS=GD...
DIVIDEND_DISTRIBUTOR_ADDRESS=GE...
SECONDARY_MARKET_ADDRESS=GF...
CUSTODY_VALIDATOR_ADDRESS=GH...
# API Keys (if using external services)
ORACLE_API_KEY=your_api_key
COMPLIANCE_API_KEY=your_compliance_key# Run the real estate example
npm run example:real-estate
# Output:
# 🏢 Starting Real Estate Tokenization Example...
# 📋 Step 1: Initializing Compliance Registry...
# ✅ Compliance registry initialized
# 🏠 Step 2: Deploying Real Estate Token...
# ✅ Token deployed: GD...
# 💰 Step 3: Distributing Tokens to Investors...
# ✅ Distributed 100000 tokens to investor 1
# 🎉 Real Estate Tokenization Example Completed Successfully!# Run the commodity vault example
npm run example:commodity
# Output:
# 🏆 Starting Commodity Vault Tokenization Example...
# 🔒 Step 1: Setting up Custody Validator...
# ✅ Custody validator and oracle registered
# 🪙 Step 2: Deploying Gold-Backed Token...
# ✅ Gold token deployed: GD...
# 🔍 Step 3: Submitting Custody Proof...
# ✅ Custody proof submitted: 12345
# 🎉 Commodity Vault Tokenization Example Completed Successfully!# Run the security token example
npm run example:security
# Output:
# 📈 Starting Security Token Example...
# 📋 Step 1: Initializing Compliance Registry with SEC Rules...
# ✅ Compliance registry initialized with SEC rules
# 🔍 Step 2: Setting up Investor KYC with Accreditation...
# ✅ Investor KYC with accreditation completed
# 📊 Step 3: Deploying Security Token...
# ✅ Security token deployed: GD...
# 🎉 Security Token Example Completed Successfully!# Run contract tests
cargo test
# Run SDK tests
npm test
# Run UI tests
npm run test:ui# Run integration tests on testnet
npm run test:integration
# Run compliance tests
npm run test:compliance
# Run cross-jurisdiction tests
npm run test:cross-border# Generate coverage report
npm run coverage
# View coverage report
open coverage/lcov-report/index.html# Build contracts for production
cargo build --target wasm32-unknown-unknown --release
# Deploy to mainnet
soroban contract deploy \
--wasm target/wasm32-unknown-unknown/release/asset_factory.wasm \
--network mainnet \
--source deployer_key
# Verify deployment
soroban contract read --id <contract-id> --network mainnet# Build SDK for production
npm run build:sdk
# Publish to npm
npm publish --access public# Build UI for production
npm run build:ui
# Deploy to Vercel
vercel --prod
# Deploy to Netlify
netlify deploy --prod --dir=ui/dist- Regular security audits by reputable firms
- Formal verification of critical functions
- Bug bounty program for vulnerability disclosure
- Multi-signature admin controls
- GDPR-compliant data handling
- SEC-compliant transfer restrictions
- AML/KYC integration with leading providers
- Sanctions list screening
- Multi-region deployment for redundancy
- Regular backup and disaster recovery testing
- Secure key management with hardware wallets
- Rate limiting and DDoS protection
- Transaction Speed: 3-5 seconds confirmation
- Throughput: 1,000+ transactions per second
- Cost: ~0.00001 XLM per transaction
- Scalability: Horizontal scaling with Stellar
- Latency: <100ms API calls
- Throughput: 10,000+ requests per second
- Memory: <50MB per instance
- Availability: 99.9% uptime SLA
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
- Rust:
cargo fmtandcargo clippy - TypeScript: ESLint and Prettier
- React: Conventional commits
- Tests: Minimum 80% coverage
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: docs.stellar-rwa.com
- Discord: Stellar RWA Community
- Email: support@stellar-rwa.com
- Issues: GitHub Issues
- Stellar Development Foundation: For the excellent Soroban platform
- Stellar Community: For feedback and support
- Regulatory Experts: For compliance guidance
- Security Auditors: For thorough security reviews
Built with ❤️ by the Stellar RWA Suite Team