# Rollup Deployment

Introduction

Welcome to GlitchD — your go-to solution for deploying and managing scalable blockchain infrastructures with a few clicks.&#x20;

Our platform allows developers and enterprises to quickly launch Layer 1 Blockchains and Layer 2/3 rollups, including Zero-Knowledge (ZK) and Optimistic rollups, as well as validiums, optimums, and application-specific chains. With our user-friendly interface, you can focus on building innovative applications without worrying about the underlying blockchain complexities.

**Fey Features**

* **Self-Service Deployment:** Deploy Layer 1 Blockchains or Layer 2/3 rollups through an intuitive self-service interface.
* **Fast Deployment Times:** Launch your chain in less than 30 minutes.
* **Flexible Configuration:** Select from multiple frameworks, settlement layers, and data availability layers to suit your project’s budget and specific needs.
* **Built-In Apps:** Access built-in tools like a test token faucet, block explorer, bridge, and public page to get started within minutes.

**Supported Frameworks**

* OP Stack
* Arbitrum Orbit \[coming soon]
* Avalanche L1 \[coming soon]
* ZK Stack \[coming soon]
* zkScroll \[coming soon]

**Supported Data Availability Layers**

* GlitchD DA
* Ethereum DA
* Celestia
* EigenDA \[coming soon]

**Supported Settlement Layers**

* Ethereum
* Base \[coming soon]
* Optimism \[coming soon]

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxUkbquvhbY6zYMo11zdh%2Fuploads%2FGR3htrtMcAXORAgUtb7O%2FDemo%20Animation.gif?alt=media&#x26;token=f24d54dc-726e-427b-90e9-4fe81e96a195" alt=""><figcaption></figcaption></figure>


# Deploy your rollup

Deploying your own Layer 2 or Layer 3 rollups with our Infrastructure as a Service (IaaS) platform is quick and easy. Our solution allows you to set up your rollup in just a few minutes—no coding required.

### Steps to Deploy

1. **Access the Platform:** Open the[ App](https://app.glitchd.network/).
2. **Sign In or Create an Account:** If you’re new, register for an account. Existing users can simply log in.
3. **Start a New Deployment:** Click on **Deploy a Rollup** to begin the process.
4. **Select Your Modular Stack:** Choose the framework, settlement layer, and data availability layer that best suit your project’s needs.
5. **Choose Deployment Type:** Decide between deploying a **Testnet** or a **Mainnet** chain, and click on **Continue to Payment**.
6. **Add Billing Details:** Enter your payment information. We charge a monthly fee per deployment, and you can cancel anytime by deleting your chain.
7. **Deploy:** Review your selections and click **Deploy**. Your rollup will be live in less than 30 minutes.&#x20;

If you need further assistance, feel free to [contact us](https://form.asana.com/?k=Z9jxyJMh4ZfS_gm848UDVg\&d=1207086925301414) or [schedule a demo](https://app.reclaim.ai/m/sean-/build-on-glitchd) for personalized support.

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxUkbquvhbY6zYMo11zdh%2Fuploads%2FhNzgTcZiQ0R8Edr7bRZI%2Fnew%20vid.gif?alt=media&#x26;token=38069dc1-f610-4c54-b150-3ad6650c12c4" alt=""><figcaption></figcaption></figure>


# Rollup Frameworks

Our platform supports multiple rollup frameworks, each offering unique advantages tailored to different project needs:

1. **OP Stack** – An Optimistic Rollup framework developed by Optimism, offering high performance, low fees, and full Ethereum equivalence.
2. **Arbitrum Orbit** – A customizable rollup solution from Offchain Labs, supporting AnyTrust technology and smart contract development in Rust, C++, and WebAssembly (WASM). \[coming soon]
3. **ZK Stack** – A Zero-Knowledge Rollup framework built by Matter Labs, enabling privacy-enhanced and highly scalable Layer 2 solutions. \[coming soon]
4. &#x20;**Scroll** – A zkEVM-based rollup framework, combining Ethereum compatibility with the privacy and efficiency of zero-knowledge proofs. \[coming soon]

Explore the detailed documentation of each framework to understand its features, benefits, and deployment process:


# Op Stack

### Overview

The OP Stack is an open-source, modular framework developed by[ Optimism](https://docs.optimism.io/) for building high-performance Optimistic Rollups on Ethereum. It allows developers to deploy scalable Layer 2 solutions with ease, offering significant improvements in throughput and transaction costs while maintaining Ethereum compatibility.&#x20;

**Key Features**

* **Ethereum Equivalence:** Full compatibility with Ethereum smart contracts and tooling, enabling seamless deployment without code modifications.
* **High Performance:** Achieves transaction speeds up to 10-100 times faster than Ethereum Mainnet.
* **Low Fees:** Reduces transaction costs significantly through optimized data compression and batch processing.
* **Modular Design:** Offers flexibility to customize and extend functionalities according to project needs.

**Benefits**

When deploying a rollup using the OP Stack on our platform:

* **Easy Deployment:** Set up your Optimistic Rollup quickly through our intuitive interface.
* **Customization:** Choose your preferred data availability layer and configure parameters to suit your project’s needs.
* **Support for Superchain Vision:** Option to opt into Optimism’s Superchain, a future network of interoperable chains.

**Documentation**

For more detailed information on the OP Stack, please refer to the[ Optimism Documentation](https://docs.optimism.io/).


# Arbitrum Nitro

\
​[Arbitrum Nitro ](https://docs.arbitrum.io/launch-orbit-chain/orbit-gentle-introduction)is an open-source framework provided by Offchain Labs that allows you to deploy your own customized Arbitrum Rollup or AnyTrust chains. With Arbitrum Nitro, you can build your own Layer 2 (L2) solutions that benefit from Arbitrum’s proven technology and Ethereum compatibility.

**Key Features**

* **Deploy Your Own L2:** Launch customized Arbitrum-based rollups tailored to your project’s requirements.
* **AnyTrust Chains:** Option to deploy AnyTrust chains using Data Availability Committees (DAC) for reduced costs.
* **Stylus Support:** Write smart contracts in languages like Rust, C++, or any that compile to WebAssembly (WASM).
* **Ethereum Compatibility:** Full compatibility with Ethereum, supporting EVM smart contracts.<br>

**Benefits of Deploying with Arbitrum Orbit**

* **Performance:** Achieve high throughput and low latency for your applications.
* **Cost Efficiency:** Further reduce costs with AnyTrust technology and alternative DA layers.
* **Quick Setup:** Easily configure and deploy your Arbitrum-based rollup through our platform.

**Documentation**

For more information on deploying your own L2 with Arbitrum Nitro, visit the [Arbitrum Developer Documentation](https://developer.arbitrum.io/).


# ZK Stack

The ZK Stack is an open-source framework developed by [Matter Labs](https://matter-labs.io/) that allows you to deploy your own Zero-Knowledge (ZK) Rollups, known as Hyperchains. Using zkSync’s infrastructure, you can build customized Layer 2 solutions that offer scalability and privacy.

**Key Features**

* **Deploy Your Own ZK Rollup:** Build your L2 rollup that is based on ZK proofs.&#x20;
* **Ethereum Compatibility:** Supports EVM smart contracts, enabling seamless migration.
* **Scalability**: Achieve high throughput and low transaction costs.
* **Future-Looking**: Position your project at the forefront of blockchain innovation.

Please note that currently we support only deployment of testnets for Zk stack rollups.&#x20;

**Documentation**

To learn more about deploying your own L2 with the ZK Stack, refer to the [ZK Stack Documentation](https://docs.zksync.io/zk-stack).


# Scroll zkEVM

Scroll  is an open-source framework that allows you to deploy your own zkEVM (Zero-Knowledge Ethereum Virtual Machine) Layer 2 (L2) solutions on Ethereum. By utilizing zero-knowledge proofs, Scroll SDK enables high-performance, scalable, and secure rollups that are fully compatible with the Ethereum ecosystem.

**Key Features**

* **Deploy Your Own zkEVM Rollup:** Launch a customized zkEVM-based Layer 2 solution.
* **Ethereum Compatibility:** Full support for Ethereum smart contracts and tooling.
* **High Throughput:** Benefit from increased transaction capacity and lower fees.
* **Privacy and Security:** Utilize zero-knowledge proofs for secure and private transactions.

**Benefits of Deploying with Scroll**

* **Ease of Migration:** Deploy existing smart contracts without changes.
* **Performance:** Offer faster and cheaper transactions to your users.
* **Developer Tools:** Continue using familiar Ethereum development environments.

**Documentation**

For detailed information on deploying your own L2 with Scroll, visit the [Scroll Documentation](https://docs.scroll.io/en/sdk/).


# Data Availability Options

Data availability is essential for ensuring that all transaction data in your rollup is accessible and verifiable. Our IaaS platform supports multiple data availability (DA) layers, giving you the flexibility to choose the option that best fits your project’s needs. Below are the DA options we offer:

1. [GlitchD DA Service](#id-1.-glitchd-da-service)
2. [Celestia](#id-2.-celestia)
3. [EigenDA](#id-3.-eigenda)
4. [Ethereum DA (Blobs or Call Data)](#id-4.-ethereum-da-blobs-or-call-data)
5. [Arbitrum AnyTrust DA](#id-5.-arbitrum-anytrust-da)

### 1. GlitchD DA Service

The GlitchD DA Service is our proprietary data availability layer designed by GlitchD Labs. It offers a cost-effective solution that is 10-100 times cheaper than other DA services. By using advanced technology, GlitchD DA provides a reliable and scalable DA solution tailored for modern blockchain applications.<br>

**Key Features**

* **Exceptional Cost Efficiency:** Significantly reduce data availability costs, saving up to 100x compared to other solutions.
* **High Throughput:** Supports a large volume of transactions with minimal delay.
* **Infinite Scalability:** Adjusts dynamically to network load for consistent performance and scales infinitely.

**Integration**

GlitchD DA Service integrates seamlessly with supported rollup frameworks on our platform, offering enhanced data availability and cost savings.

### 2. Celestia

[Celestia](https://docs.celestia.org/) is a scalable data availability network that securely scales with the number of users by using Data Availability Sampling (DAS). It allows you to deploy high-throughput, cost-efficient rollups with ease.

**Key Features**

* **Modular Architecture:** Enables flexible deployment of various execution environments.
* **Data Availability Sampling (DAS)**: Allows nodes to verify data availability without downloading entire blocks, enhancing scalability.
* **Namespaced Merkle Trees (NMTs)**: Organizes data into namespaces, allowing applications to retrieve only relevant data.

**Integration**

Celestia can be used as the DA layer with rollup frameworks like Optimistic Rollups, Arbitrum, and ZK Rollups on our platform.

### 3. EigenDA&#x20;

[EigenDA](https://docs.eigenda.xyz/) is a high-throughput, decentralized data availability service designed for Ethereum rollups. It utilizes EigenLayer’s restaking mechanism to ensure secure and scalable data availability.

**Key Features**

* **Scalability:** Handles high data throughput to meet increasing demands.
* **Security:** Uses restaking and cryptographic techniques like erasure coding and polynomial commitments to ensure data integrity.
* **Cost Efficiency:** Shares security and resources among participants to reduce costs.
* **Operator Network:** Employs a network of operators who store data chunks and facilitate availability.

**Integration**

EigenDA can be integrated with various rollup frameworks on our platform, providing scalable and secure data availability. For detailed information, visit [EigenDA’s documentation](https://docs.eigenda.xyz/).

### 4. Ethereum DA (Blobs or Call Data)

\
Using Ethereum’s data availability through call data or blob transactions is the classic way to ensure data is published and available and provides the highest level of security guarantee for your rollup. It offers strong security by leveraging Ethereum’s consensus but is significantly more costly.

**Key Features**

* **High Security:** Inherits Ethereum’s robust security and decentralization.
* **Simplicity:** Easy implementation without additional DA infrastructure.

• Compatibility: Works seamlessly with Ethereum-based rollup frameworks.

• EIP-4844 (Proto-Danksharding): Ethereum upgrade introduced blob transactions to reduce data costs for rollups compared to using Ethereum calldata.

**Integration**

You can use Ethereum DA with rollups on our platform, especially when maximum security is a top priority.&#x20;

### 5. Arbitrum AnyTrust DA

[Arbitrum AnyTrust DA](https://docs.arbitrum.io/how-arbitrum-works/inside-anytrust) is a data availability solution designed specifically for Arbitrum rollups. It reduces costs by using a committee-based approach instead of posting all data on-chain.

**Key Features**

* **Committee-Based Security:** Relies on a set of trusted validators (the Data Availability Committee) to ensure data availability.
* **Optimized for Arbitrum:** Integrates smoothly with Arbitrum rollups and leverages Arbitrum’s technology.
* **Fallback Mechanism:** If the committee fails, it can revert to on-chain data posting to maintain security.

**Integration**

When deploying Arbitrum rollups on our platform, you can choose Arbitrum AnyTrust DA as your data availability layer. For more information, consult the [Arbitrum developer documentation](https://docs.arbitrum.io/how-arbitrum-works/inside-anytrust).

### Choosing the Right DA Layer

Selecting the right data availability layer depends on your project’s needs regarding cost, security, scalability, and performance. Our platform provides flexibility by supporting multiple DA options.

<br>

**Considerations:**

* **Cost Efficiency:** If minimizing costs is a priority, the GlitchD DA Service offers significant savings of up to 100x compared to other solutions.
* **Security Requirements:** For the highest security, Ethereum DA leverages Ethereum’s robust consensus mechanism.
* **Scalability Needs:** For high-throughput applications, Celestia, EigenDA, GlitchD DA and Arbitrum Anytrust provide scalable DA solutions.
* **Framework Compatibility:** Ensure the DA layer is compatible with your chosen rollup framework (e.g., Arbitrum AnyTrust DA with Arbitrum rollups).
* **Trust Model:** Consider the trust assumptions of each DA layer, such as the committee-based approach of Arbitrum AnyTrust DA.

\
By offering a range of data availability options, including our proprietary **GlitchD DA** Service, we aim to provide you with the flexibility and tools needed to build efficient, secure, and cost-effective rollups tailored to your project’s unique requirements.

**Getting Started**

When deploying a new rollup, you can select your preferred data availability layer during the configuration process. Refer to our [Deployment Guide](broken://pages/li3oTEPt2i3luw8krV48) for more detailed instructions.


# Rollup Toolkit

Our platform provides a suite of built-in applications designed to enhance the usability and functionality of your rollup.&#x20;

1. **Testnet Faucet** – A tool that allows users to obtain testnet tokens for development and testing purposes.
2. **Block Explorer** – A blockchain explorer for tracking transactions, smart contract interactions, and network activity.
3. **Bridge Interface** – A secure interface for transferring assets between different blockchain networks and your rollup.
4. **Community Hub** – A centralized hub providing easy access to key resources, documentation, and tools.

Explore the documentation for each built-in app to learn more about its features and usage:


# Testnet Faucet

### What is a Testnet Faucet?&#x20;

The Testnet Faucet is a built-in tool that allows users to easily obtain testnet tokens for your rollup’s native cryptocurrency. This is essential for developers and testers who need to interact with the blockchain without incurring real financial costs.

### How to Use the Testnet Faucet

1. **Access the Faucet**

* Navigate to your rollup’s dashboard on the IaaS platform or Public page.
* Locate the Testnet Faucet section.

2. **Enter Your Wallet Address**

* Input the wallet address where you want to receive the test tokens.

3. **Request Tokens**

* Click on Request Tokens.
* Wait for the confirmation message indicating the tokens have been sent.

4. **Verify Receipt**

* Open your wallet application.
* Ensure that the test tokens have been credited to your account.

**Tips**

* **Frequency Limit:** To prevent abuse, there may be limits on how often you can request tokens.

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxUkbquvhbY6zYMo11zdh%2Fuploads%2FMop5n89aZsxRk6wxcSd6%2FScreenshot%202025-02-28%20at%2019.39.57.png?alt=media&#x26;token=335944c2-48c9-487a-be8d-8b2df8e020bb" alt=""><figcaption></figcaption></figure>


# Block Explorer

### What is a Block Explorer?

The Block Explorer is a user-friendly tool that allows you to view and search through the blockchain data of your rollup. It’s essential for monitoring transactions, verifying smart contracts, and analyzing network activity.

### How to Use the Block Explorer

1. **Access the Explorer**

* Visit the Block Explorer via your rollup’s dashboard or Public Page.

2. **Search Functionality**

* Use the search bar to enter a transaction hash, block number, or wallet address.
* Press Enter or click the search icon to view results.

3. **Explore Details**

* Click on a transaction or block to see detailed information.
* Navigate through linked addresses and transactions for deeper insights.

4. **Monitor Network Activity**

* Browse the latest blocks and transactions on the homepage.
* Utilize filtering options to sort and view specific data.

### Customization

• **Branding**: Personalize the look and feel of the Block Explorer to align with your project’s branding.

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxUkbquvhbY6zYMo11zdh%2Fuploads%2FnFvz6K2zEujBnjWksVoe%2Fscreencapture-explorer-glitchd-network-2025-02-28-19_49_47.png?alt=media&#x26;token=981d943a-0ac1-47be-a79f-d920917aca34" alt=""><figcaption></figcaption></figure>


# Bridge

### What is the Bridge Interface

The Bridge Interface enables users to transfer assets between different blockchain networks and your rollup. This functionality is vital for bringing liquidity into your ecosystem and allowing users to interact with your rollup using assets from other networks.

### How to Use the Bridge Interface

1. **Access the Bridge**

* From your rollup’s dashboard or Public Page, click on the **Bridge** link.

2. **Connect Your Wallet**

* Ensure your wallet is connected to the source network (e.g., Ethereum) or your rollup network.
* You may need to add your rollup network to your wallet if you haven’t already.

3. **Select Networks**

* In the Bridge interface, choose the Source Network (e.g., Ethereum) and the Destination Network (your rollup), or vise versa.

4. **Choose Assets to Transfer**

* Select the amount of tokens you wish to bridge.
* Review any associated fees and time for transfer.

5. **Initiate the Transfer**

* Click on the Transfer  button.
* Confirm the transaction details.

6. **Confirm the Transaction**

* Approve the transaction in your wallet when prompted.
* Wait for the transaction to be processed on the source network.

7. **Await Completion**

* The bridging process may take some time, depending on network conditions.
* Once completed, the assets will appear in your wallet on the rollup network.<br>

**Notes**

* **Transaction Fees:** Be aware of gas fees both on the source and destination networks when initiating a transfer.
* **Supported Tokens:** Only specific tokens may be supported for bridging. Check the list of supported assets beforehand.
* **Security:** Always ensure you are using the official Bridge Interface to avoid phishing attempts.

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxUkbquvhbY6zYMo11zdh%2Fuploads%2FXHo3tFe9T3wEvvpxIcaq%2F1.png?alt=media&#x26;token=7a5d72d0-bbb9-401a-b5d0-f0b2a8a0118c" alt=""><figcaption></figcaption></figure>


# Community Hub

### What is the Community Hub

The **Community Hub** is a centralized hub for your rollup, providing essential information and easy access to key resources. It serves as a one-stop destination for both your team and external users to interact with your rollup.

### How to Use the Community Hub

1. **Access the Page**

* Obtain the Public Page URL from your rollup’s dashboard.
* Share this URL with team members and users who need to access your rollup’s resources.

2. **Navigate Through Resources**

* Use the provided links to access various tools like the Testnet Faucet, Bridge Interface, and Block Explorer.

3. **Customization (For Admins)**

* If you have administrative access, you can customize the appearance and content of the Community Hub to match your branding.


# Dashboard Statistics

### What is the Dashboard Statistics&#x20;

Our dashboard provides rollup owners (admins) with vital statistics to monitor and manage their rollups effectively. The key metrics displayed are organized into three main categories:

1. [Balances (Batcher and Challenger)](#id-1.-balances-batcher-and-challenger)
2. [Profitability (Last 30 Days)](#id-2.-profitability-last-30-days)
3. [Transaction Data](#id-3.-transaction-data)

### 1. Balances (Batcher and Challenger)

* **Batcher Balance**:
  * This reflects the amount of ETH that you have allocated to the batcher account, which is responsible for aggregating transactions from the rollup users and submitting them to the Ethereum testnet/mainnet (or settlement layer).
* **Challenger Balance**:
  * This represents the amount of ETH held by the challenger, who monitors the rollup for invalid state transitions or fraud proofs. It’s part of the security mechanism.

***

### **2. Profitability (Last 30 Days)**

* **Revenue**:
  * Revenue is the total fees collected by the rollup service from user transactions over the past 30 days.
* **Cost**:
  * Costs represent the total expenses incurred in maintaining the rollup, primarily due to Data Availability and Settlement layer fees.
* **Profit**:
  * Profit is the difference between revenue and cost over the past 30 days.
  * This gives a direct view of the rollup’s economic viability for the service provider.

***

### **3. Transaction Data**

* **Total Transactions**:
  * This is the total number of user transactions processed by the rollup in the last 1, last 7 and last 30 days.
* **Weekly Change (WoW)**:
  * This metric shows the percentage increase or decrease in transaction volume compared to the previous week.
* **Unique Wallets**:
  * This indicates the number of distinct wallet addresses interacting with the rollup over the last 7 days.

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxUkbquvhbY6zYMo11zdh%2Fuploads%2F9hxyAYFcHA964x8z2llr%2Fimage.png?alt=media&#x26;token=d34cfc93-371f-4eac-b825-91cd70705db1" alt=""><figcaption></figcaption></figure>


# Data Availability

Data Availability Service for GlitchD stack

## GlitchD Data Availability Service

#### Data Availability Explained

Data availability is crucial in blockchain networks, particularly in Layer 2 solutions.

Rollups serve as a bridge between the Ethereum blockchain and off-chain computation, enabling transactions off-chain while maintaining Ethereum's security and asset system. While the emphasis often lies on scaling computation and execution, this is only part of the challenge. Both computation and data aspects are essential for effective blockchain scaling.

The increasing use of rollups, which facilitate more off-chain execution, heightens the need for efficient data availability solutions. This need arises from the necessity to store, access, and verify data from off-chain transactions. Robust data availability solutions are vital for the success of rollups. Without effective data handling, the scalability and performance advantages of rollups could be significantly compromised.

Base layer blockchains like Ethereum are evolving towards becoming Data Availability (DA) layers. At the same time, Ethereum is undergoing a significant transition. Historically an execution-focused blockchain, Ethereum is now incorporating new Ethereum Improvement Proposals (EIPs) to shift its focus towards data availability.


# RPC API

#### RPC Endpoints

You can make JSON RPC calls to GlitchD DA endpoints at <https://da.glitchd.network>.

#### DA RPC API Interface

| Method       | Params                                                                    | Return              | Description                                                                      |
| ------------ | ------------------------------------------------------------------------- | ------------------- | -------------------------------------------------------------------------------- |
| `commit`     | `blobs []Blob, namespace Namespace`                                       | `[]Commitment`      | Returns Commitment for each given Blob                                           |
| `get`        | `ids []Id, namespace Namespace`                                           | `[]Blob`            | Returns Blob for each given Id                                                   |
| `get_proofs` | `ids []Id, namespace Namespace`                                           | `[]Proof`           | Returns proofs for each given Id                                                 |
| `submit`     | `blobs []Blob, namespace Namespace`                                       | `[][]Id,Commitment` | Returns tuple of Id and Commitment for each given Blob                           |
| `validate`   | `ids []Id, commitments []Commitment, proofs []Proof, namespace Namespace` | `[]bool`            | Returns array of validation results for set of given ids, commitments and proofs |

Where:

* `Id` - \[]bytes
* `Blob` - \[]bytes
* `Commitment` - \[]bytes
* `Proof` - \[]bytes

#### RPC API Request/Response examples:

Service provided all requests and responses in [RPC 2.0 format](https://www.jsonrpc.org/specification)

`commit` Request body The argument is byte array

```json
   {
    "jsonrpc":"2.0",
    "id": 128,
    "method": "commit",
    "params": [
        [[104,101,108,108,111]],
        "namespace"
    ]
}
```

Success response should return an array of commitments of the byte array

```json
   {
    "jsonrpc":"2.0",
    "result":[[179,75,83,34,165,175,249,223,47,197,64,246,39,144,246,178,41,129,180,213,74,140,54,81,194,150,87,48,172,66,114,200,132,185,173,238,171,189,233,151,60,138,111,177,2,96,22,134]],
    "id":128
    }
```

`get` Request body

```json
   {
    "jsonrpc":"2.0",
    "id": 128,
    "method": "get",
    "params": [
        [
            [1,97,54,102,57,50,55,97,102,51,53,100,98,50,50,100,49,55,98,53,51,100,55,102,54,51,97,52,98,52,97,102,102,99,55,48,49,48,55,100,54,56,49,97,98,101,98,48,102,97,53,50,53,57,57,101,56,57,50,57,49,54,99,97]
        ],
        "namespace"
    ]
}
```

Success response

```json
   {
    "jsonrpc":"2.0",
    "result":[[104,101,108,108,111]],
    "id":128
    }
```

!!! In case there is no data in storage(means nothing was submitted before) it returns `empty bytes array`

`get_proofs` Request body

```json
   {
    "jsonrpc":"2.0",
    "id": 128,
    "method": "get_proofs",
    "params": [
        [
            [1,97,54,102,57,50,55,97,102,51,53,100,98,50,50,100,49,55,98,53,51,100,55,102,54,51,97,52,98,52,97,102,102,99,55,48,49,48,55,100,54,56,49,97,98,101,98,48,102,97,53,50,53,57,57,101,56,57,50,57,49,54,99,97]
        ],
        "namespace"
    ]
}
```

Success response

```json
   {
    "jsonrpc":"2.0",
    "result":[[166,226,152,3,148,197,142,68,37,3,30,235,83,168,156,244,25,94,85,95,38,18,205,209,242,109,0,45,121,48,13,160,133,205,96,223,139,179,76,141,151,183,74,156,153,101,48,136]],
    "id":128
    }
```

!!! In case there is no data in storage(means nothing was submitted before) it returns `empty string` Proof

`submit` Request body

```json
   {
    "jsonrpc":"2.0",
    "id": 128,
    "method": "submit",
    "params": [
        [[104,101,108,108,111]],
        "namespace"
    ]
}
```

Success response

```json
   {
    "jsonrpc":"2.0",
    "result":[
        [
            [1,97,54,102,57,50,55,97,102,51,53,100,98,50,50,100,49,55,98,53,51,100,55,102,54,51,97,52,98,52,97,102,102,99,55,48,49,48,55,100,54,56,49,97,98,101,98,48,102,97,53,50,53,57,57,101,56,57,50,57,49,54,99,97],
            [179,75,83,34,165,175,249,223,47,197,64,246,39,144,246,178,41,129,180,213,74,140,54,81,194,150,87,48,172,66,114,200,132,185,173,238,171,189,233,151,60,138,111,177,2,96,22,134]
        ]
    ],
    "id":128
    }
```

`validate` Request body 1st params argument is a "hello" string Id and Commitment("${Id}-{Commitment}"), see `Submit` example 2nd onw is a data with corrupted proof byte array

```json
   {
    "jsonrpc":"2.0",
    "id": 128,
    "method": "validate",
    "params": [
        [
            [1,97,54,102,57,50,55,97,102,51,53,100,98,50,50,100,49,55,98,53,51,100,55,102,54,51,97,52,98,52,97,102,102,99,55,48,49,48,55,100,54,56,49,97,98,101,98,48,102,97,53,50,53,57,57,101,56,57,50,57,49,54,99,97]
        ],
        [
            [179,75,83,34,165,175,249,223,47,197,64,246,39,144,246,178,41,129,180,213,74,140,54,81,194,150,87,48,172,66,114,200,132,185,173,238,171,189,233,151,60,138,111,177,2,96,22,134]
        ],
        [
            [166,226,152,3,148,197,142,68,37,3,30,235,83,168,156,244,25,94,85,95,38,18,205,209,242,109,0,45,121,48,13,160,133,205,96,223,139,179,76,141,151,183,74,156,153,101,48,136]
        ],
        "namespace"
    ]
}
```

Success response should return true and false

```json
   {
    "jsonrpc": "2.0",
    "result": [
        true
    ],
    "id": 128
}
```

!!! In case there is no data in storage(means nothing was submitted before) it returns `false` validation result

`ERROR RESPONSE` In case the request has invalid params

```json
{
    "jsonrpc":"2.0",
    "id": 128,
    "method": "submit",
    "params": [22]
}
```

it returns params validation error:

```json
{
    "jsonrpc": "2.0",
    "error": {
        "code": -32602,
        "message": "Invalid params",
        "data": "invalid type: integer `22`, expected byte array at line 1 column 3"
    },
    "id": 128
}
```


# Infrastructure

GlitchD DA leverages AWS CloudFormation, a robust service designed for managing and provisioning AWS infrastructure as code. This deployment model offers a highly scalable, reliable, and automated solution to manage the cloud resources.

<figure><img src="/files/dmHaPuDRidpfDeVxxE3Q" alt=""><figcaption><p>DA Infrastructure </p></figcaption></figure>


# DA Layer integration case studies

This section provides an overview of how the GlitchD Data Availability (DA) Layer integrates with Layer 2 (L2) rollups. The integration involves implementing a Light Client as an intermediary component. This Light Client encapsulates the necessary logic to enable rollups to maintain IDs (commitments to the transaction blob data) on the Layer 1 (L1) network while storing the full transaction data on the GlitchD DA Layer. The diagram below outlines each step of this workflow, offering a high-level understanding of the integration process.

The Light Client plays a crucial role in this architecture by ensuring the integrity and availability of transaction data. It achieves this by:

* **Storing IDs on L1:** Preserving the cryptographic commitment to the transaction data, which allows for verification and auditing on the L1 network.
* **Managing Data Storage on the DA Layer:** Offloading the actual transaction data to the GlitchD DA Layer, thereby optimizing storage efficiency and scalability.

By providing this intermediary layer, the integration facilitates a seamless connection between L2 rollups and the GlitchD DA Layer, enhancing scalability without compromising data integrity or availability.

<figure><img src="/files/lvLG3iqynlX8qXvF4qdo" alt=""><figcaption><p>Data Availability (DA) Layer Architecture</p></figcaption></figure>

**Note:** The current version of the Light Client is undergoing active testing and will be updated soon with new improvements.


# Integration Guide for OP Stack Rollup with GlitchD DA Layer

This section describes the requirements and procedures necessary to integrate OP Stack rullups with with GlitchD Data Availability (DA) Layer solution using Holesky testnet on Ethereum as settlement.

### Prerequisites and Initial Configuration

To initiate an OP Stack rollup, follow the steps provided in the [official documentation](https://docs.optimism.io/builders/chain-operators/tutorials/create-l2-rollup). OP Stack documentation covers all procedures necessary for deplying the rollup, however, please note that the following adjustments are necessary for switching the network to Holesky testnett:

* **Change the Network Chain ID:** Modify the chain ID from Sepolia to Holesky.
* **Modify the Batcher’s Destination L1 Address:** Update the batcher’s destination L1 address to separate transactions from the default destination address on the Holesky network.

The above two updates can be made after creating the `getting-started.json` file.

### Service Configuration for DA Layer Integration

Once all OP services are started, proceed with the following steps:

**1. Start the Light Client:** Initialize the light client service, which will handle storing L2 transaction batch data to the DA Layer.

**2. Stop the Batcher Service:** Temporarily halt the batcher service to apply the necessary configuration changes.

**3. Update the Batcher Configuration:** Modify the `--l1-eth-rpc` parameter in the batcher’s configuration to point to the light client’s RPC URL.

**4. Resume the Batcher Service:** Resume the batcher service to continue processing transactions.

[As illustrated in the Light Client diagram](https://docs.glitchd.network/glitchd-products/data-availability/da-layer-integration-case-studies), the light client performs the following functions:

* Stores L2 transaction batch data to the DA Layer.
* Saves versioned hashes on L1.
* Returns the versioned hashes to the batcher.

### Testing the Integration

A test OP Stack L2 network is available for experimentation:

* **Chain ID:** 42444
* **L2 RPC Node:** <http://geth-l2-op-stack-rollup-dev-1161098553.eu-central-1.elb.amazonaws.com:8545/>
* **Batcher transactions on the Holesky network can be found at the following link:**<https://holesky.etherscan.io/txs?a=0xff00000000000000000000000000000000042444>

By comparing the initial transactions with subsequent ones, particularly focusing on the input size, it becomes evident that the input size is significantly smaller in later transactions. This reduction occurs because the transactions contain only the versioned hashes of the data stored on the DA layer.

By adhering to these steps and configurations, the integration of the DA Layer solution with an OP Stack rollup can be successfully accomplished. For any questions or issues, please consult the documentation or contact our team.


# ZK-EVM

<figure><img src="/files/lh3Zv7ro0BgG8Vjc0nNv" alt=""><figcaption></figcaption></figure>


# Overview

GlitchD is a zero knowledge rollup network built on Ethereum.

Our network is compatible with EVM bytecode and designed for developers to feel like developing on Ethereum. Your codes work with Glitchd out of the box.


# Networks and RPC Endpoints

### GlitchD Testnet <a href="#op-mainnet" id="op-mainnet"></a>

| Parameter        | Value                                                                |
| ---------------- | -------------------------------------------------------------------- |
| Network Name     | `GlitchD Testnet`                                                    |
| Chain ID         | `0x63 (99 in decimal)`                                               |
| Currency Symbol  | `ETH`                                                                |
| Public RPC URL   | <https://testnet.glitchd.network/rpc>                                |
| Explorer         | [https://explorer.glitchd.network](Https://explorer.glitchd.network) |
| Bridging Service | <https://bridge.glitchd.network>                                     |


# Logo and Palette

For transparent logo, please see: [here](https://drive.google.com/drive/folders/1acz__9htD-ko187i4osvMrQ577W2yVAv?usp=sharing)

<figure><img src="/files/wgMvB1A3V182ptYdThVh" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/p1HMDi7JjMzbzv7vDVZW" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/BVDOUhuc14fK9A8Pr7CH" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/GVs7yPdlABwGVHcJkR7V" alt=""><figcaption></figcaption></figure>

## Color Palette&#x20;

<figure><img src="/files/AgXz2P07l29597vUETVK" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/85yjZjC8mhaFSo18MJb1" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/7pltL3LGc7aqhHTvnlK3" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/SnyGizKZa6VHggKu7VyW" alt=""><figcaption></figcaption></figure>


# Typography

For font access, please see: [here](https://drive.google.com/drive/folders/1SNGiTgYvXKI2GCOnabfQygbTcNAFHMlY)

<figure><img src="/files/eyemhi0AKmLDJ4DiHZ2F" alt=""><figcaption></figcaption></figure>


# Messaging

**Key Message**

GlitchD Labs is building the future bonded blockchain. Leveraging ZK technology, bondchains and our CDK, we power real-world applications and solve real-world problems, expanding beyond web3 in a secure and verifiable manner.

**Tagline**

*Primary*

* The Bonded Network
  * **The Bonded Blockchain, linking endless data with secure logic**

*Blurb (descriptive)*

* A Bonded network: Parallelized modular ZK-EVM blockchains, linked by an endless stream of available data, deployable by anyone.

*Supporting Phrases*

* “Interconnected future”
* “Connecting a democratized network of blockchains”


# Brand In Use

<figure><img src="/files/CrEi29kaBhBkBMLIS4gb" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/XXTt0Nt3pZXldjDikibH" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/fqpEATf6a12kxGiJ2q3E" alt="" width="563"><figcaption></figcaption></figure>


