Skip to Content
Dive DeeperIReactorFeeManager

Reactor Fee Manager

Application contracts use the Fee Manager only for read-only pricing and configuration. Obtain its address from IReactorGateway.feeManager().

interface IReactorFeeManager { function actionFeeDiscounts(string calldata action, address token) external view returns (uint256); function actionFees(string calldata destination, string calldata action, address token) external view returns (uint256); function callerFeeDiscounts(address caller, address token) external view returns (uint256); function callerFees(string calldata destination, address caller, address token) external view returns (uint256); function destinationFeeDiscounts(string calldata destination, address token) external view returns (uint256); function feeDiscounts(address token) external view returns (uint256); function feesPerByte(string calldata destination, address token) external view returns (uint256); function getSendFee(string calldata destination, string calldata action, address caller, address token, uint256 payloadSize) external view returns (uint256); function maxPayloadSize() external view returns (uint256); function paymentTokens(address token) external view returns (bool); function sendFees(string calldata destination, address token) external view returns (uint256); }

For normal sends, call getSendFee(destination, action, address(this), paymentToken, payload.length). It combines the configured base, per-byte, caller, and action fees, applies discounts, verifies the payment token, and enforces the maximum payload size.

The developer SDK omits every setter, payment-token mutation, withdrawal, and role-management function.

Last updated on