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
);