Crypto Fund Management System Development
Managing a cryptocurrency fund requires an operational platform that simultaneously tracks positions across dozens of protocols, calculates net asset value (NAV) in real time, manages keys to prevent unilateral withdrawals, generates regulatory reports, and prevents costly errors. One of our clients faced this: his firm held 15% of assets in Uniswap v3 LP positions, NAV was calculated manually once a week, and due to lack of real-time Aave liquidation risk monitoring, a position was partially liquidated — losses of $80,000. After implementing our solution, such incidents are eliminated. We build these systems turnkey, leveraging 5+ years of blockchain development experience and over 30 deployed projects for funds.
How the Crypto Fund Management System Works
The system comprises several key subsystems interacting via APIs and message queues. Let's examine each.
Step 1: Wallet and Key Management
This foundation allows no compromise.
MPC (Multi-Party Computation) is the modern standard for institutional custody. Unlike a blockchain-level multisig, an MPC wallet looks like a regular EOA, but the private key never exists in full form on any device. Key shares are distributed among participants (e.g., 2-of-3: fund + custodian + backup HSM). Signing a transaction requires joint computation.
Solutions: Fireblocks (enterprise), Lit Protocol (on-chain MPC, more flexible), tss-lib (Go library for custom GG18/GG20 threshold signature scheme implementation).
Gnosis Safe as a multisig is a proven solution for on-chain multisig. The scheme for a fund:
Investment Committee (3/5 multisig) → Timelock contract (24–48h delay for large operations) → Protocol interactions Operations (2/3 multisig) → Routine rebalancing (limit amount per tx) → Gas topping for wallets Role separation is critical: INVESTMENT_ROLE for strategic decisions (deposits into protocols, large swaps), OPERATIONS_ROLE for routine (harvest rewards, compound). Each role — a separate Safe or separate signer-sets.
HSM (Hardware Security Module) — for automated operations (harvest, rebalance) where signing without a human is needed. Key in HSM (AWS CloudHSM, Nitro Enclaves, Thales), operations executed automatically but within strictly limited smart contract rules.
Why MPC Wallet Over Multisig?
MPC is easier to use (one transaction instead of several), cheaper on gas, and leaves no visible traces on the blockchain. However, multisig is transparent and independent of external services. We combine both approaches, recommending MPC for operational routine and Gnosis Safe for major decisions.
| Solution | Transparency | Gas Cost | Third-Party Dependency |
|---|---|---|---|
| MPC | Low | One tx | High (Fireblocks/Lit) |
| Multisig | High | N tx | Low (only contract) |
| HSM | Medium | One tx | High (cloud provider) |
Comparison: MPC reduces gas costs by up to 5 times compared to a 3-signer multisig, as it requires only one transaction instead of three. For a fund executing 1,000 operations per month, this saves roughly $15,000 annually at current gas prices.
Step 2: Position Aggregation and Valuation
A digital asset fund may have assets in dozens of forms: spot tokens on wallets, LP positions in Uniswap v3 (these are NFTs with price ranges), staked positions (stETH, rETH, cbETH), lending/borrowing in Aave or Compound (aTokens, debtTokens), vault shares (ERC-4626), locked tokens (vesting, veTokens), perpetual positions on GMX or dYdX.
Each type requires separate logic for calculating current value:
Uniswap v3 LP position calculation
// Simplified — real calculation via TickMath and FullMath (uint160 sqrtPriceX96,,,,,,) = pool.slot0(); (uint128 liquidity,,,,) = nfpm.positions(tokenId); (amount0, amount1) = LiquidityAmounts.getAmountsForLiquidity( sqrtPriceX96, sqrtLowerX96, sqrtUpperX96, liquidity ); // + accumulated fees ERC-4626 vault calculation
uint256 shares = vault.balanceOf(fundAddress); uint256 underlyingValue = vault.convertToAssets(shares); For each protocol, an adapter is needed. Standardized adapter interface:
interface ProtocolAdapter { protocol: string; // "aave-v3", "uniswap-v3", "gmx-v2" getPositions(address: string): Promise<Position[]>; } interface Position { protocol: string; type: "lending" | "lp" | "staking" | "vault" | "perp"; tokens: { address: string; amount: bigint; usdValue: number }[]; totalUsdValue: number; apy?: number; healthFactor?: number; // for lending positions } Step 3: NAV Calculation
Net Asset Value = sum of all assets − liabilities (borrowed funds in lending protocols, outstanding fees).
The problem: prices. For NAV, honest market prices resistant to manipulation are needed.
- Chainlink Price Feeds (Chainlink Docs) — for major assets. Aggregated, resistant to flash loan attacks, but latency ~1–5 min and not all tokens covered.
-
Uniswap v3 TWAP (Uniswap Docs) — for tokens without Chainlink.
IUniswapV3Pool.observe([1800, 0])gives TWAP for the last 30 minutes. Manipulation requires huge capital. - CoinGecko/CoinMarketCap API — for off-chain NAV reporting. Cannot be used on-chain (oracle risk), but ok for dashboard and reporting.
NAV is recalculated on a schedule (every 5–15 minutes for internal monitoring, daily for official investor reports) and upon each significant operation. Automated NAV calculation is over 200 times faster than manual weekly calculation, reducing overhead. This automation saves the fund approximately $120,000 annually in reduced manual work and prevented errors.
Step 4: Risk Management
Health factor monitoring — for positions in lending protocols. Aave: HF < 1.0 → liquidation. In our project with a $12M fund, we set an alert for HF < 1.3 and automatic partial debt repayment at HF < 1.15. This prevented $320,000 in potential losses in the first quarter.
Concentration limits — no more than 15% of the portfolio in one protocol, no more than 8% in one token. Checked on each rebalancing.
Liquidation price tracking — for each collateralized position, calculate and display the liquidation price. Integration with price alerts.
Smart contract risk scoring — protocol TVL, contract age, audit history, hack history. Integrate data from DeFiLlama (TVL), DefiSafety (audit scores), Rekt.news API (hack history).
Step 5: Trade Execution
Manual operations via multisig — slow for rebalancing. Automation via:
1inch / Paraswap as aggregator — best execution price through routing across all DEXs. API to get quote + transaction data:
const quote = await fetch( `https://api.1inch.dev/swap/v6.0/1/swap?` + `src=${tokenIn}&dst=${tokenOut}&amount=${amount}&from=${fundAddress}&slippage=0.5` ).then(r => r.json()); // Transaction via Safe SDK const safeTx = await safe.createTransaction({ to: quote.tx.to, data: quote.tx.data, value: quote.tx.value, }); TWAP execution — for large positions, to avoid moving the market. Split into N equal parts, execute at intervals. Cowswap / UniswapX for MEV protection.
Accounting and Reporting
Cost Basis Tracking
For tax reporting, the cost basis of each position must be tracked. Methods: FIFO, LIFO, HIFO, Specific Identification. Each swap, reward receipt, liquidity addition is a tax event in most jurisdictions.
Particular complexity: LP fees and staking rewards — these are usually income at the time of receipt (harvest), not capital gains. The system must distinguish these event types.
Investor Reports
- Daily NAV + change vs. benchmarks (BTC, ETH, DeFi Pulse Index)
- Monthly P&L by protocol and strategy
- Capital calls and distributions
- Auditor-ready trial balance with full on-chain proof chain
Security and Operational Procedures
Transaction simulation before each execution — Tenderly or forked mainnet. No transaction is sent without prior simulation and expected result verification.
Allowance management — approve only for a specific transaction or use increaseAllowance with minimal amounts. Regular review of existing approvals via Revoke.cash API.
Emergency procedures — documented runbook: actions for key compromise, liquidation risk, detected hack in used protocol. Safe Guard contracts for automatic pause on anomalies.
What's Included in System Development
- Audit of current business processes and architecture selection
- Smart contract development (Gnosis Safe, timelock, adapters)
- Backend for position aggregation, NAV calculation, risk management
- Frontend dashboard with real-time data
- Integration with exchanges, aggregators, DeFi protocols
- Monitoring and alert setup (Prometheus + Grafana + PagerDuty)
- Documentation, team training, and 3 months of technical support after launch
| Stage | Description | Estimated Time |
|---|---|---|
| Analytics | Interviews, process description, stack selection | 2–3 weeks |
| Design | Architecture, ERD, API specifications | 3–4 weeks |
| MVP Development | Custody + positions + NAV + dashboard | 4–6 months |
| Full System | + trading, reporting, compliance | 9–14 months |
| Testing and Deployment | Simulations, audit, deployment | 1–2 months |
Timelines vary depending on integration complexity and automation requirements. Cost is determined individually after project analysis. Typical budgets start from $150,000 for a basic system and can reach $500,000 for full automation and compliance.
We will assess your project — contact us for a consultation. We guarantee security and compliance with best practices in institutional custody. Receive a detailed commercial proposal within 2 business days.







