Celo API Overview
Welcome to the Celo API Quickstart and Reference Guide. This guide provides everything you need to start building on Celo using dRPC’s JSON-RPC API. Whether you're retrieving account balances, fetching block details, executing transactions, or estimating gas fees, this comprehensive guide will help you integrate Celo seamlessly into your applications.
This page includes:
- A Quickstart Guide to help you set up and make your first Celo API request.
- A detailed list of all Celo API methods, categorized for easy reference.
Celo API Quickstart#
To get started with building on Celo using dRPC's Celo RPC API, follow these steps:
1. Create a dRPC Account or Use Public Celo RPC endpoints
By signing up for a free dRPC account, you can access their Premium Celo RPC endpoints.
Public endpoints:
HTTPS
https://celo.drpc.org/
WSS:
wss://celo.drpc.org
2. Set Up Your Development Environment
RPC can be requested in various ways (opens in a new tab). In this example, we are going to use Node.js. Ensure you have Node.js (opens in a new tab) and npm installed on your system. You can verify their installation by running:
node -v
npm -v
If not installed, download and install them from the official Node.js website (opens in a new tab).
3. Initialize Your Project
Create a new directory for your project and initialize it:
mkdir Celo-drpc-quickstart
cd Celo-drpc-quickstart
npm init --yes
4. Install Axios
Axios is a popular HTTP client for making API requests. Install it using npm:
npm install axios
5. Obtain dRPC Endpoint
Log in to your dRPC account and navigate to the Celo RPC endpoints section. Copy the HTTPS endpoint URL for the Celo Mainnet.
6. Write Your First Script
Create an index.js
file in your project directory and add the following code:
const axios = require('axios');
const url = 'https://lb.drpc.org/ogrpc?network=celo&dkey=YOUR_DRPC_API_KEY';
const payload = {
jsonrpc: '2.0',
id: 1,
method: 'eth_blockNumber',
params: []
};
axios.post(url, payload)
.then(response => {
console.log('The latest block number is', parseInt(response.data.result, 16));
})
.catch(error => {
console.error('Error fetching block number:', error);
});
Replace ‘https://lb.drpc.org/ogrpc?network=celo&dkey=YOUR_DRPC_API_KEY'
with the actual endpoint URL you obtained from dRPC.
7. Run Your Script
Execute your script using Node.js:
node index.js
You should see the latest Celo block number printed in your console.
Additional Information
dRPC offers various features such as high performance nodes, access to multiple chains. For more details, visit their Celo documentation (opens in a new tab).
By following these steps, you can start building on Celo using dRPC's reliable and efficient RPC endpoints.
Celo API Methods#
These endpoints allow to retrieve information about blocks, transactions, balances, logs, and more, facilitating efficient blockchain development and integration.
Accounts info#
Returns data about an account's balance, contract code, or stored data.
eth_accounts
eth_getBalance
eth_getCode
eth_getProof
eth_getStorageAt
Blocks info#
Retrieves detailed information from a specified block, including transactions, receipts, and block data.
eth_blockNumber
eth_getBlockByHash
eth_getBlockByHash#full
eth_getBlockByNumber
eth_getBlockByNumber#full
eth_newBlockFilter
eth_getBlockReceipts
eth_getBlockTransactionCountByHash
eth_getBlockTransactionCountByNumber
Chain info#
Supplies details about the Celo network, its protocol version, and its configuration.
eth_chainId
eth_protocolVersion
net_listening
net_version
net_peerCount
eth_syncing
eth_hashrate
Debug and trace#
Available only on paid tier. Allows to trace transactions, inspect block execution, and replay transactions or blocks for detailed analysis
trace_filter
trace_block
trace_replayBlockTransactions
trace_replayBlockTransactions#vmTrace
debug_traceBlockByHash
debug_traceBlockByNumber
trace_transaction
debug_traceTransaction
trace_replayTransaction
trace_replayTransaction#vmTrace
trace_callMany
trace_get
trace_call
debug_traceCall
Event logs#
Provides logs of events emitted by smart contracts, useful for tracking token transfers and state changes.
eth_getLogs
eth_newFilter
eth_getFilterChanges
eth_uninstallFilter
eth_getFilterLogs
Executing transactions#
Facilitates sending ETH, executing smart contracts, and performing on-chain operations.
eth_call
eth_sendRawTransaction
Gas estimation#
Estimates gas fees for transactions and provides historical and current gas price data.
eth_feeHistory
eth_estimateGas
eth_gasPrice
eth_createAccessList
eth_maxPriorityFeePerGas
Getting uncles#
Retrieves information about "uncle" blocks, which are valid but not included in the blockchain.
eth_getUncleByBlockHashAndIndex
eth_getUncleByBlockNumberAndIndex
eth_getUncleCountByBlockHash
eth_getUncleCountByBlockNumber
Mining#
Provides details on the mining state of the Celo node
Subscriptions#
Allows to subscribe to specific Celo events in real-time via WebSockets.
Transactions info#
Retrieves data on individual transactions, such as status, receipt, and inclusion in a specific block.
eth_getTransactionByHash
eth_getTransactionCount
eth_getTransactionReceipt
eth_newPendingTransactionFilter
eth_getTransactionByBlockHashAndIndex
eth_getTransactionByBlockNumberAndIndex
txpool_content
Web3#
Returns general network configuration data for Celo nodes.