Fee Structure
We wanted fees to feel familiar to Ethereum developers while supporting the new workloads that an AI-native chain introduces. Citrate's fee structure extends the familiar base fee plus priority tip model with additional fee types for AI inference and bridge operations. Every fee on the network is denominated in SALT, and a portion of all fees is burned to create deflationary pressure on token supply.
Transaction Fees
Standard transaction fees on Citrate follow the EIP-1559 model used by Ethereum. Each transaction pays a base fee (determined by network congestion) plus an optional priority tip (to incentivize faster inclusion by miners).
Total Fee = (Base Fee + Priority Tip) x Gas Used
The base fee adjusts dynamically based on block utilization:
- If the previous block was more than 50% full, the base fee increases by up to 12.5%
- If the previous block was less than 50% full, the base fee decreases by up to 12.5%
- The minimum base fee is 1 gwei (0.000000001 SALT)
# Check current base fee
cast basefee --rpc-url https://rpc.cnidarian.cloud
# Estimate gas for a transaction
cast estimate 0xTARGET_ADDRESS "transfer(address,uint256)" 0xRECIPIENT 1000000000000000000 --rpc-url https://rpc.cnidarian.cloud
Because Citrate uses GhostDAG with parallel block production, effective throughput is much higher than a single-chain blockchain. This means base fees tend to be lower than on Ethereum for equivalent demand levels, as congestion is distributed across parallel blocks.
AI Inference Fees
Inference fees are paid when a smart contract or user requests AI model execution through the InferenceEngine precompile. These fees are separate from gas fees and are priced by model operators.
The total inference fee has three components:
| Component | Description | Typical Range |
|---|---|---|
| Model fee | Set by the model operator, reflects compute cost | 0.001 - 1.0 SALT |
| Network fee | Protocol fee for routing and settlement | 15% of model fee |
| Verification fee | Additional cost for higher verification tiers | 0 - 0.5 SALT |
Verification tier surcharges:
| Tier | Surcharge | Why |
|---|---|---|
| Signature | 0 SALT | Minimal overhead (operator signature only) |
| Optimistic | 0.005 SALT | Covers potential dispute resolution costs |
| ZK-SNARK | 0.05 - 0.5 SALT | Covers proof generation compute costs |
// Estimate inference cost before submitting
function estimateCost(bytes32 modelId) public view returns (uint256) {
(, , , uint256 price, ,) = IModelRegistry(address(0x0100)).getModel(modelId);
uint256 networkFee = price * 15 / 100;
return price + networkFee;
}
Bridge Fees
Cross-chain bridge operations incur fees that compensate oracle nodes for their attestation work and cover the gas costs on destination chains.
| Operation | Fee | Breakdown |
|---|---|---|
| Deposit (external chain to Citrate) | 0.1% of value | 70% to oracles, 20% to treasury, 10% to LPs |
| Withdrawal (Citrate to external chain) | 0.1% of value + destination gas | Same split plus destination chain gas |
| Fast withdrawal (skip confirmation wait) | 0.3% of value | Premium for immediate processing |
Bridge fees are deducted from the transferred amount. For example, bridging 1000 USDC to Citrate costs 1 USDC in bridge fees, and the user receives 999 USDC worth of wrapped tokens.
# Estimate bridge fee
citrate-cli bridge estimate --from-chain ethereum --to-chain citrate --amount 1000 --token USDC --rpc https://rpc.cnidarian.cloud
Fee Burn Mechanism
Citrate burns a portion of all fees, permanently removing SALT from the circulating supply. This creates a deflationary force that intensifies as network usage grows.
| Fee Type | Burn Rate | Recipient of Remainder |
|---|---|---|
| Transaction base fee | 50% burned | 50% to block producer |
| Transaction priority tip | 0% burned | 100% to block producer |
| Inference model fee | 15% burned | 80% to operator, 5% to verifier |
| Inference network fee | 100% burned | -- |
| Bridge fee | 10% burned | Distributed to oracles, treasury, LPs |
The burn mechanism means that periods of high network activity directly reduce token supply. During peak usage, the daily burn rate can exceed the daily emission from mining, creating net deflationary periods.
# Check cumulative burn statistics
citrate-cli tokenomics burn-stats --rpc https://rpc.cnidarian.cloud
Example output:
Total burned: 12,345,678 SALT
24h burn rate: 15,234 SALT
24h emission rate: 12,500 SALT
Net 24h supply change: -2,734 SALT (deflationary)
Gas Costs for AI Operations
AI precompile operations have specific gas costs that differ from standard EVM opcodes:
| Operation | Gas Cost | Notes |
|---|---|---|
| ModelRegistry.register | 42,000 + storage | One-time registration cost |
| ModelRegistry.getModel | 2,100 | Equivalent to cold SLOAD |
| InferenceEngine.requestInference | 21,000 base | Plus model-specific compute fee |
| InferenceEngine.fulfillInference | 15,000 + calldata | Paid by the network, not the requester |
| AdapterManager.createAdapter | 32,000 + weights | Depends on adapter size |
| TokenScorer.scoreAddress | 5,000 | Lightweight on-chain scoring |
| ContextBridge.storeContext | 20,000 + storage | Depends on context size |
| AttestationVerifier.verify | 15,000 | Single attestation verification |
Further Reading
- SALT Overview -- token fundamentals and utility
- Supply Schedule -- emission and burn interaction
- Staking -- how staking rewards are funded
- Verifiable Inference -- verification tier details