A full-stack platform for fractional ownership of private equity investments, built on Base network with SEC Regulation A+ compliance.
FractionalPE enables retail investors to access high-grade PE seed rounds through tokenized SPV ownership. The platform enforces transfer restrictions via whitelist-based compliance, ensuring only KYC/AML-verified investors can hold tokens.
- Smart Contract: Solidity 0.8.24+ (ERC-20 + ERC-1404 compliance)
- Frontend: Next.js 14, TypeScript, Tailwind CSS
- Web3: wagmi v2, viem, RainbowKit
- Network: Base (Ethereum L2)
baselaunch/
├── contracts/
│ └── FractionalPESecurityToken.sol # Security token contract
├── frontend/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # React components
│ ├── lib/ # Utilities & Web3 config
│ └── package.json
└── README.md
- ERC-20 Standard: Full compatibility with wallets and exchanges
- Whitelist Compliance: Transfer restrictions for KYC/AML verified addresses
- ERC-1404 Compatible:
detectTransferRestriction()andmessageForTransferRestriction() - Owner Controls: Mint, burn, whitelist management
- Gas Optimized: Custom errors, unchecked math where safe
- Node.js 18+
- pnpm, npm, or yarn
- WalletConnect Project ID (get one at cloud.walletconnect.com)
-
Navigate to frontend directory:
cd frontend -
Install dependencies:
npm install
-
Create environment file:
cp .env.example .env.local
-
Add your WalletConnect Project ID to
.env.local -
Start development server:
npm run dev
- Install Foundry or Hardhat for deployment
- Configure network settings for Base Sepolia (testnet) or Base Mainnet
- Deploy
FractionalPESecurityToken.solwith initial supply - Update contract address in
frontend/lib/contract.ts
This platform is designed for SEC Regulation A+ (Tier 2) offerings:
- Tokens represent fractional ownership in a Tokenized SPV
- All transfers restricted to whitelisted (KYC/AML verified) addresses
- Non-accredited investors can participate
- Maximum raise of $75M per year under Tier 2
- Owner is automatically whitelisted and cannot be removed
- Both sender AND receiver must be whitelisted for transfers
- Custom errors provide gas-efficient reverts with clear messages
- No external dependencies in smart contract (self-contained)
| Variable | Description |
|---|---|
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID |
WalletConnect Cloud project ID |
MIT