Skip to main content
Dynamic Fee Sharing lets a project configure a token fee vault, fund fees into it, and let configured shareholders claim their share over time. To learn more about product behavior, design considerations, compatibility, and formulas, you can read the following documentations.

Learn more about Dynamic Fee Sharing

Product overview for fee vaults, fee sharing flows, and high-level integration behavior.

Dynamic Fee Sharing Formulas

Formula references for fee allocation, user shares, and claim accounting.

Integration

Program Accounts

Fee vault state, token vault PDA, fee vault authority PDA, constants, and token support.

Program Instructions

Initialization, direct funding, source-program funding, and fee claim instruction details.

Program Events

Anchor event-CPI payloads for vault initialization, funding, and user claims.

Program Errors

Anchor custom error codes, enum names, messages, and common integration causes.

TypeScript SDK

TypeScript SDK for creating vaults, funding them, reading state, and claiming user fees.

Rust CPI

Anchor CPI integration with the dynamic-fee-sharing program crate.

Program IDs

The dynamic_fee_sharing program ID is the same on mainnet and devnet: The program-wide fee vault authority PDA is:

Fee Vault Types

Both vault types share the same FeeVault state layout and support direct funding plus user claims. Only PDA fee vaults support fund_by_claiming_fee, because the vault PDA signs the downstream whitelisted claim or withdrawal instruction.

Source Repositories

Dynamic Fee Sharing Program

Anchor program source for dynamic_fee_sharing.

Dynamic Fee Sharing IDL

Published IDL used by the TypeScript SDK.

TypeScript SDK

SDK for transaction builders, state reads, PDA helpers, and example scripts.

Commands

Stay Updated

Dynamic Fee Sharing Changelog

Program and SDK changes for integration planning.