eth_getCode - zkSync RPC Method
Get contract bytecode on zkSync Era. Essential for verifying smart contracts for RWA tokenization ($1.9B, 25% market share), hyperchain deployment via ZK Stack, and cross-chain DeFi.
Returns the bytecode at a given address on zkSync Era.
Why zkSync? Build on Matter Labs' flagship zkEVM powering the Elastic Network of interoperable hyperchains with ZK Stack modular framework, hyperchain interoperability, native account abstraction, and $1.9B in tokenized real-world assets.
Use Cases
The eth_getCode method is essential for:
- Contract verification - Check if address is a contract
- Security analysis - Verify deployed bytecode matches expected
- DeFi integrations - Validate contracts before interactions
- Protocol analysis - Analyze contract deployments for RWA tokenization ($1.9B, 25% market share), hyperchain deployment via ZK Stack, and cross-chain DeFi
Request Parameters
20-byte address
Block number or tag
Response Body
Contract bytecode or 0x if EOA
Code Examples
curl -X POST https://api-zksync-era-mainnet-full.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_getCode",
"params": [
"0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91",
"latest"
],
"id": 1
}'import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider('https://api-zksync-era-mainnet-full.n.dwellir.com/YOUR_API_KEY');
const address = '0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91';
const code = await provider.getCode(address);
if (code === '0x') {
console.log('Address is an EOA (externally owned account)');
} else {
console.log('Address is a contract');
console.log('Bytecode length:', code.length);
}
// Check if address is a contract
async function isContract(address) {
const code = await provider.getCode(address);
return code !== '0x';
}from web3 import Web3
w3 = Web3(Web3.HTTPProvider('https://api-zksync-era-mainnet-full.n.dwellir.com/YOUR_API_KEY'))
address = '0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91'
code = w3.eth.get_code(address)
if code == b'':
print('Address is an EOA')
else:
print('Address is a contract')
print(f'Bytecode length: {len(code.hex())}')
# Check if address is a contract
def is_contract(address):
code = w3.eth.get_code(address)
return code != b''package main
import (
"context"
"fmt"
"log"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/ethclient"
)
func main() {
client, err := ethclient.Dial("https://api-zksync-era-mainnet-full.n.dwellir.com/YOUR_API_KEY")
if err != nil {
log.Fatal(err)
}
address := common.HexToAddress("0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91")
code, err := client.CodeAt(context.Background(), address, nil)
if err != nil {
log.Fatal(err)
}
if len(code) == 0 {
fmt.Println("Address is an EOA")
} else {
fmt.Printf("Contract bytecode length: %d\n", len(code))
}
}Related Methods
eth_getBalance- Get account balanceeth_getStorageAt- Get contract storage
eth_getBalance
Query account balance on zkSync Era. Essential for wallet applications and RWA tokenization ($1.9B, 25% market share), hyperchain deployment via ZK Stack, and cross-chain DeFi on Matter Labs' flagship zkEVM powering the Elastic Network of interoperable hyperchains.
eth_getStorageAt
Read contract storage on zkSync Era. Essential for analyzing contract state for RWA tokenization ($1.9B, 25% market share), hyperchain deployment via ZK Stack, and cross-chain DeFi.