What would be solidity's block.coinbase usage (and what does it refer to) after Ethereum's transition to proof of stake? (formerly known as eth 2.0)

2 Answers 2


Post PoS, the execution client (i.e geth) needs a consensus client to run (ex, LightHouse) and they both communicate via the Engine API using a local RPC connection. More details here.

Coming to the question, the consensus client sends a payload parameter to the execution client which contains the suggestedFeeRecipient parameter, potentially set to the validator's address. The execution client can choose to use this address if it's a honest client or use a different address when it builds the ExecutionPayload parameter. The ExecutionPayload object will have the traditional block parameters available to use in EVM, contract execution.

More on Engine API : Engine API

More on Consensus client passing the payload : Payload

More on Execution client building the ExecutionPayload : ExecutionPayload


block.coinbase would have the same usage as it did in PoW, and it still refers to the address that receives the rewards and fees for producing the block.

@Pranay explains how it gets set.

  • Am I right in thinking that this has nothing to do with "coinbase dot com" Sep 16, 2022 at 8:10
  • @PaulaLivingstone The term "coinbase" didn't derive from "coinbase dot com" and it's the other way around: according to Wikipedia, "The company is named after coinbase transactions, which are special transactions that introduce cryptocurrency into circulation in proof of work cryptocurrencies."
    – eth
    Sep 19, 2022 at 15:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.