Skip to main content

Gas Fees

TL;DR​

  • Gas Fee = Gas amount * Gas price
  • Gas price depends on the SOL:NEON ratio and Proxy Operator fee
  • Gas amount depends on the computational resources as per Solana's rules
  • The first transaction (i.e. requires account setup), is more expensive than subsequent transactions

Introduction​

The NEON token is used to pay the β€œgas fees” required for transaction execution. The gas fee is the amount of NEON a user pays for a transaction to execute successfully.

info

Neon EVM will soon support fee payment in the same token as the transaction token for supported tokens e.g. SOL and USDC.

Gas Fee = Gas amount * Gas price

This amount is usually displayed for users in Galans (10-9 NEON).

On a high level, gas fee payments in the Neon EVM work as follows:

  1. The User pays for each transaction in NEON tokens to the Proxy Operator.
  2. The Proxy Operator then pays the Solana Validator and the DAO Treasury.

As depicted in the diagram, users of dApps built on the Neon EVM pay for all the resources they consume plus the Operator fees (that may differ between Operators). Operators pay for the resources they consume in SOL. Specifically, Operators pay Solana validators and governance fees in SOL. Operators pay the same amount for governance as they pay to Solana validators (for the signature validation).

Gas amount​

The gas amount is the amount of computational resources, such as CPU time and storage, used to execute the transaction. The gas amount is calculated in accordance with Solana's rules (in fact, 1 gas unit = 1 Lamport) as a sum of the following amounts:

  • The computational cost

5,000 units for each transaction (Solana charges 5,000 Lamports for the signature validation for each transaction). This amount goes to Solana validator. This computational cost is doubled to give the same amount of gas fees to the DAO Treasury.

  • The storage cost

6,960 units for each newly allocated byte (Solana charges 6,960 Lamports for each byte), while re-use of existing or already-allocated storage is free.

For example, for a Neon transaction with N iterations and S newly allocated bytes, the gas amount will be:

2(computational cost) + storage cost

= 2(5,000 * N) + (6960 * S units)

Gas price​

The gas price is the cost of 1 unit of gas in NEON. This price is calculated using the price of SOL:NEON multiplied by an adjuster that is configured by the Proxy Operator:

Gas price = $SOL / $NEON(* 10-9 NEON) * (1 + PRX_OPERATOR_FEE + PRX_GAS_PRICE_SLIPPAGE)

which can also be represented as:

Gas price = SOL-to-NEON-rate in Galan * (1 + PRX_OPERATOR_FEE + PRX_GAS_PRICE_SLIPPAGE)

Examples​

The following examples of gas fee calculations on Neon are all based on these assumptions:

ComponentValueUnits/DefinitionCalculation
Sol125$
Neon1.5$
RatioSOL:NEON83.3333
Galan ratioRatio *10-90.0000000833333
Operator fee ratio2.5
Proxy Gas Price Slippage0.25
Adjustor1+fee+slippage3.75
Gas price0.0000003125NEONGas price formula
312.5Galan

Example 1: swap or transfer​

If the spend is already approved from an account that already exists, we can use the following Gas amount with the Gas price as calculated above.

The Gas amount is calculated with N=1 iterations and S=0 storage costs:

ComponentValueUnits/DefinitionCalculation
Computational cost1iterations * 50001000
Storage cost0bytes * 696034800
Gas amount54800Lamports(2*computational) + storage
Gas Fee0.002475NEONgas price * gas amount

Example 2: create a new account​

Within Solana, the rental cost for storage can be paid via one of two methods:

  1. Set it and forget it.

With this approach, accounts with two years' worth of rent deposited are exempt from network rent charges. By maintaining this minimum balance, the broader network benefits from reduced liquidity and the account holder can rest assured that their data is retained for continual access and usage.

  1. Pay per byte.

The network can charge rent on a per-epoch basis, in credit for the next epoch. This rent is deducted at a rate specified in genesis, in Lamports per Kilobyte-year.

To simplify the user experience, Neon takes option 1 and charges two years' worth of rent deposits for each new account. The gas cost of creating a new account is:

ComponentValueUnits/DefinitionCalculation
Computational cost1iterations * 50001000
Storage cost199bytes * 696034800
Gas amount1395040Lamports(2*computational) + storage
Gas Fee0.3452724NEONgas price * gas amount

Example 3: create a pool in Sobal​

ComponentValueUnits/DefinitionCalculation
Computational cost32iterations * 50001000
Storage cost10000bytes * 696034800
Gas amount69920000Lamports(2*computational) + storage
Gas Fee17.3052NEONgas price * gas amount

What next?​

If you want to get your dApp started on Neon EVM, you may be wondering how you pay for the first transactions that are required to buy the NEON required to cover gas costs. This is where our starter pack of gasless transactions comes in. Furthermore, our "coming soon" feature will allow users to pay fees in alternative tokens.

Was this page helpful?