> For the complete documentation index, see [llms.txt](https://docs.storageproofs.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.storageproofs.com/architecture/page.md).

# Overview

The core architecture behind Storage Proofs consists of several key components that work together.

## High-Level Component Overview

### Smart Contracts

These form the on-chain backbone of the Storage Proofs system.

| Contract Name              | Short Description                                       |
| -------------------------- | ------------------------------------------------------- |
| <h4>CommitmentsInbox</h4>  | Receives and processes data from other chains.          |
| <h4>FactsRegistry</h4>     | Stores and manages verified blockchain data.            |
| <h4>HeadersStore</h4>      | Efficiently stores and manages block headers.           |
| <h4>TimestampRemapper</h4> | Maintains mapping between timestamps and block numbers. |

Read more about these smart contracts [here](/architecture/smart-contracts.md).

## Off-Chain Proof Generation

This component generates the cryptographic proofs required for data verification.

## Storage Proof API

Provides an interface for developers to request Storage Proofs.

## Turbo

A smart contract interface that simplifies the integration of Storage Proofs into applications.

## Historical Block Hash Accumulator

Enables efficient access to historical block hashes.

## Native Messaging Systems

Facilitate secure communication between different blockchain networks.

## Component Interactions

When a smart contract on Chain B needs to access data from Chain A, it initiates a request through Turbo.&#x20;

Turbo interfaces with the Storage Proof API to request the necessary proofs.&#x20;

The Off-Chain Proof Generation system creates the required cryptographic proofs.&#x20;

These proofs are sent back through the API and Turbo to the requesting smart contract. The smart contract on Chain B uses the CommitmentsInbox to receive and verify the data from Chain A.&#x20;

The HeadersStore and FactsRegistry contracts store and manage the verified data. Other smart contracts can now access this verified data through the FactsRegistry.&#x20;

Throughout this process, the Historical Block Hash Accumulator enables efficient verification of historical data.&#x20;

Native Messaging Systems facilitate the secure transmission of critical data (like block hashes) between chains.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.storageproofs.com/architecture/page.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
