{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "ethereum-blob-fees",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/ethereum-blob-fees/",
  "collection": "ethereum",
  "title": "Blob fees: a separate fee market for rollup data",
  "description": "Understand Ethereum’s separate blob-gas fee component and why lower data publication costs do not imply that rollup users always pay a fixed fee.",
  "aliases": [],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T18:12:41.505Z",
    "dataAsOf": "2026-10-02"
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "Blob-carrying Ethereum transactions pay a separate blob-gas charge in addition to execution gas. EIP-4844 introduced a demand-sensitive blob base fee and a blob fee cap. Rollups can use blobs for data publication, but their user fees also depend on execution, batching and the rollup’s own accounting rules.",
    "claimId": "ethereum-blob-fees-quick-answer",
    "sourceIds": [
      "eip4844",
      "optimism-fees"
    ]
  },
  "keyFacts": [
    {
      "label": "Separate meter",
      "value": "Blob gas and ordinary execution gas use distinct accounting.",
      "sourceIds": [
        "eip4844"
      ],
      "id": "separate-meter",
      "claimId": "ethereum-blob-fees-fact-separate-meter"
    },
    {
      "label": "Fee cap",
      "value": "The transaction’s blob fee cap must cover the applicable blob base fee.",
      "sourceIds": [
        "eip4844"
      ],
      "id": "fee-cap",
      "claimId": "ethereum-blob-fees-fact-fee-cap"
    },
    {
      "label": "Failure",
      "value": "The specified blob charge is burned and not refunded when execution fails.",
      "sourceIds": [
        "eip4844"
      ],
      "id": "failure",
      "claimId": "ethereum-blob-fees-fact-failure"
    }
  ],
  "prerequisites": [
    "ethereum-blobs-data-availability"
  ],
  "sections": [
    {
      "id": "formula",
      "heading": "Identify the component being calculated",
      "sourceIds": [
        "eip4844"
      ],
      "paragraphs": [
        "The specified blob fee multiplies total blob gas by the blob base fee. Total blob gas depends on the number of blobs and the active per-blob gas rule.",
        "The ordinary execution fee is calculated separately. A transaction’s execution receipt fields alone may therefore omit part of the total amount paid."
      ]
    },
    {
      "id": "parameters",
      "heading": "Keep fork-specific constants dated",
      "sourceIds": [
        "eip4844",
        "eip7691"
      ],
      "paragraphs": [
        "EIP-4844 documents the original mechanism and parameters. Later network upgrades can change capacity targets, limits and adjustment parameters, so an old table should not be presented as a current network configuration.",
        "This article explains the mechanism without offering a live fee quote. A reproducible fee observation needs a chain, block and the active fork rules."
      ]
    },
    {
      "id": "rollup",
      "heading": "Data cost and a user quote are different levels",
      "sourceIds": [
        "eip4844",
        "optimism-fees"
      ],
      "paragraphs": [
        "A rollup can batch many users’ data into its publication process. How those costs are allocated, alongside execution and other charges, depends on the rollup.",
        "Blob data is handled through the consensus data-availability mechanism; it is not ordinary permanent EVM storage. Cheaper publication does not eliminate the need to understand retention and settlement."
      ]
    }
  ],
  "faq": [
    {
      "question": "Can a contract read all blob contents directly as normal calldata?",
      "answer": "No. EIP-4844 separates blob data from ordinary EVM-accessible calldata. BLOBHASH exposes versioned hashes, and the point-evaluation precompile can verify supplied KZG proofs against commitments.",
      "sourceIds": [
        "eip4844"
      ]
    }
  ],
  "claims": [
    {
      "id": "ethereum-blob-fees-quick-answer",
      "articleSlug": "ethereum-blob-fees",
      "statement": "Blob-carrying Ethereum transactions pay a separate blob-gas charge in addition to execution gas. EIP-4844 introduced a demand-sensitive blob base fee and a blob fee cap. Rollups can use blobs for data publication, but their user fees also depend on execution, batching and the rollup’s own accounting rules.",
      "sourceIds": [
        "source-f8f55ea8fe5a54a7",
        "source-06697b48df70893b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f8f55ea8fe5a54a7",
          "locator": "Gas accounting; Opcode to get versioned hashes; Point evaluation precompile; Consensus layer validation"
        },
        {
          "sourceId": "source-06697b48df70893b",
          "locator": "Gas fee components; Execution gas fee; L1 data fee; Operator fee"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-4844 separate blob meter, blob cap check, blob-fee formula, burn-before-execution and no-refund-on-failure. Added independently retrieved EIP-7691 for later parameter changes and Optimism for rollup user-fee components.",
          "Revised FAQ to precise BLOBHASH versioned-hash access and supplied KZG proof verification. Original fork constants are not claimed as current network configuration; blob contents are not permanent ordinary EVM storage."
        ]
      }
    },
    {
      "id": "ethereum-blob-fees-fact-separate-meter",
      "articleSlug": "ethereum-blob-fees",
      "statement": "Separate meter: Blob gas and ordinary execution gas use distinct accounting.",
      "sourceIds": [
        "source-f8f55ea8fe5a54a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f8f55ea8fe5a54a7",
          "locator": "Gas accounting; Opcode to get versioned hashes; Point evaluation precompile; Consensus layer validation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-4844 separate blob meter, blob cap check, blob-fee formula, burn-before-execution and no-refund-on-failure. Added independently retrieved EIP-7691 for later parameter changes and Optimism for rollup user-fee components.",
          "Revised FAQ to precise BLOBHASH versioned-hash access and supplied KZG proof verification. Original fork constants are not claimed as current network configuration; blob contents are not permanent ordinary EVM storage."
        ]
      }
    },
    {
      "id": "ethereum-blob-fees-fact-fee-cap",
      "articleSlug": "ethereum-blob-fees",
      "statement": "Fee cap: The transaction’s blob fee cap must cover the applicable blob base fee.",
      "sourceIds": [
        "source-f8f55ea8fe5a54a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f8f55ea8fe5a54a7",
          "locator": "Gas accounting; Opcode to get versioned hashes; Point evaluation precompile; Consensus layer validation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-4844 separate blob meter, blob cap check, blob-fee formula, burn-before-execution and no-refund-on-failure. Added independently retrieved EIP-7691 for later parameter changes and Optimism for rollup user-fee components.",
          "Revised FAQ to precise BLOBHASH versioned-hash access and supplied KZG proof verification. Original fork constants are not claimed as current network configuration; blob contents are not permanent ordinary EVM storage."
        ]
      }
    },
    {
      "id": "ethereum-blob-fees-fact-failure",
      "articleSlug": "ethereum-blob-fees",
      "statement": "Failure: The specified blob charge is burned and not refunded when execution fails.",
      "sourceIds": [
        "source-f8f55ea8fe5a54a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f8f55ea8fe5a54a7",
          "locator": "Gas accounting; Opcode to get versioned hashes; Point evaluation precompile; Consensus layer validation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-4844 separate blob meter, blob cap check, blob-fee formula, burn-before-execution and no-refund-on-failure. Added independently retrieved EIP-7691 for later parameter changes and Optimism for rollup user-fee components.",
          "Revised FAQ to precise BLOBHASH versioned-hash access and supplied KZG proof verification. Original fork constants are not claimed as current network configuration; blob contents are not permanent ordinary EVM storage."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "eip4844",
      "label": "Shard Blob Transactions",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-4844",
      "locator": "Gas accounting; Opcode to get versioned hashes; Point evaluation precompile; Consensus layer validation",
      "note": "Blob commitments, separate blob-gas fee calculations and temporary data availability.",
      "version": "EIP/ERC-4844; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.506Z",
      "contentSha256": "d1c1eb7c505919bb326f493d163b9200b72ed0de2416deae37db6d75cc07baa5",
      "recordId": "source-f8f55ea8fe5a54a7"
    },
    {
      "id": "optimism-fees",
      "label": "OP Stack transaction fees",
      "publisher": "Optimism",
      "url": "https://docs.optimism.io/stack/transactions/fees",
      "locator": "Gas fee components; Execution gas fee; L1 data fee; Operator fee",
      "note": "Rollup execution, data-publication and operator fee components depend on active network upgrades.",
      "version": null,
      "checkedAt": "2026-10-02T17:55:17.901Z",
      "contentSha256": "99d0390b07f64df31a092d5daedf00c7aecc718e5e5601e5b70f9935fa1dc043",
      "recordId": "source-06697b48df70893b"
    },
    {
      "id": "eip7691",
      "label": "Blob throughput increase",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-7691",
      "locator": "Specification; Rationale",
      "note": "A later fork changes blob targets and limits relative to EIP-4844.",
      "version": "EIP/ERC-7691; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:55:17.000Z",
      "contentSha256": "b66bc5e8d3d0007fcdb80bb33401bcc80fa238f195c6ce4d44e0795b1f3a2153",
      "recordId": "source-d6dfc1b290d95b50"
    }
  ],
  "related": {
    "articles": [
      "ethereum-calldata",
      "ethereum-layer-2",
      "wei-and-gwei"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and independent automated verification."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “Blob fees: a separate fee market for rollup data.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/ethereum-blob-fees/"
}
