> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# eth_getTransactionReceipt | Gnosis

<Note>
  **No response in the interactive API**

  The response to the call might be too big for the web app to handle, so if you are not getting it here, copy the CURL example and run in your terminal—this will work.
</Note>

Gnosis Chain API method that retrieves the receipt of a transaction from a transaction hash. It can be used to verify the success or failure of a transaction, check the execution status of a smart contract, retrieve logs, check if a transaction deployed a smart contract, and more.

<Check>
  **Get your own node endpoint today**

  [Start for free](https://console.chainstack.com/) and get your app to production levels immediately. No credit card required.

  You can sign up with your GitHub, X, Google, or Microsoft account.
</Check>

## Parameters

* `hash` — the hash identifying a transaction

## Response

* `Transaction receipt` — the receipt 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_getTransactionReceipt` code examples

<CodeGroup>
  ```javascript web3.js theme={"system"}
  const Web3 = require("web3");
  const NODE_URL = "CHAINSTACK_NODE_URL";
  const web3 = new Web3(NODE_URL);

  async function getReceipt(transactionHash) {
    const receipt = await web3.eth.getTransactionReceipt(transactionHash)
    console.log(receipt)
   }
   
   getReceipt("0xb30747ec4485c3ddb0ff846475e35a67486e82ca0f5abff9302d4ba4606d28ab")
  ```

  ```javascript ethers.js theme={"system"}
  const ethers = require('ethers');
  const NODE_URL = "CHAINSTACK_NODE_URL";
  const provider = new ethers.JsonRpcProvider(NODE_URL);

  const getTransactionReceipt = async (transactionHash) => {
      const receipt = await provider.send("eth_getTransactionReceipt", [transactionHash]);
       console.log(receipt);
     };

  getTransactionReceipt('0xb30747ec4485c3ddb0ff846475e35a67486e82ca0f5abff9302d4ba4606d28ab')
  ```

  ```python web3.py theme={"system"}
  from web3 import Web3  
  node_url = "CHAINSTACK_NODE_URL" 

  web3 = Web3(Web3.HTTPProvider(node_url)) 
  print(web3.eth.get_transaction_receipt("0xb30747ec4485c3ddb0ff846475e35a67486e82ca0f5abff9302d4ba4606d28ab"))
  ```
</CodeGroup>

## Use case

A practical use case for `eth_getTransactionReceipt` is to verify a transaction's status and whether it was successful or not. This can be especially useful when deploying a contract, as you can use the receipt to confirm that the contract was deployed successfully and has a valid contract address.

Here's an example in web3.js:

```javascript index.js theme={"system"}
const Web3 = require("web3");
const NODE_URL = "CHAINSTACK_NODE_URL";
const web3 = new Web3(NODE_URL);

async function verifyTransaction(transactionHash) {
  // Get the transaction receipt
  const receipt = await web3.eth.getTransactionReceipt(transactionHash);

  // Check if the receipt is not yet available
  if (!receipt) {
    console.log(`Transaction ${transactionHash} is still pending...`);
    return;
  }

  // Check if the transaction was successful
  if (receipt.status) {
    console.log(`✅The transaction was successful! \nHash: ${transactionHash}`);

    // Check if the transaction deployed a smart contract
    if (receipt.contractAddress != null) {
      console.log(`📑The smart contract was deployed at address: ${receipt.contractAddress}`);
      
    } else {
      console.log(`❗This transaction did not deploy a smart contract`);
    }
  } else {
    console.log(`💥The transaction failed. \nHash: ${transactionHash}`);
  }
}

verifyTransaction('0xb30747ec4485c3ddb0ff846475e35a67486e82ca0f5abff9302d4ba4606d28ab')
```

This script holds an async function called `verifyTransaction` that takes a transaction hash as input. The function uses the web3.js library to retrieve the transaction receipt of the specified transaction using the `eth_getTransactionReceipt` method.

The function first checks if the transaction receipt is not yet available, and if so, it logs a message to the console indicating that the transaction is still pending. If the receipt is available, the function checks the status property of the receipt to determine if the transaction was successful.

If the transaction was successful, the function checks if a smart contract was deployed as part of the transaction. The function logs the smart contract's address to the console if a smart contract is deployed. If not, the function logs a message indicating that no smart contract was deployed.

If the transaction was not successful, the function logs a message indicating that the transaction failed, along with the transaction hash.


## OpenAPI

````yaml /openapi/gnosis_node_api/transaction_info/eth_getTransactionReceipt.json POST /512e720763b369ed620657f84d38d2af
openapi: 3.0.0
info:
  title: Upload
  version: 1.0.0
  description: This is an API for interacting with a Chainstack node.
servers:
  - url: https://nd-500-249-268.p2pify.com
security: []
paths:
  /512e720763b369ed620657f84d38d2af:
    post:
      tags:
        - Transactions info
      summary: eth_getTransactionReceipt
      operationId: getTransactionReceipt
      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_getTransactionReceipt
                params:
                  type: array
                  items:
                    type: string
                    title: Transaction hash
                  default:
                    - >-
                      0xd6fe5bec7731b0a16d392d019f83288e63ad105f4854c0dd207a5e0f8e8996ec
      responses:
        '200':
          description: The transaction receipt
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                  id:
                    type: integer
                  result:
                    type: object

````