Private Equity Tokenization
This example demonstrates tokenizing private equity fund shares with lock-up periods and dividend distributions.
Overview​
We'll create a tokenized PE fund that:
- Represents LP interests in a fund
- Enforces qualified purchaser requirements
- Implements 3-year lock-up period
- Distributes fund returns
Deployment​
import { RWAClient } from '@mantle-rwa/sdk';
const client = new RWAClient({
network: 'mantle-sepolia',
privateKey: process.env.PRIVATE_KEY,
});
const deployment = await client.deployRWASystem({
tokenName: 'Growth Equity Fund I',
tokenSymbol: 'GEF1',
initialSupply: '100000000', // $100M fund
compliance: {
maxHolders: 99, // Reg D 506(c) limit
minInvestment: '250000', // $250K minimum
accreditedOnly: true,
lockupPeriod: 3 * 365 * 24 * 60 * 60, // 3 years
},
});
Investor Onboarding​
// Verify qualified purchaser
await kyc.verifyInvestor({
address: '0xLP1...',
accreditationLevel: 'qualified', // Qualified purchaser
country: 'US',
metadata: {
investorType: 'individual',
netWorth: '5000000+',
},
});
Capital Calls​
// Mint tokens for capital call
await token.mint({
to: '0xLP1...',
amount: '1000000', // $1M commitment
});
Distributions​
// Distribute fund returns
await yieldModule.distribute({
amount: '5000000', // $5M distribution
paymentToken: '0xUSDC...',
memo: 'Portfolio Exit - Company A',
});