# 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.
