> For a complete page index, fetch https://docs.conduit.xyz/llms.txt

# eth_getTransactionReceipt

POST https://rpc.plume.org/YOUR_API_KEY
Content-Type: application/json

Returns the receipt of a transaction by transaction hash. The receipt is only available for mined transactions.

⚡ Compute Units: [15 CU](https://docs.conduit.xyz/rpc-nodes/information/compute-units)

Reference: https://docs.conduit.xyz/rpc-nodes/json-rpc-reference/eth-get-transaction-receipt

## Request

### Body (application/json)

This endpoint expects an object.

- `transactionHash` (string, required) — 32-byte hash of a transaction

## Response

### 200

Transaction receipt object, or null if the transaction is not mined

- `transactionHash` (string, required)
- `transactionIndex` (string, required)
- `blockHash` (string, required)
- `blockNumber` (string, required)
- `from` (string, required)
- `cumulativeGasUsed` (string, required) — The sum of gas used by this transaction and all preceding transactions in the same block.
- `gasUsed` (string, required) — The amount of gas used for this specific transaction alone.
- `logs` (list of Log, required)
- `logsBloom` (string, required)
- `effectiveGasPrice` (string, required) — The actual value per gas deducted from the sender's account. Before EIP-1559, this is equal to the transaction's gas price. After, it is equal to baseFeePerGas + min(maxFeePerGas - baseFeePerGas, maxPriorityFeePerGas).
- `type` (string, optional)
- `to` (string, optional, nullable) — Address of the receiver or null in a contract creation transaction.
- `blobGasUsed` (string, optional) — The amount of blob gas used for this specific transaction. Only specified for blob transactions as defined by EIP-4844.
- `contractAddress` (string, optional, nullable) — The contract address created, if the transaction was a contract creation, otherwise null.
- `root` (string, optional) — The post-transaction state root. Only specified for transactions included before the Byzantium upgrade.
- `status` (string, optional) — Either 1 (success) or 0 (failure). Only specified for transactions included after the Byzantium upgrade.
- `blobGasPrice` (string, optional) — The actual value per gas deducted from the sender's account for blob gas. Only specified for blob transactions as defined by EIP-4844.
- `l1Fee` (string, optional) — OP-Stack only. Total L1 data-availability fee paid for this transaction, in wei.
- `l1GasUsed` (string, optional) — OP-Stack only. L1 gas used to post this transaction's data to L1 calldata or blobs.
- `l1GasPrice` (string, optional) — OP-Stack only. L1 base fee at the time this transaction was posted, in wei.
- `l1FeeScalar` (string, optional) — OP-Stack only. Scalar applied to L1 fee. Used by pre-Ecotone fee model; superseded by `l1BaseFeeScalar` / `l1BlobBaseFeeScalar` post-Ecotone.
- `l1BaseFeeScalar` (string, optional) — OP-Stack only. Post-Ecotone scalar applied to the L1 base fee component.
- `l1BlobBaseFee` (string, optional) — OP-Stack only. L1 blob base fee at the time this transaction was posted, in wei.
- `l1BlobBaseFeeScalar` (string, optional) — OP-Stack only. Post-Ecotone scalar applied to the L1 blob base fee component.
- `daFootprintGasScalar` (string, optional) — OP-Stack only. Data-availability footprint scalar (used by some OP-Stack chains for DA pricing).
- `depositNonce` (string, optional) — OP-Stack only. Present on deposit transactions (type `0x7e`). Sequencer-assigned monotonic nonce for the deposit.
- `depositReceiptVersion` (string, optional) — OP-Stack only. Present on deposit transactions (type `0x7e`). Version of the deposit receipt format.

## Types

### Log

- `transactionHash` (string, required)
- `removed` (boolean, optional)
- `logIndex` (string, optional)
- `transactionIndex` (string, optional)
- `blockHash` (string, optional)
- `blockNumber` (string, optional)
- `blockTimestamp` (string, optional)
- `address` (string, optional)
- `data` (string, optional)
- `topics` (list of string, optional)

## Examples

**Request**

```json
[
  "0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c"
]
```

**Response**

```json
{
  "id": "1",
  "jsonrpc": "2.0",
  "result": {
    "blockHash": "0x7b99b97aa538547a6e4e38f011f250da6d05675461e92d25819f08c756872f83",
    "blockNumber": "0x28401d2",
    "contractAddress": null,
    "cumulativeGasUsed": "0x104a6",
    "effectiveGasPrice": "0xe8d4a51000",
    "from": "0xee03f376ad26948d24c2e3ae76c8d95c77930763",
    "gasUsed": "0x104a6",
    "gasUsedForL1": "0x0",
    "l1BlockNumber": "0x16e1bd9",
    "logs": [
      {
        "address": "0x42b18785ce0aed7bf7ca43a39471ed4c0a3e0bb5",
        "blockHash": "0x7b99b97aa538547a6e4e38f011f250da6d05675461e92d25819f08c756872f83",
        "blockNumber": "0x28401d2",
        "blockTimestamp": "0x693b7000",
        "data": "0x000000000000000000000000000000000000000000000000000000000000c3510000000000000000000000000000000000000000000000000000000a37805cda",
        "logIndex": "0x0",
        "removed": false,
        "topics": [
          "0x52acb05cebbd3cd39715469f22afbf5a17496295ef3bc9bb5944056c63ccaa09",
          "0xe70dd0172a62a91b8e9d67bf4815a2f72120b7f92dacac5448c2f075cd6f1079",
          "0x000000000000000000000000ee03f376ad26948d24c2e3ae76c8d95c77930763",
          "0x000000000000000000000000ee03f376ad26948d24c2e3ae76c8d95c77930763"
        ],
        "transactionHash": "0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c",
        "transactionIndex": "0x1"
      },
      {
        "address": "0xdddd73f5df1f0dc31373357beac77545dc5a6f3f",
        "blockHash": "0x7b99b97aa538547a6e4e38f011f250da6d05675461e92d25819f08c756872f83",
        "blockNumber": "0x28401d2",
        "blockTimestamp": "0x693b7000",
        "data": "0x000000000000000000000000000000000000000000000000000000000000c351",
        "logIndex": "0x1",
        "removed": false,
        "topics": [
          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
          "0x000000000000000000000000ee03f376ad26948d24c2e3ae76c8d95c77930763",
          "0x00000000000000000000000042b18785ce0aed7bf7ca43a39471ed4c0a3e0bb5"
        ],
        "transactionHash": "0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c",
        "transactionIndex": "0x1"
      }
    ],
    "logsBloom": "0x00000000000000000000008000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000010000000000000000000004000000000008880000082000000800000000000000000000000000000000000000000000000000000000000020000000002000000010000400000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000002000000000000000000000000000000000080000000800000000000000000010000000000000000040000000000000000000000000000000000000000",
    "status": "0x1",
    "to": "0x42b18785ce0aed7bf7ca43a39471ed4c0a3e0bb5",
    "transactionHash": "0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c",
    "transactionIndex": "0x1",
    "type": "0x2"
  }
}
```

**SDK Code**

```python
import requests

url = "https://rpc.plume.org/YOUR_API_KEY"

payload = ["0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c"]
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://rpc.plume.org/YOUR_API_KEY';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '["0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c"]'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://rpc.plume.org/YOUR_API_KEY"

	payload := strings.NewReader("[\n  \"0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c\"\n]")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://rpc.plume.org/YOUR_API_KEY")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  \"0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c\"\n]"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://rpc.plume.org/YOUR_API_KEY")
  .header("Content-Type", "application/json")
  .body("[\n  \"0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c\"\n]")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://rpc.plume.org/YOUR_API_KEY', [
  'body' => '[
  "0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c"
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://rpc.plume.org/YOUR_API_KEY");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  \"0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c\"\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = ["0x85681434491f687150b2ff934554f149b284839eafc579b6abffb54f7df3b42c"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://rpc.plume.org/YOUR_API_KEY")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```