6. Economic Model6.5 Developer Grants (15%)

6.5. 15% Developer Grants

The Developer Grants allocation represents the protocol’s commitment to sustainable, community-driven innovation. Receiving 15% of the net fee distribution (equivalent to 0.045% of the winning bid), this fund is exclusively dedicated to rewarding external contributors who propose, implement, or validate improvements to the Fhenix-FairMarket ecosystem.

By decentralizing development incentives beyond the core team, the protocol ensures long-term resilience, cryptographic advancement, and adaptive evolution in response to emerging threats or opportunities in the sealed-bid auction domain.

Core Allocation Mechanics

ParameterSpecification
Funding SourceNet Fee Distribution (15% of the 0.3% remainder after Keeper Bounty).
Allocation Rate15% of Net Fee (equivalent to 0.045% of the winning bid).
Distribution TriggerAtomic split executed during the submitResolution() or settlement phase.
Access ControlGovernance-Approved Proposals + Multisig Execution (5-of-9) + Timelock (48h).
Usage PolicyStrictly limited to: (1) Protocol code contributions, (2) Academic research on FHE/CoFHE, (3) Security audits or tooling improvements, (4) Educational content and developer onboarding.

Economic Flow Example

For an auction with a winning bid of 100 ETH:

  1. Success Fee (0.5%): 0.5 ETH collected.
  2. Keeper Bounty (0.2%): 0.2 ETH paid to the executor.
  3. Net Fee: 0.3 ETH remains for distribution.
  4. Developer Grants (15% of Net): Receives 0.045 ETH. (The remaining 0.255 ETH is split among Treasury, Insurance, and Bug Bounty).

️ Technical Implementation

1. Deterministic Routing (GrantsRouter.sol)

The Grants allocation is mathematically enforced at the smart contract level, ensuring no discretionary overrides.

// Conceptual Grants Routing Logic
function _allocateNetFees(uint256 netFeeAmount) internal {
 require(netFeeAmount > 0, "No fees to allocate");
 
 // Grants Fund receives 15%
 // Calculation: (netFee * 15) / 100
 uint256 grantsShare = (netFeeAmount * 15) / 100;
 
 // Route to Grants Vault (Governance Controlled)
 grantsVault.deposit(grantsShare);
 
 emit GrantsAllocation(grantsShare, block.timestamp);
}

2. Governance-Gated Disbursement (GrantsGovernance.sol)

Funds are not distributed automatically. Each grant requires a formal proposal, community review, and multisig execution.

// Pseudo-code: Grants Proposal & Execution Flow
struct GrantProposal {
 address recipient;
 uint256 amount;
 string description; // IPFS hash of detailed proposal
 uint256 submittedAt;
 bool executed;
 mapping(address => bool) hasVoted;
}
 
function submitGrantProposal(
 address recipient,
 uint256 amount,
 string calldata descriptionIpfsHash
) external onlyGovernanceMember {
 require(amount <= grantsVault.balance(), "Insufficient grants balance");
 
 uint256 proposalId = proposals.length;
 proposals.push(GrantProposal({
 recipient: recipient,
 amount: amount,
 description: descriptionIpfsHash,
 submittedAt: block.timestamp,
 executed: false
 }));
 
 emit GrantProposalSubmitted(proposalId, recipient, amount);
}
 
function executeGrant(uint256 proposalId) external onlyGovernance {
 GrantProposal storage proposal = proposals[proposalId];
 require(!proposal.executed, "Already executed");
 require(block.timestamp >= proposal.submittedAt + 48 hours, "Timelock not expired");
 
 proposal.executed = true;
 (bool success, ) = proposal.recipient.call{value: proposal.amount}("");
 require(success, "Grant transfer failed");
 
 emit GrantExecuted(proposalId, proposal.recipient, proposal.amount);
}

3. Transparency & Accountability Measures

Every grant allocation is publicly auditable via on-chain events and off-chain documentation:

event GrantProposalSubmitted(uint256 indexed proposalId, address indexed recipient, uint256 amount);
event GrantExecuted(uint256 indexed proposalId, address indexed recipient, uint256 amount);
event GrantRejected(uint256 indexed proposalId, string reason);

Grants Lifecycle & Governance Flow

Eligibility & Evaluation Criteria

Grants are awarded based on verifiable impact and alignment with protocol goals:

CategoryDescriptionExample Projects
Core Protocol DevelopmentDirect contributions to FhenixFairMarket.sol, CofheAdapter.sol, or settlement logic.Optimizing FHE.lte gas usage, implementing Vickrey pricing enhancements.
Security & AuditingIndependent security reviews, formal verification, or tooling for FHE vulnerability detection.Slither custom detectors for FHE patterns, Mythril rule extensions.
Academic ResearchPeer-reviewed papers advancing FHE/CoFHE theory or auction mechanism design.”Constant-Time FHE Sorting for Sealed-Bid Auctions” (arXiv/IEEE submission).
Developer ToolingSDKs, CLI tools, or documentation that lowers the barrier to protocol integration.@fhenix-fairmarket/js SDK, Hardhat plugin enhancements.
Education & OnboardingTutorials, workshops, or translated documentation expanding global accessibility.Arabic/Chinese technical guides, video walkthroughs for ERC-4337 session keys.

Evaluation Framework

  1. Proposal Submission: Detailed scope, timeline, deliverables, and budget submitted via GitHub Discussions or dedicated portal.
  2. Community Review: 7-day public comment period for feedback and refinement.
  3. Governance Vote: Multisig council (5-of-9) evaluates technical merit, budget reasonableness, and alignment with roadmap.
  4. Milestone-Based Disbursement: Large grants (>5 ETH) are split into tranches tied to verifiable deliverables.
  5. Post-Grant Reporting: Recipients publish a summary of outcomes, code repositories, or research outputs for public audit.

️ Security & Integrity Guarantees

  1. No Discretionary Overrides: The 15% allocation is hardcoded. Even the Multisig cannot unilaterally redirect grants to non-approved recipients without a governance proposal and timelock.
  2. Multisig Redundancy: The 9-member council includes diverse stakeholders (Core Devs, Security Auditors, Community Reps, Academic Advisors). A 5-of-9 threshold ensures no single entity can approve grants unilaterally.
  3. Event Transparency: Every proposal submission, approval, execution, or rejection emits an indexed event, enabling real-time tracking by the community and DAO dashboards.
  4. Milestone Verification: Large grants require cryptographic proof of deliverable completion (e.g., merged PR, published paper, deployed tool) before subsequent tranches are released.
  5. Anti-Sybil Measures: Recipient addresses are screened for prior malicious activity; grants to newly created wallets require additional identity verification via Gitcoin Passport or similar.

Audit Gate Compliance (P1 - Pre-Mainnet)

Progression to Mainnet deployment requires the Grants module to pass the following verification gates:

  • [] Deterministic Math Verification: Unit tests confirm the calculation (netFee * 15) / 100 is precise and handles dust correctly.
  • [] Governance Ownership: owner() of the Grants Vault points to the Governance contract, not an EOA or single multisig.
  • [] Timelock Active: Grant execution functions revert if called directly without a queued proposal and 48h delay.
  • [] No Admin Drain: Static analysis (Slither) confirms no function allows a single address to sweep the Grants balance.
  • [] Event Emission: GrantProposalSubmitted, GrantExecuted, and GrantRejected events are triggered and indexed.
  • [] Milestone Logic Tested: Unit tests verify that tranche-based grants require proof-of-deliverable before release.

Unresolved Points & Explicit Gaps

Gap / Unresolved PointImpactCurrent StatusRecommended Action
Initial Grants BootstrappingHow is the Grants Fund seeded before auction fees accumulate?Not explicitly detailed in current P0/P1 matrices.Allocate a one-time treasury seed (e.g., 2-5 ETH) or partner with ecosystem funds (e.g., Fhenix Foundation) for initial grants.
Grant Evaluation MetricsWhat quantitative KPIs determine “verifiable impact” for research or tooling grants?Docs mention “impact” but lack specific scoring rubric.Develop a weighted scoring matrix (Technical Merit 40%, Community Benefit 30%, Feasibility 30%) documented in governance/grants-policy.md.
Cross-Chain Grant PortabilityIf protocol expands to multiple L2s, can grants fund cross-chain tooling?No architectural provision for multi-chain grant coordination.Design a cross-chain messaging layer (e.g., LayerZero) or unified grants DAO in v2.1 for ecosystem-wide funding.
Governance Vote Threshold for GrantsWhat quorum is required to approve a grant proposal?Docs mention “multisig vote” but lack specific threshold for grants vs. treasury spends.Define explicit threshold (e.g., 6/9 for grants >10 ETH, 5/9 for smaller grants) in governance contract and document in security-model.md.

Fact vs. Analysis Distinction: The 15% allocation rate, governance-gated disbursement, and multisig access controls are verified facts from the official Whitepaper and Technical Specification. The bootstrapping strategy, evaluation metrics, and cross-chain portability are unresolved architectural gaps that require explicit definition before Mainnet deployment.


Next Steps