eth_coinbase - Mantle RPC Method
Check the legacy eth_coinbase compatibility method on Mantle. Public endpoints may return an address, `unimplemented`, or another unsupported-method response depending on the client.
Checks the legacy eth_coinbase compatibility method on Mantle. Public endpoints may return an address, unimplemented, or another unsupported-method response depending on the client behind the endpoint.
Why Mantle? Build on the world's largest ZK rollup by TVL with $2.5B+ secured and deep Bybit integration with near-instant ZK finality via OP Succinct, $6.2B treasury backing, mETH liquid staking, and 25% Bybit trading fee discounts.
Note: Treat
eth_coinbaseas a legacy compatibility probe. On shared infrastructure, this method may returnunimplementedor another unsupported-method error, so it is not a dependable production signal.
When to Use This Method
eth_coinbase is relevant for DeFi developers, liquid staking builders, and teams seeking institutional exchange integration when you need to:
- Check client compatibility — Confirm whether the connected client still exposes
eth_coinbase - Audit migration assumptions — Remove Ethereum-era assumptions that every endpoint reports an etherbase address
- Harden integrations — Fall back to supported identity or chain-status methods when
eth_coinbaseis unavailable
Request Parameters
This method accepts no parameters.
Response Body
The reported compatibility address when the client exposes eth_coinbase
Code Examples
curl -X POST https://api-mantle-mainnet.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_coinbase",
"params": [],
"id": 1
}'Common Use Cases
1. Validator Configuration Verification
Verify that a node's coinbase matches the expected reward address:
async function verifyCoinbase(provider, expectedAddress) {
try {
const coinbase = await provider.send('eth_coinbase', []);
if (coinbase.toLowerCase() === expectedAddress.toLowerCase()) {
console.log('Coinbase address verified');
return true;
} else {
console.warn(`Coinbase mismatch: expected ${expectedAddress}, got ${coinbase}`);
return false;
}
} catch {
console.error('Could not retrieve coinbase — may not be configured');
return false;
}
}2. Block Producer Identification
Identify the coinbase address alongside block production details:
async function getProducerInfo(provider) {
const [coinbase, mining, hashrate] = await Promise.allSettled([
provider.send('eth_coinbase', []),
provider.send('eth_mining', []),
provider.send('eth_hashrate', [])
]);
return {
coinbase: coinbase.status === 'fulfilled' ? coinbase.value : 'not configured',
isMining: mining.status === 'fulfilled' ? mining.value : false,
hashrate: hashrate.status === 'fulfilled' ? parseInt(hashrate.value, 16) : 0
};
}3. Multi-Node Coinbase Audit
Audit coinbase addresses across a fleet of Mantle nodes:
async function auditCoinbases(endpoints) {
const results = await Promise.all(
endpoints.map(async (endpoint) => {
const provider = new JsonRpcProvider(endpoint);
try {
const coinbase = await provider.send('eth_coinbase', []);
return { endpoint, coinbase, configured: true };
} catch {
return { endpoint, coinbase: null, configured: false };
}
})
);
const unique = new Set(results.filter(r => r.configured).map(r => r.coinbase));
console.log(`Found ${unique.size} unique coinbase address(es) across ${endpoints.length} nodes`);
return results;
}Error Handling
Common errors and solutions:
| Error Code | Description | Solution |
|---|---|---|
| -32000 | Etherbase must be explicitly specified | Node has no coinbase configured — set via client CLI flag |
| -32601 | Method not found | Node client may not support this method |
| -32603 | Internal error | Node may be initializing — retry after delay |
| -32005 | Rate limit exceeded | Reduce request frequency |
Related Methods
eth_mining— Check if the node is actively miningeth_hashrate— Get the mining hash rateeth_accounts— List all accounts managed by the node
eth_hashrate
Get the legacy eth_hashrate compatibility value on Mantle. Public endpoints may return `0x0` or an unsupported-method error depending on the client.
eth_estimateL1Fee - Estimate L1 data posting fee
Estimate L1 data posting fee on Mantle Network. Essential for understanding transaction costs on the modular L2 rollup.