Skip to main content
POST
eth_getLogs
curl --request POST \
  --url https://tempo-moderato.core.chainstack.com/a25a421add2280d53fdbc23417055501/ \
  --header 'Content-Type: application/json' \
  --data '
{
  "jsonrpc": "2.0",
  "method": "eth_getLogs",
  "params": [
    {
      "fromBlock": "latest",
      "toBlock": "latest",
      "address": "0x20c0000000000000000000000000000000000000",
      "topics": []
    }
  ],
  "id": 1
}
'
{
  "jsonrpc": "<string>",
  "id": 123,
  "result": [
    {}
  ]
}
Tempo API method that returns an array of logs matching a filter object. This is commonly used to track events emitted by smart contracts, such as TIP-20 token transfers.
Get you own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.

Parameters

  • filterObject — the filter object:
    • fromBlock — (optional) block number (hex) or tag to start from
    • toBlock — (optional) block number (hex) or tag to end at
    • address — (optional) contract address or array of addresses
    • topics — (optional) array of topic filters

Response

  • result — array of log objects:
    • address — contract address that emitted the log
    • topics — array of indexed log parameters
    • data — non-indexed log parameters
    • blockNumber — block number containing the log
    • transactionHash — hash of the transaction that emitted the log
    • logIndex — position of the log in the block

eth_getLogs code examples

The following example retrieves Transfer events from the pathUSD token:
const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);

// pathUSD token address
const PATHUSD = "0x20c0000000000000000000000000000000000000";
// Transfer event topic
const TRANSFER_TOPIC = ethers.id("Transfer(address,address,uint256)");

const getLogs = async () => {
    const logs = await provider.getLogs({
      address: PATHUSD,
      topics: [TRANSFER_TOPIC],
      fromBlock: "latest"
    });

    for (const log of logs) {
      console.log(`Transfer in tx: ${log.transactionHash}`);
    }
  };

getLogs();

Body

application/json
jsonrpc
string
default:2.0
method
string
default:eth_getLogs
params
any[]

Filter object with fromBlock, toBlock, address, and topics

id
integer
default:1

Response

200 - application/json

Array of log objects

jsonrpc
string
id
integer
result
object[]

Array of log objects matching the filter

Last modified on January 23, 2026