FuelLabs/fuel-core · error
The total base asset amount became too big when tried to cov
Error message
The total base asset amount became too big when tried to cover fee
What it means
While adding the coins fetched to cover the fee, their amounts are accumulated into total_base_asset with checked_add. The error fires if that running sum overflows u64 — i.e. the fee coins returned sum above u64::MAX, a defensive arithmetic guard.
Source
Thrown at crates/fuel-core/src/schema/tx/assemble_tx.rs:986
.arguments
.coins(
fee_payer_account.owner(),
base_asset_id,
how_much_to_add,
remaining_input_slots,
true,
)
.await?;
if coins.is_empty() {
return Err(anyhow::anyhow!(
"Unable to find any coins to pay for the fee"
));
}
for coin in coins.into_iter().take(remaining_input_slots as usize) {
total_base_asset = total_base_asset.checked_add(coin.amount()).ok_or(
anyhow::anyhow!(
"The total base asset amount \
became too big when tried to cover fee"
),
)?;
self.add_input_and_witness_and_change(&fee_payer_account, coin)?;
}
// In the case when predicates iterates over the inputs,
// it increases its used gas. So we need to re-estimate predicates.
self = self.estimate_predicates().await?;
}
set_max_fee(
&mut self.tx,
&self.arguments.consensus_parameters,
self.arguments.reserve_gas,
self.arguments.gas_price,
self.original_max_fee,View on GitHub (pinned to b9d4d170da)
Solutions
- On test chains, mint realistic coin amounts
- Split the operation so the fee account holds smaller coins
- Report upstream as an invariant breach if amounts look sane
Defensive patterns
Strategy: try-catch
Try / catch
catch (e) { if (/became too big when tried to cover fee/.test(e.message)) { /* split tx / mint realistic amounts on dev chains */ } else throw e; } Prevention
- Keep individual coin amounts far below u64::MAX on custom chains
- Treat occurrence as an invariant breach and report upstream
When it happens
Trigger: The coin selection for fee coverage returns coins whose total exceeds u64::MAX; only reachable on chains minting near-maximum coin amounts.
Common situations: Test/dev chains with gigantic minted values; practically unreachable with production tokenomics.
Related errors
- The total base asset amount used by the transaction is too b
- estimated predicates count overflow
- dry run count overflow
- The final fee is too big to fit into `u64`
- The fee address index is out of bounds
AI-assisted analysis of FuelLabs/fuel-core@b9d4d170da (2026-08-16).
Data as JSON: /api/errors/7d949ca7dc08e45b.
Report an issue: GitHub.