Futarchy Authority
TheFutarchyAuthority account controls protocol governance, fee collection, and revenue distribution.
Account Structure
Fields
Authority version. Currently 1.
The authority that controls this account.
Addresses for revenue distribution recipients.
Protocol revenue share percentages for swap and interest fees.
Distribution percentages for each recipient. Must sum to 10000 (100%).
PDA bump seed.
Revenue Share
Therevenue_share determines what portion of fees go to the protocol:
swap_bps: Percentage of swap fees that go to protocol (rest goes to LPs)interest_bps: Percentage of interest that goes to protocol (rest goes to LPs)
Revenue Distribution
Therevenue_distribution determines how protocol revenue is split:
futarchy_treasury_bps: Percentage to futarchy treasurybuybacks_vault_bps: Percentage to buybacks vaultteam_treasury_bps: Percentage to team treasury
Fee Flow from Pairs
Protocol revenue accumulates in pair vaults as a surplus — the difference between actual vault balances and accounted cash reserves:Fee Sources
| Source | How It Accumulates |
|---|---|
| Swap Fees | Futarchy portion of swap fee is transferred immediately to authority token accounts |
| Interest Fees | Reduces cash_reserve during interest accrual, creating surplus in vault |
Claiming Protocol Fees
Theclaim_protocol_fees instruction distributes accumulated surplus from a pair’s vaults:
-
Calculate claimable amount per token:
-
Distribute to recipients based on
revenue_distribution:buybacks_vault:claimable × buybacks_vault_bps / 10000team_treasury:claimable × team_treasury_bps / 10000futarchy_treasury: Remainder (handles rounding dust)
- Transfer tokens directly from pair vaults to recipient token accounts
The claim process does not modify the pair’s
cash_reserve or reserve values — it only transfers the surplus tokens that were never accounted as cash.PDA Derivation
The futarchy authority account is a PDA derived from:FUTARCHY_AUTHORITY_SEED_PREFIX = b"futarchy_authority".