> ## Documentation Index
> Fetch the complete documentation index at: https://chainstack-docs-polygon-erigon-trace-deprecation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# eth_getBlockReceipts | Polygon

> Polygon API method that retrieves all transaction receipts for a given block. Reference for eth_getBlockReceipts on Polygon via Chainstack.

Polygon API method that retrieves all transaction receipts for a given block. Transaction receipts contain information about the execution status of a transaction and can be useful for monitoring the status of transfers or contract execution on the blockchain. This method is available on Erigon only.

## Parameters

* `quantity or tag` — the block hash, block number encoded as hexadecimal, or the string with:

  * `latest` — the most recent block in the blockchain and the current state of the blockchain at the most recent block
  * `earliest` — the earliest available or genesis block
  * `pending` — the pending state and transactions block. The current state of transactions that have been broadcast to the network but have not yet been included in a block.

<Note>
  See the [default block parameter](https://ethereum.org/en/developers/docs/apis/json-rpc/#default-block).
</Note>

## Response

* `result` — an array of objects with the following fields:
  * `Transaction receipt` — the object with:
    * `blockHash` — the block hash. Identifies the block in which the transaction was included. This field is `null` for transactions that have not yet been included in a block.
    * `blockNumber` — the number of the block in which the transaction was included. This field is `null` for transactions that have not yet been included in a block.
    * `contractAddress` — the address of the contract created by the transaction if it was a contract creation transaction. Otherwise, the value is `null`.
    * `cumulativeGasUsed` — the total amount of gas used in the block until this transaction was executed.
    * `effectiveGasPrice` — the actual value deducted from the sender's account for this transaction.
    * `from` — the address of the sender who initiated the transaction.
    * `gasUsed` — the amount of gas used by this specific transaction alone.
    * `logs` — an array of log objects generated by this transaction, if any. Logs are generated by smart contracts.
    * `logsBloom` — the bloom filter used by light clients to quickly retrieve logs related to the transaction.
    * `status` — the success status of the transaction, represented as `1` for success or `0` for failure.
    * `to` — the address of the recipient of the transaction if it was a transaction to an address. For contract creation transactions, this field is `null`.
    * `transactionHash` — the hash that uniquely identifies the transaction.
    * `transactionIndex` — the index of the transaction within the block.
    * `type` — the [type](https://ethereum.org/en/developers/docs/transactions/#types-of-transactions) of the transaction. `0` indicates a regular transfer; `2` indicates a contract creation or smart contract function call.

## `eth_getBlockReceipts` code examples

<CodeGroup>
  ```javascript ethers.js theme={null}
  const ethers = require('ethers');
  const NODE_URL = "CHAINSTACK_NODE_URL";
  const provider = new ethers.JsonRpcProvider(NODE_URL);

  const eth_getBlockReceipts = async () => {
      const BlockReceipts = await provider.send("eth_getBlockReceipts", ["latest"]);
       console.log(BlockReceipts);
     };

  eth_getBlockReceipts();
  ```

  ```python web3.py theme={null}
  from web3 import Web3
  node_url = "CHAINSTACK_NODE_URL"
  web3 = Web3.HTTPProvider(node_url)

  block_receipts = web3.provider.make_request('eth_getBlockReceipts', ['latest'])
  print(block_receipts)
  ```
</CodeGroup>

## Use case

The `eth_getBlockReceipts` allows you to retrieve the receipts for all transactions in a specific block. A practical use case can be to retrieve all of the logs emitted from the transactions in a block. The method returns an array of transaction receipts, where each contains information about the transaction and any logs generated as a result of the transaction execution, so the logs can be isolated.

Here is an example of how to use `eth_getBlockReceipts` in ethers.js to extract all of the logs in a specific block and return them in an array:

```javascript index.js theme={null}
const ethers = require('ethers');
const NODE_URL = 'CHAINSTACK_NODE_URL';
const provider = new ethers.JsonRpcProvider(NODE_URL);

async function retrieveTransactionLogs(blockNumber) {
  
    // Call the eth_getBlockReceipts method to retrieve the receipts for all transactions in the block
    let receipts = await provider.send('eth_getBlockReceipts', [blockNumber]);

    // Flatten the receipts array into a single array of logs
    let logs = receipts.flatMap(receipt => receipt.logs);

    // Return the logs
    return logs;
}

// call retrieveTransactionLogs on the latest block of the chain
async function main() {
     const blockNumber = 'latest';
    const logs = await retrieveTransactionLogs(blockNumber);
    console.log(logs);
}

main()
```

In this example, the `retrieveTransactionLogs` function takes a block identifier as an input and returns an array of logs. The function first calls the `eth_getBlockReceipts` method using the `provider.send` method and passes in the block identifier as an argument. The result is an array of receipts, then flattened into a single array of logs using the `flatMap` function.


## OpenAPI

````yaml openapi/polygon_node_api/transaction_info/eth_getBlockReceipts.json POST /a9bca2f0f84b54086ceebe590316fff3
openapi: 3.0.0
info:
  title: Polygon Node API
  version: 1.0.0
  description: This is an API for interacting with a Polygon node.
servers:
  - url: https://nd-828-700-214.p2pify.com
security: []
paths:
  /a9bca2f0f84b54086ceebe590316fff3:
    post:
      tags:
        - upload
      summary: eth_getBlockReceipts
      operationId: getBlockReceipts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  default: 1
                jsonrpc:
                  type: string
                  default: '2.0'
                method:
                  type: string
                  default: eth_getBlockReceipts
                params:
                  type: array
                  items:
                    type: string
                    description: The block identifier.
                  default:
                    - latest
      responses:
        '200':
          description: The block receipts information
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                  id:
                    type: integer
                  result:
                    type: array
                    items:
                      type: object

````