Skip to main content

Gas and Transaction Fees

What a transaction costs on XPHERE, measured on Mainnet rather than estimated.

For where those fees go once paid — the burn, Union, miner, and Foundation split — see Tokenomics.

Gas price​

XPHERE uses a bounded gas price. The network sets the price; a transaction pays it. You cannot bid above the ceiling to jump the queue, and a transaction offering less than the floor is rejected.

ValueHow to read it
Floor25 gweixp_lowerBoundGasPrice — the price never drops below this
Current27.5 gweieth_gasPrice / xp_gasPrice — what to use right now
Ceiling750 gweixp_upperBoundGasPrice — the price never rises above this
curl -s -X POST https://rpc.x-phere.com \
-H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":1}'

Always read eth_gasPrice before sending rather than hardcoding a number. The values above were read on 2026-08-09 and the current price moves within the bounds.

Legacy pricing, not a priority auction

Blocks carry a baseFeePerGas, but transactions on Mainnet are sent with a plain gasPrice. There is no priority fee to tune: xp_maxPriorityFeePerGas returns 0. Wallets and libraries that default to EIP-1559 style maxFeePerGas should be configured to send legacy transactions.

What operations cost​

Measured from real Mainnet transactions. Gas used is a property of the operation and does not change; the fee moves with the gas price.

OperationGas usedFee @ 25 gweiFee @ 27.5 gwei
Native XP transfer21,0000.000525 XP0.000578 XP
ERC-20 approve52,8980.001322 XP0.001455 XP
ERC-20 transfer58,5500.001464 XP0.001610 XP
Contract deployment — small279,0460.006976 XP0.007674 XP
Contract deployment — ERC-201,078,6720.026967 XP0.029663 XP

Deployment cost scales with bytecode size, so treat the two deployment rows as a range rather than a fixed price. An unoptimised contract with many external functions costs more than the ERC-20 figure above.

What this means in practice​

Deploying an ERC-20 token and exercising it — deploy, approve, transfer — costs well under 0.05 XP in total. A wallet doing ordinary transfers spends fractions of a thousandth of an XP per transaction.

Estimating before you send​

eth_estimateGas runs the transaction against current state and returns the gas it would use.

curl -s -X POST https://rpc.x-phere.com \
-H "Content-Type: application/json" \
--data '{
"jsonrpc":"2.0",
"method":"eth_estimateGas",
"params":[{
"from":"0x0000000000000000000000000000000000000000",
"to":"0x0000000000000000000000000000000000000000",
"value":"0x1"
}],
"id":1
}'
# → {"jsonrpc":"2.0","id":1,"result":"0x5208"} // 21000

The estimate reflects state at the time of the call. A transaction whose cost depends on storage that another transaction changes first can use more gas than estimated, so leave headroom on the gas limit for anything beyond a plain transfer.

Unused gas is refunded. Setting a gas limit above what the transaction consumes costs nothing extra; setting it too low wastes the whole fee on a failed transaction.

Block gas limit​

Blocks report a gas limit of 999,999,999,999, which is not a practical constraint — a single block can hold far more than any current workload produces. Transaction size, not block capacity, is what limits what you can do in one transaction.

Testnet​

Testnet uses the same mechanics with XPT instead of XP. Fund an address from the Faucet — 10 XPT per address per 24 hours, which covers thousands of transfers or several hundred contract deployments.

Develop against Testnet. There is no reason to spend Mainnet XP proving that a deployment script works.

See Also​