Gas Abstraction
This guide covers QoreChain's gas abstraction feature, which allows users to pay transaction fees in non-native tokens instead of QOR.
The commands below use the qorechain-diana testnet (EVM chain ID 9800). Mainnet (qorechain-vladi, EVM chain ID 9801) has been live since 7 June 2026 running chain version v3.1.85 — substitute the mainnet chain ID and endpoints from the Connecting to Mainnet page when transacting on mainnet.
Overview
Gas abstraction removes the requirement to hold QOR tokens for paying transaction fees. Users who hold accepted alternative tokens (such as IBC-transferred USDC or ATOM) can use those tokens directly as fee payment. The protocol automatically converts the fee amount to its native equivalent before processing.
Accepted Tokens
The following tokens are accepted for fee payment:
| Token | Denomination | Conversion Rate | Example Fee |
|---|---|---|---|
| QOR | uqor | 1.0 (native) | --fees 500uqor |
| USDC (via IBC) | ibc/USDC | 1.0 | --fees 500ibc/USDC |
| ATOM (via IBC) | ibc/ATOM | 10.0 | --fees 50ibc/ATOM |
Conversion rates reflect the protocol-defined exchange ratio, not market prices. A rate of 10.0 for ATOM means 1 unit of ibc/ATOM is equivalent to 10 units of uqor for fee purposes.
How It Works
QoreChain's GasAbstractionDecorator is integrated into the transaction processing pipeline. When a transaction includes fees in a non-native denomination, the following occurs:
- Fee Inspection — The decorator checks the fee denomination specified in the transaction.
- Rate Lookup — If the denomination is in the accepted tokens list, the protocol looks up the corresponding conversion rate.
- Conversion — The fee amount is converted to its native uqor equivalent using the conversion rate.
- Standard Processing — The converted fee is passed to the standard
DeductFeehandler for deduction from the sender's account. The conversion is transparent to the rest of the transaction pipeline. All downstream fee processing (distribution to validators, burning, treasury allocation, staker rewards, and light-node rewards) operates on the native uqor equivalent.
Usage Examples
Pay Fees in USDC
Send a token transfer with fees paid in USDC:
qorechaind tx bank send mykey qor1recipient... 5000000uqor \
--chain-id qorechain-diana \
--fees 500ibc/USDC
Since USDC has a 1.0 conversion rate, 500 ibc/USDC is equivalent to 500 uqor.
Pay Fees in ATOM
Send a token transfer with fees paid in ATOM:
qorechaind tx bank send mykey qor1recipient... 5000000uqor \
--chain-id qorechain-diana \
--fees 50ibc/ATOM
Since ATOM has a 10.0 conversion rate, 50 ibc/ATOM is equivalent to 500 uqor.
Querying Accepted Tokens
Retrieve the list of tokens currently accepted for gas abstraction, along with their conversion rates:
qorechaind query gasabstraction accepted-tokens
Sample output:
accepted_tokens:
- denom: uqor
conversion_rate: "1.000000000000000000"
- denom: ibc/USDC
conversion_rate: "1.000000000000000000"
- denom: ibc/ATOM
conversion_rate: "10.000000000000000000"
JSON-RPC Access
For applications integrating via JSON-RPC, query the gas abstraction configuration:
qor_getGasAbstractionConfig
Request:
{
"jsonrpc": "2.0",
"method": "qor_getGasAbstractionConfig",
"params": [],
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"accepted_tokens": [
{ "denom": "uqor", "conversion_rate": "1.0" },
{ "denom": "ibc/USDC", "conversion_rate": "1.0" },
{ "denom": "ibc/ATOM", "conversion_rate": "10.0" }
]
}
}
- Gas abstraction is ideal for users onboarding from other ecosystems who may not yet hold QOR.
- Conversion rates are set by governance and may be updated via parameter change proposals.
- If you hold multiple accepted tokens, any of them can be used for fees on any transaction type.
- The actual token specified in
--feesis deducted from your account. The conversion is only used to validate that the fee meets the minimum requirement.