Role Guide
Fund Issuer Guide
Onboard and manage tokenized funds on the UFX protocol. Configure pricing, fees, and collect revenue from secondary trading.
Smart Contract: FundRegistryModule
File: FundRegistryModuleFacet.sol
Role Required: ISSUER_ROLE
Fund Onboarding Workflow
●Step 1: Register Fund
await fundRegistryModule.registerFund(
"fund-techgrowth-001", // fundId
"0xFundToken...", // fundToken address
"0xIssuerTreasury...", // issuer address
"0xTransferAgent...", // transfer agent
"0xUSDC...", // baseCurrency (payment token)
"0xNavOracle...", // navOracle
"policy-accredited-us", // compliancePolicyId
ethers.parseUnits("1", 18) // priceDenominator
);
📄 Smart Contract: FundRegistryModuleFacet.sol, Function: registerFund() at line 67
●Step 2: Configure Pricing Bounds
Admin sets NAV-based price limits (e.g., ±2%)
●Step 3: Configure Fees
Set maximum fee cap for your fund (e.g., 0.50%)
●Step 4: Activate Fund
await fundRegistryModule.setFundStatus(
"fund-techgrowth-001",
1 // FundStatus.Active
);