# Blob Archive

{% hint style="warning" %}
Support for Blob Archive ended on March 1, 2025 as part of the deprecation of our Data Archive project. [Click here to learn more](https://discord.com/channels/542403978693050389/542406724427055135/1339585307867091025).
{% endhint %}

The Blocknative Blob Archive stores all blobs that enter the mempool (confirmed on-chain or not) in the Ethereum network using our global network of nodes. Given any `versionedHash` of an on-chain blob, the archive returns the versioned hash, commitment, proof, count of zero-bytes, count of non-zero bytes and blob data. If you only want a summary view of the blob data, the archive can return the response without the full blob data.

## Full blob data

Given the `versionedHash` of an on-chain blob, this will return the commitment, proof, count of zero bytes, count of non-zero bytes and blob data.

GET `https://api.ethernow.xyz/v1/blob/{versionedHash}`

### Example Request

{% code overflow="wrap" %}

```bash
curl --location \
https://api.ethernow.xyz/v1/blob/0x012b7a6a22399aa9eecd8eda6ec658679e81be21af6ff296116aee205e2218f2
```

{% endcode %}

### Example Response

```json
{
  "blob": {
    "versionedHash": "0x012b7a6a22399aa9eecd8eda6ec658679e81be21af6ff296116aee205e2218f2",
    "commitment": "0xb0afd3a5a67cc9e589a678c13607fc14e71d6ea8be2c4d6822141dc11208595ec65e1ad171bcd6a0e6cfd803e99e4cc0",
    "proof": "0x82010ad855155c39385a6b8d87f88496bede93a16f72fe7ec3c2e40690eb3aee01891ea6800a19643d6fa391d68ef001",
    "zeroBytes": 817,
    "nonZeroBytes": 130254,
    "data": "0x36ba0b....ba"
  }
}
```

## Query Parameters

<table><thead><tr><th width="260">Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>data</td><td>Bool</td><td>When data=false, the api will NOT include the blob data</td></tr></tbody></table>

## Summary of blob data

Given the `versionedHash` of an on-chain blob, this will return the commitment, proof, count of zero bytes, and count of non-zero bytes. Blob data will be empty.

GET `https://api.ethernow.xyz/v1/blob/{versionedHash}?data=false`

### Example Request

{% code overflow="wrap" %}

```bash
curl --location \
https://api.ethernow.xyz/v1/blob/0x012b7a6a22399aa9eecd8eda6ec658679e81be21af6ff296116aee205e2218f2?data=false
```

{% endcode %}

### Example Response

```json
{
  "blob": {
    "versionedHash": "0x012b7a6a22399aa9eecd8eda6ec658679e81be21af6ff296116aee205e2218f2",
    "commitment": "0xb0afd3a5a67cc9e589a678c13607fc14e71d6ea8be2c4d6822141dc11208595ec65e1ad171bcd6a0e6cfd803e99e4cc0",
    "proof": "0x82010ad855155c39385a6b8d87f88496bede93a16f72fe7ec3c2e40690eb3aee01891ea6800a19643d6fa391d68ef001",
    "zeroBytes": 817,
    "nonZeroBytes": 130254,
    "data": ""
  }
}
```

### Description of Terms

Term descriptions come from the official [EIP](https://eips.ethereum.org/EIPS/eip-4844) and [EIP-4844 website](https://www.eip4844.com/). Please refer to both of these resources for more details on the terms below.&#x20;

| Term          | Description                                                                                                                                                                                                         |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| versionedHash | A single 0x01 byte (representing the version) followed by the last 31 bytes of the SHA256 hash of the commitment.                                                                                                   |
| commitment    | A hash of the [KZG commitment](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html) to the polynomial                                                                                      |
| proof         | The KZG commitment of the blob and a KZG proof-of-evaluation                                                                                                                                                        |
| data          | <p>The blob data itself where blob data is a vector of 4096 field elements, numbers within the range:</p><p><code>0 <= x < 52435875175126190479447740508185965837690552500527637822603658699938581184513</code></p> |
| zeroBytes     | The count of used zero bytes in the blob data not including zero padding                                                                                                                                            |
| nonZeroBytes  | The count of used non-zero bytes in the blob data                                                                                                                                                                   |

## Questions

If you have any questions please join the [Blocknative Mempool Research Telegram channel](https://t.me/+Rv63OCi1pnYyZDk0) where our team can provide guidance.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.blocknative.com/data-archive/blob-archive.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
