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