> ## Documentation Index
> Fetch the complete documentation index at: https://base-a060aa97-docs-use-case-ia-overhaul.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Standard RPC Methods

> Standard Ethereum RPC methods supported by Base Account

Base Account supports all standard Ethereum RPC methods, ensuring compatibility with existing web3 applications and libraries. Each method below links to detailed documentation including parameters, returns, and error handling.

## Account Methods

### [eth\_accounts](/sdks/base-account/reference/core/provider-rpc-methods/eth_accounts)

Returns a list of addresses owned by the client.

### [eth\_requestAccounts](/sdks/base-account/reference/core/provider-rpc-methods/eth_requestAccounts)

Requests that the user provide an Ethereum address to be identified by. This method is used to initiate a connection between your application and the user's wallet.

## Chain Information

### [eth\_chainId](/sdks/base-account/reference/core/provider-rpc-methods/eth_chainId)

Returns the chain ID of the current network.

### [eth\_blockNumber](/sdks/base-account/reference/core/provider-rpc-methods/eth_blockNumber)

Returns the number of the most recent block.

### [eth\_coinbase](/sdks/base-account/reference/core/provider-rpc-methods/eth_coinbase)

Returns the client coinbase address.

## Balance and Transaction Data

### [eth\_getBalance](/sdks/base-account/reference/core/provider-rpc-methods/eth_getBalance)

Returns the balance of the account of given address.

### [eth\_getTransactionCount](/sdks/base-account/reference/core/provider-rpc-methods/eth_getTransactionCount)

Returns the number of transactions sent from an address.

### [eth\_getTransactionByHash](/sdks/base-account/reference/core/provider-rpc-methods/eth_getTransactionByHash)

Returns information about a transaction by transaction hash.

### [eth\_getTransactionReceipt](/sdks/base-account/reference/core/provider-rpc-methods/eth_getTransactionReceipt)

Returns the receipt of a transaction by transaction hash.

## Block Information

### [eth\_getBlockByNumber](/sdks/base-account/reference/core/provider-rpc-methods/eth_getBlockByNumber)

Returns information about a block by block number.

### [eth\_getBlockByHash](/sdks/base-account/reference/core/provider-rpc-methods/eth_getBlockByHash)

Returns information about a block by block hash.

### [eth\_getBlockTransactionCountByNumber](/sdks/base-account/reference/core/provider-rpc-methods/eth_getBlockTransactionCountByNumber)

Returns the number of transactions in a block by block number.

### [eth\_getBlockTransactionCountByHash](/sdks/base-account/reference/core/provider-rpc-methods/eth_getBlockTransactionCountByHash)

Returns the number of transactions in a block by block hash.

## Transaction Methods

### [eth\_sendTransaction](/sdks/base-account/reference/core/provider-rpc-methods/eth_sendTransaction)

Creates new message call transaction or a contract creation for signed transactions.

### [eth\_sendRawTransaction](/sdks/base-account/reference/core/provider-rpc-methods/eth_sendRawTransaction)

Creates new message call transaction or a contract creation for signed transactions.

## Gas and Fee Methods

### [eth\_estimateGas](/sdks/base-account/reference/core/provider-rpc-methods/eth_estimateGas)

Generates and returns an estimate of how much gas is necessary to allow the transaction to complete.

### [eth\_gasPrice](/sdks/base-account/reference/core/provider-rpc-methods/eth_gasPrice)

Returns the current price per gas in wei.

### [eth\_feeHistory](/sdks/base-account/reference/core/provider-rpc-methods/eth_feeHistory)

Returns base fee per gas and transaction effective priority fee per gas history for the requested/supported block range.

## Contract and Storage Methods

### [eth\_getCode](/sdks/base-account/reference/core/provider-rpc-methods/eth_getCode)

Returns code at a given address.

### [eth\_getStorageAt](/sdks/base-account/reference/core/provider-rpc-methods/eth_getStorageAt)

Returns the value from a storage position at a given address.

### [eth\_getLogs](/sdks/base-account/reference/core/provider-rpc-methods/eth_getLogs)

Returns an array of all logs matching a given filter object.

### [eth\_getProof](/sdks/base-account/reference/core/provider-rpc-methods/eth_getProof)

Returns the account and storage values of the specified account including the Merkle-proof.

## Signing Methods

### [personal\_sign](/sdks/base-account/reference/core/provider-rpc-methods/personal_sign)

Signs a message with the private key of the given account.

### [eth\_signTypedData\_v4](/sdks/base-account/reference/core/provider-rpc-methods/eth_signTypedData_v4)

Signs typed data according to EIP-712.

## Network Methods

### [wallet\_addEthereumChain](/sdks/base-account/reference/core/provider-rpc-methods/wallet_addEthereumChain)

Adds an Ethereum chain to the wallet.

### [wallet\_switchEthereumChain](/sdks/base-account/reference/core/provider-rpc-methods/wallet_switchEthereumChain)

Switches the wallet to the specified Ethereum chain.

### [wallet\_watchAsset](/sdks/base-account/reference/core/provider-rpc-methods/wallet_watchAsset)

Requests that the user track the token in their wallet.

## Advanced Methods

### [eth\_getTransactionByBlockHashAndIndex](/sdks/base-account/reference/core/provider-rpc-methods/eth_getTransactionByBlockHashAndIndex)

Returns information about a transaction by block hash and transaction index position.

### [eth\_getTransactionByBlockNumberAndIndex](/sdks/base-account/reference/core/provider-rpc-methods/eth_getTransactionByBlockNumberAndIndex)

Returns information about a transaction by block number and transaction index position.

### [eth\_getUncleCountByBlockHash](/sdks/base-account/reference/core/provider-rpc-methods/eth_getUncleCountByBlockHash)

Returns the number of uncles in a block by block hash.

### [eth\_getUncleCountByBlockNumber](/sdks/base-account/reference/core/provider-rpc-methods/eth_getUncleCountByBlockNumber)

Returns the number of uncles in a block by block number.

### [web3\_clientVersion](/sdks/base-account/reference/core/provider-rpc-methods/web3_clientVersion)

Returns the current client version.

## Error Handling

All RPC methods can throw errors. Common error codes include:

* `-32700`: Parse error
* `-32600`: Invalid request
* `-32601`: Method not found
* `-32602`: Invalid params
* `-32603`: Internal error
* `-32000`: Server error

```javascript theme={null}
try {
  const result = await provider.request({
    method: 'eth_getBalance',
    params: ['0x1234...', 'latest']
  });
} catch (error) {
  console.error('RPC Error:', error.code, error.message);
}
```

## Best Practices

1. **Always handle errors**: RPC calls can fail for various reasons
2. **Use appropriate block parameters**: `latest`, `earliest`, `pending`, or specific block numbers
3. **Validate addresses**: Ensure addresses are properly formatted
4. **Cache responses**: Some data doesn't change frequently
5. **Use batch requests**: When supported, batch multiple calls for efficiency

## Compatibility

Base Account maintains full compatibility with:

* Web3.js
* Ethers.js
* Wagmi
* Viem
* Other standard web3 libraries

All standard RPC methods work exactly as expected, ensuring your existing applications can integrate with Base Account without modification.
