---
tags: 1559
---
# EIP-1559 JSON RPC Changes
The [eth1.0-apis repository](https://github.com/ethereum/eth1.0-apis) is not versioned (yet!) and hence it can be hard to track the various changes introduced by EIP-1559. Here is a list to make this easier.
## General Comments
EIP-1559 introduces a new transaction type (`0x02`) and adds a field to the block header (`baseFeePerGas`). At a high level, anything which either returns a transaction or a block will be affected post-1559.
## API Changes
The following APIs calls are changed with the introduction of EIP-1559:
* `eth_call`
* This API has the most substantial behavior modifications. They are described [here](https://github.com/ethereum/go-ethereum/pull/23027).
* `eth_getBlockBy*` endpoints
* A new field `baseFeePerGas` is added on post-London blocks
* `eth_getRawTransaction*` endpoints
* RLP encoded EIP-1559 transactions may be returned post-London
* `eth_getTransactionBy*` endpoints
* `gasPrice` now interpreted as `maxFeePerGas` before the tx is mined and `effectiveGasPrice` after it's mined (for EIP-1559 txs). This field is deprecated (no EOL set yet) for EIP-1559 transactions.
* EIP-1559 transactions will have two new fields, `maxPriorityFeePerGas` and `maxFeePerGas`
* `eth_getTransactionReceipt`
* A new field `effectiveGasPrice` is added to the receipt. Pre-London, it is equal to the transaction's `gasPrice`. Post-London, it is equal to the actual gas price paid for inclusion. This calculation differs depending if the transaction is an EIP-1559 transaction or not.
* `eth_getUncleBy*` endpoints
* A new field `baseFeePerGas` is added on post-London blocks
* `eth_sendTransaction`
* EIP-1559 transaction fields `maxPriorityFeePergas` and `maxFeePerGas` are now supported. Clients will calculate reasonable values for these fields if they're omitted. Legacy transactions can still be sent by specifying a `gasPrice`
* `eth_estimateGas`
* Either `gasPrice` or `maxFeePerGas` and `maxPriorityFeePerGas` are now required. Before, it was okay to omit `gasPrice` because it could be filled with `0`. Now the `baseFeePerGas` must be taken into account, and the fee payment must be large enough to cover the base fee.
* `eth_sendRawTransaction`
* This method now supports RLP encoded EIP-1559 transactions
Note:`*` at the end of a name refers to all variations of this API call.
Additionally, the following JSON RPC endpoint was introduced:
* `eth_feeHistory`, which returns historical data about transaction fees. More information on it can be found [here](https://github.com/zsfelfoldi/feehistory).
* Maybe mention that geth will have a breaking change for this endpoint to support hex-encoded values vs. integers? (https://github.com/ethereum/go-ethereum/pull/23239)