Skip to main content

Configurable Parameters Registry

All parameters are stored in the database (CorridorRegistry) and adjustable by admin/governance. No values are hardcoded in the fee distribution logic.

1. Revenue Split Parameters

ParameterTypeDefaultDescription
KF_SHARE_PCTuint850%Protocol Treasury share of swap profit
TXN_LP_SHARE_PCTuint830%Transaction LP share of swap profit
GLOBAL_LP_SHARE_PCTuint820%Global LP share of swap profit
warning

KF_SHARE_PCT + TXN_LP_SHARE_PCT + GLOBAL_LP_SHARE_PCT must always equal 100%. The ProtocolConfig contract enforces this invariant on any parameter update.

2. Volume-Tiered Fee Parameters

Fee parameters are no longer global flat values. They are configured per corridor, per transaction size band in the fee_tiers table. See Volume-Tiered Fee Schedule for the full tier tables.

ParameterScopeDescription
fixed_fee_in_to_tokenPer corridor, per tierFixed fee denominated in destination currency. Converted to source currency at oracle rate and deducted from input.
variable_fee_bipsPer corridor, per tierVariable fee as basis points of source amount. Decreases with transaction size.
spread_override_bpsPer corridor, per tierOverrides only the Base Spread component. 0 = use corridor default. Volatility + Liquidity + Skew still add on top.
min_amountPer corridor, per tierMinimum transaction size for this tier (inclusive, in source currency). Smallest tier's min_amount defines the corridor minimum.
max_amountPer corridor, per tierMaximum transaction size for this tier (exclusive). 0 = unlimited (highest tier).

Fallback Fees (corridors without tiers)

For corridors that have not been configured with fee tiers, the system falls back to global flat fees:

ParameterTypeDefaultDescription
fee_tier_fallback_fixeduint256$1.00 (18 decimals)Fallback fixed fee if no tier configured
fee_tier_fallback_variable_bipsuint1630 bipsFallback variable fee if no tier configured
OFFRAMP_FEE_BIPSuint1620 bipsFee charged on kUSD withdrawal via OffRamp (not tiered)

3. LP Class Parameters

ParameterTypeDefaultDescription
ClassA_fee_tier_multiplieruint16per partnerMultiplier on Class A LP effective weight. Set per partner at onboarding.
ClassB_Reserve_Yield_Ratiouint8/uint850/50Split ratio for Class B deposits between Reserve and Yield pools
GLOBAL_HARVEST_INTERVALuint3224hFrequency of Global Fee Pool harvest events

4. Per-Partner Fee Tier Examples

LP Reward Multipliers (how LP rewards are shared)

PartnerClassTierMultiplierRationale
IDRX IssuerAStrategic0.3×Low rate; value is deep IDR liquidity, not yield
MYRC IssuerAStrategic0.4×MYR-IDR cross corridor value
Institutional FundAPremium0.8×Large USDT deposit; no yield exposure
Retail LPsBStandard1.0×Default rate for full participation
DeFi Yield FundBStandard1.0×Full participation with yield exposure

Partner Swap Fee Overrides (what the user pays per swap)

Partners can receive custom swap fees via partner_fee_tier_overrides. These override the standard tier rates for specific corridors:

PartnerCorridorTiers AffectedCustom VariableCustom SpreadRationale
IDRX IssuerUSD-IDRAll1 bip5 bpsAnchor liquidity provider
Enterprise PSPUSD-IDRMedium+1 bip10 bpsHigh-volume remittance operator
Strategic BankUSD-SGDAll0 bips3 bpsSGD corridor anchor
Two Separate Concepts

LP reward multiplier (ClassA_fee_tier_multiplier) controls how rewards are distributed among LPs — it does not affect what the user pays.

Partner swap fee override (partner_fee_tier_overrides) controls the actual swap fees the user pays — fixed fee, variable fee, and spread.

A partner can have both: a low LP multiplier (earning less from the reward pool) AND a low swap fee override (paying less per swap). These are independently configurable.