# Welcome to Blockops Docs

Enterprise-grade Web3 infrastructure, simplified.

Blockops is a comprehensive, managed infrastructure platform designed for developers, node operators, and Web3 enterprises. We abstract away the heavy lifting of DevOps, node maintenance, and backend engineering so your team can focus entirely on building decentralized applications and scaling your business.

From high-performance RPC endpoints that developers rely on, to managed data indexers, real-time ecosystem intelligence, and privacy-preserving observability — all powered by a globally distributed infrastructure network designed for maximum uptime and security.

***

## Infrastructure Layer

Core building blocks for connecting to and interacting with blockchain networks.

### [Blockchain Api](/developer/products/blockchain-api)

**Instant, reliable access to 20+ blockchain networks.** Connect your application to Ethereum, Solana, Polygon, and dozens more via high-performance RPC and WebSocket endpoints. Our globally distributed node network ensures low-latency requests with 99.99% uptime SLA.

* RPC/REST Endpoints via HTTPS or WebSockets
* 20+ supported networks including mainnets and testnets
* Auto-scaling infrastructure that handles traffic spikes
* Detailed analytics on request volume, latency, and method breakdown

### [Rollup](/developer/products/rollup)

**Deploy your own dedicated Layer 2 AppChain in minutes.** Launch a production-ready OP Stack rollup with predictable gas costs, custom tokenomics, and full EVM compatibility. Perfect for gaming studios, DeFi protocols, and enterprises requiring dedicated throughput.

* One-click deployment of OP Stack chains
* Custom gas tokens and fee structures
* Seamless bridging to Ethereum mainnet
* Built-in block explorer and monitoring tools

***

## Compute Layer

Deploy and manage blockchain nodes across multiple networks and cloud providers.

### [Mission Control](https://github.com/blockopsnetwork/blockops-docs/blob/main/developer/products/mission-control.md)

**Deploy blockchain nodes anywhere in minutes, not days.** Mission Control is Blockops' infrastructure provisioning engine—a unified deployment interface that automates the entire node lifecycle. Deploy full nodes, validator nodes, or archive nodes across 10+ blockchain networks on your preferred cloud provider or bare metal, all without writing a single line of DevOps code.

* One-click deployment across 10+ networks (Ethereum, Polygon, SSV, Polkadot, etc.)
* Multi-cloud flexibility to deploy on AWS, GCP, Cherry Servers, or bare metal
* Flexible architectures including Monolithic, Distributed, Standalone, and Linked setups
* Advanced configuration for MEV-Boost, SSH keys, and DKG credential management

***

## Data Layer

Tools for indexing, querying, and monitoring on-chain data.

### [Pulsar](/developer/products/pulsar)

**Managed data indexing for Web3 applications.** Deploy SubQuery or The Graph indexers without managing infrastructure. Pulsar handles synchronization, scaling, and maintenance while you focus on building powerful queries for your frontend.

* Support for SubQuery and The Graph protocols
* Automatic reindexing on chain reorganizations
* Real-time indexing with webhook notifications
* Query performance optimization and caching

***

## Observability Layer

Monitor, analyze, and optimize your infrastructure performance.

### [Relay](/developer/products/relay)

**Your real-time ecosystem intelligence engine.** Never miss a critical upgrade or governance vote. Relay aggregates release notes, security advisories, and ecosystem news from 60+ blockchain networks into a single, filterable dashboard with proactive alerts.

* Release tracking for major client software (Geth, Prysm, etc.)
* Ecosystem news from official foundation blogs
* Granular filters by network and priority level
* Slack/Email alerts for high-priority events

### [Telescope](/developer/products/telescope)

**Privacy-preserving Web3 observability for node operators and networks.** Telescope is an all-in-one observability tool that collects metrics, logs, traces, and runtime events from blockchain nodes and related infrastructure. Get deep insights into node performance without compromising operational security.

* **Auto-discovery & configuration** — Intelligent setup for Ethereum, Polkadot, SSV, and more
* **Multi-signal collection** — Metrics, logs, traces, and runtime events in one tool
* **Privacy-preserving** — Verifiable node observability without exposing sensitive data
* **AI-powered analysis** — Threat detection, anomaly identification, and automated retrospectives
* **Built-in alerting** — Telegram, Slack, Email, PagerDuty, and SMS integrations
* **Zero setup costs** — Fixed monthly fee, no hidden infrastructure charges

**Perfect for:**

* **Node Operators** — Monitor entire node fleets with ready-to-use dashboards
* **Blockchain Networks** — Gain comprehensive insight into all operators running your clients
* **Enterprise Customers** — Multi-tenancy setup with SLO tracking and intelligent log analysis

***

## Operations Layer

Management, monitoring, and support tools for production deployments.

### [Development Support](/misc/support)

**Expert assistance when you need it most.** Get direct access to our senior Web3 engineering team for architecture reviews, debugging, and optimization guidance. Available for enterprise customers and critical production issues.

* 24/7 priority support for enterprise plans
* Architecture consultations for scaling challenges
* Custom integration assistance for complex deployments
* Dedicated Slack channel with response time SLAs

***

## Supported Networks by Product

| Product             | Supported Networks                                                                                                                                                                                                                                            |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Blockchain API**  | Ethereum, Polkadot, Gnosis, Cronos, Polygon, Lisk, Assethub, Arbitrum, Zora, Celo, BSC, Optimism, Soneium, Starknet, Unichain, Solana, Fantom, Sonic, Zksync (Era), Blast, Linea, Berachain, Mantle, Scroll, Hyperbridge, Avalanche, Monad, Base.             |
| **Mission Control** | Ethereum, Polygon, Base, Starknet, SSV, Obol, Paycrest, Polkadot, Substrate (Testnets: Holesky, Hoodi, Sepolia, Amoy).                                                                                                                                        |
| **Pulsar**          | Ethereum, BSC, Avalanche                                                                                                                                                                                                                                      |
| **Rollup**          | OP Stack (Optimism) settling on Ethereum Mainnet or Ethereum Sepolia(Testnet)                                                                                                                                                                                 |
| **Relay**           | Over 60+ networks including Ethereum, Bitcoin, Solana, Avalanche, Cardano, Polkadot, Cosmos, NEAR, Aptos, Sui, Arbitrum, Optimism, Base, zkSync Era, Starknet, Polygon PoS, Polygon zkEVM, Linea, Scroll, Mantle, Celestia, Berachain, Monad testnet, Eclipse |
| **Telescope**       | Ethereum, Polkadot, SSV                                                                                                                                                                                                                                       |

***

## Why Build on Blockops?

| The Old Way                                            | The Blockops Way                                                    |
| ------------------------------------------------------ | ------------------------------------------------------------------- |
| Weeks of DevOps work to spin up reliable nodes         | **Minutes** to deploy production infrastructure                     |
| 3 AM pages for chain upgrades and hard forks           | **Automated monitoring** with proactive alerts via Relay            |
| Managing 5+ vendors for RPC, indexing, and L2s         | **Single platform** with unified billing and support                |
| Downtime during network congestion                     | **Auto-scaling infrastructure** with 99.99% uptime SLA              |
| Blind spots in node performance                        | **Complete observability** with Telescope metrics, logs, and traces |
| Hiring specialized blockchain infrastructure engineers | **Zero-code solutions** your existing team can use                  |

Blockops eliminates infrastructure complexity so you can ship faster. Whether you're validating smart contracts on a testnet or launching a decentralized exchange handling millions in daily volume, we ensure hassle-free integration with maximum focus on data security and high availability.

***

## Documentation Structure

Find exactly what you need based on your role:

**For Developers**

* Quick Start Guide — Get your first API call running in 5 minutes
* API Reference — Complete endpoint documentation
* SDKs & Tools — JavaScript, Python, and Go libraries
* Code Examples — Copy-paste snippets for common patterns

**For Node Operators**

* Node Deployment Guides — Best practices for validator setup
* Telescope Setup — Install observability agents across your fleet
* Monitoring & Alerting — Integrating with Relay and Mission Control
* Security Checklists — Hardening your infrastructure

**For Enterprises**

* Architecture Overview — How Blockops scales with your needs
* Compliance & Security — SOC 2, GDPR, and infrastructure audits
* Pricing & Plans — Custom solutions for high-volume workloads

***

## Stay Updated

{% hint style="info" %}
This documentation evolves continuously as Blockops adds new network protocols and product features. Bookmark this page and check back regularly.
{% endhint %}

* [**Blog**](https://medium.com/blockops) — Deep-dive tutorials, ecosystem analysis, and product updates
* [**Twitter**](https://twitter.com/blockopsnetwork) — Real-time announcements and Web3 infrastructure insights
* [**GitHub**](https://github.com/blockopsnetwork) — Open-source tools and SDK repositories
* [**Discord**](https://discord.gg/dpY7J9ck) — Ask questions and connect with other builders

***

## Ready to Start?

[**Sign Up Free**](https://app.blockops.network/signup) | [**View Pricing**](https://blockops.network/pricing) | [**Contact Sales**](https://blockops.network/contact)


# Blog

Discover exciting product updates, feature launches, and strategic partnerships that empower you to build and scale your blockchain nodes anywhere.

{% embed url="<https://blockopsnetwork.medium.com/blockops-secures-grant-funding-from-ssv-dao-a3637f3f7353>" %}

{% embed url="<https://blockopsnetwork.medium.com/blockops-partners-with-cherry-servers-for-affordable-and-reliable-bare-metal-hosting-b7763904006b>" %}

{% embed url="<https://medium.com/blockops/polytope-labs-partners-with-blockops-network-as-their-infrastructure-partner-499f9f4df644>" %}

{% embed url="<https://blockopsnetwork.medium.com/best-practices-for-ethereum-staking-node-management-4320625d99fe>" %}

{% embed url="<https://medium.com/blockops/blockchain-proof-of-stake-29bfaa923c5e>" %}

{% embed url="<https://medium.com/blockops/introducing-blockops-network-web3-infrastructure-made-easy-fc8b6d4bb2e5>" %}

{% embed url="<https://medium.com/blockops/blockops-begins-operations-providing-blockchain-node-infrastructure-services-for-developers-and-6d0eac9e10b0>" %}

{% hint style="info" %}
For more updates and insights, join our community on [Discord](https://discord.com/invite/nngqxkqdw8).
{% endhint %}


# Contact Us

Have questions about our services, need support, or want to explore partnership opportunities? We’re here to help.

Reach out today and let’s build the future of blockchain, one node after the other.

* [Discord](https://discord.com/invite/nngqxkqdw8)
* [Email](mailto:helllo@blockops.network)

We look forward to connecting with you!

{% embed url="<https://www.youtube.com/@Blockops_Network>" %}

{% embed url="<https://blockopsnetwork.medium.com/>" %}


# Why use Blockops

The easy way to build, scale and monitor your blockchain nodes anywhere.

Blockops provides a scalable blockchain node infrastructure ecosystem tailored for businesses to efficiently build, deploy, and manage blockchain products. Blockops is the go-to blockchain infrastructure that helps you go live in days with little cost.

Let’s walk through some factors that make Blockops an excellent choice for your Web3 project.

<details>

<summary>Seamless Experience with Blockops APIs</summary>

A high performance, multi-chain API for accessing blockchain data across multiple protocols

</details>

<details>

<summary>UI-Driven Infrastructure Management</summary>

Fully automated infrastructure operations via dashboards simple.

</details>

<details>

<summary>Tight Governance And Security</summary>

Regular code and security patch updates. Deploy well-maintained and regularly-updated nodes in just a few clicks and minutes.

</details>

<details>

<summary><strong>Affordable: pay only for what you use</strong></summary>

Connect your software to a cost-efficient node Pricing that Works for everyone

</details>

<details>

<summary>Quick Assistance</summary>

Fast personal consulting for both beginners and experienced developers.

</details>

We look forward to a great Web3 future ahead with all of you together.


# Getting Started

Learn how to generate an API key and make your first request

This quickstart guide will take you from zero to a fully deployed network or a public node in few minutes.

### Steps to get started with Blockops

* [Create an account](/developer/getting-started/how-to-create-an-account)


# How to create an account

Create an account with Blockops

Visit [Blockops dashboard here](https://blockops.network/api).

### Sign up to Blockops

### Google Auth

Google auth is a one click signup method to Blockops which requires no further verification after Google has authorized Blockops to retrieve required information from your account.

### Github Auth

Github auth is a one click signup method to Blockops which requires no further verification after Github has authorized Blockops to retrieve required information from your account.

### Email Signup

To sign up for an account using an email address, the following information will be required from you:

* Business name
* First name
* Last name
* Business name
* Email address
* Password
* Confirm password

and click **Create my account**.

<figure><img src="/files/7GWi1DkWdXcexKK9lO06" alt=""><figcaption><p>Blockops sign up page</p></figcaption></figure>

To activate your account, verify your email address by clicking the link sent to your inbox.


# Products


# Blockchain API

Connecting you to the world of web3 through APIs

**What is Blockchain API?**

The Blockops Blockchain API provides developers with instant, high-performance Remote Procedure Call (RPC) endpoints via HTTP and WebSockets (WSS). It acts as the critical communication bridge between your decentralized application (dApp) and the blockchain, handling node operations and syncing behind the scenes.

**The Problem It Solves**

Running your own blockchain nodes requires massive storage, constant updates, and 24/7 monitoring. The Blockchain API eliminates this infrastructure burden. You simply use our API endpoint to get reliable read/write access to the network, allowing you to focus entirely on building your application.

**Dashboard**

The dashboard gives access to all the available features on Blockops and provides a side navigation for easy navigation.

To get started, visit [blockops.network](https://www.blockops.network) and navigate to the Blockchain API page on the dashboard. This allows you to connect to a network which generates your API keys.

<div align="left"><figure><img src="/files/KWVHZG8J83VUaiMi0O5y" alt="" width="344"><figcaption></figcaption></figure> <figure><img src="/files/mm77TEjVXPw4mqpQVq9r" alt=""><figcaption></figcaption></figure></div>

### Supported Networks

Blockops' API Service supports:

* [Ethereum](/networks/supported-networks/ethereum)
* [Polkadot](/networks/supported-networks/polkadot)
* Gnosis
* Cronos
* Polygon
* Lisk
* Assethub
* Arbitrum
* Zora
* Celo
* BSC
* Optimism
* Soneium
* Starknet
* Unichain
* Solana
* Fantom
* Sonic
* Zksync
* Blast
* Linea
* Berachain
* Mantle
* Scroll
* Hyperbridge
* Avalanche
* Monad and
* [Base](/networks/supported-networks/base), all easily accessible from the dashboard.

**Accessing Endpoints**

1. **Select Project:** Choose your project from the top dropdown (e.g., "Default Project").
2. **Select Network:** Use the network selector to switch between chains (e.g., **Lisk** vs **Ethereum**) and environments (**Mainnet** vs **Testnet**).

<figure><img src="/files/LrKNvhAqGQvb10DjmPbb" alt="Network Selector" width="600"><figcaption></figcaption></figure>

**RPC Endpoints**

Once a network is selected, your unique **HTTP** and **WSS** (WebSocket) endpoints are automatically generated.

* **HTTP Endpoint:** Use this for standard JSON-RPC requests (e.g., fetching block data).
* **WSS Endpoint:** Use this for real-time subscriptions and events.

You can view your full **API Key** on the right side of the dashboard.

<figure><img src="/files/ifLEVJVE7oHNDia9R8jk" alt="RPC Endpoints" width="600"><figcaption></figcaption></figure>

**Integration Helper**

The dashboard includes a built-in integration helper. Select a method (e.g., `eth_getBlockByNumber`) and a language (e.g., `bash`, `js`, `python`) to generate a ready-to-use code snippet tailored to your API key.

<figure><img src="/files/CdoXBRyt6nYFRHXFL7QN" alt="Integration Helper" width="600"><figcaption></figcaption></figure>

### Common EVM RPC Methods

Once your endpoints are generated, you can interact with the network using standard JSON-RPC methods. Here is a quick reference for the most common methods you will use when building your project:

| Category                 | Method                      | Description                                                                                |
| ------------------------ | --------------------------- | ------------------------------------------------------------------------------------------ |
| **Account Info**         | `eth_getBalance`            | Returns the native token balance of an address (e.g., LSK or ETH).                         |
|                          | `eth_getTransactionCount`   | Returns the nonce of an account (essential for sending transactions).                      |
| **Chain State**          | `eth_chainId`               | Returns the specific Chain ID (e.g., Lisk Mainnet is 1135).                                |
|                          | `eth_gasPrice`              | Returns the current price of gas on the network in wei.                                    |
| **Transaction Info**     | `eth_getTransactionByHash`  | Gets the full details of a transaction using its unique hash.                              |
|                          | `eth_getTransactionReceipt` | Gets the receipt (status, logs, gas used) of a transaction.                                |
| **Contract Interaction** | `eth_call`                  | Executes a "read-only" call to a smart contract (costs zero gas).                          |
|                          | `eth_estimateGas`           | Estimates how much gas a transaction will cost before you send it.                         |
| **Events & Logs**        | `eth_getLogs`               | Returns an array of all logs matching a specific filter (highly useful for indexing data). |

### Practical Examples

**Connect via a command line**

You can connect to the network using websocket or HTTP with your API key in two ways:

* Adding the API key as a query string `?api_key=${APIKEY}`
* Or the request header `-H 'authorization: APIKEY ${APIKEY}'`

**cURL**

For example, the following cURL command can be used to get the header and body of a block.

`curl -H "Content-Type: application/json" -H "authorization: APIKEY xxxx" -d '{"id":1, "jsonrpc":"2.0", "method": "eth_getBlockByNumber", "params": ["latest", true]}' https://lisk.rpc.blockops.network/rpc`

**What Success Looks Like:** Here is the successful JSON response you will receive back, proving your app is communicating with the chain:

`{"jsonrpc":"2.0","result":{"hash":"0x381dd358f0b1e328e861822b2a51a72e8dc064803a5c7ccc96277da3b16d7667","number":"0xe07a1d", "timestamp": "0x65123abc"},"id":1}`

**wscat**

If you want to send data requests with WebSockets, you can use several libraries or wscat. You can install and use wscat as follows:

* Download wscat from <https://www.npmjs.com/package/wscat>
* Install wscat by running the following command: `npm install -g wscat`

You can connect to the network with wscat using two options by adding the API key as a query string:

`wscat -c 'wss://lisk.rpc.blockops.network/ws' --header 'authorization: APIKEY xxxx'`

Or the request header:

`wscat -c 'wss://lisk.rpc.blockops.network/ws?api_key=**********************'`

After executing the command, the terminal will display a message indicating that the connection has been enabled successfully:

`Connected (press CTRL+C to quit)`

Then, you can send the following request into the open terminal:

`> {"id":1, "jsonrpc":"2.0", "method": "eth_blockNumber"}`

<figure><img src="/files/nYhVbar8fJKXklHlkb5A" alt=""><figcaption><p>Response from network node</p></figcaption></figure>

### Connect via Polkadot JS UI

Connect via Polkadot JS API

If you are building on Polkadot or any Substrate-based chain, you can connect your application using the official `@polkadot/api` library.

First, install the library in your project repository:

```bash
npm install @polkadot/api
```

Then, instantiate the `WsProvider` using your Blockops WSS endpoint. The most reliable way to authenticate is by appending your API key as a query parameter in the URL.

```javascript
import { ApiPromise, WsProvider } from "@polkadot/api";

async function connectToBlockops() {
  const WSS_URL = "wss://polkadot.rpc.blockops.network/ws?api_key=YOUR_API_KEY";

  const wsProvider = new WsProvider(WSS_URL);

  try {
    const api = await ApiPromise.create({ provider: wsProvider });

    const chain = await api.rpc.system.chain();
    const lastHeader = await api.rpc.chain.getHeader();

    console.log(`Successfully connected to ${chain}!`);
    console.log(`Latest Block Number: ${lastHeader.number.toHuman()}`);
  } catch (error) {
    console.error("Connection failed:", error);
  }
}

connectToBlockops();
```

### Rotate API Key

Rotating API keys is important when an unauthorized third party has access to your API key. You have the option to reset it by using the Rotate Key button located in the project dashboard.

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

### Blockchain API Rate Limiting

**What is Rate Limiting?** Rate limiting is a mechanism that controls the number of API requests your application can make to the Blockops RPC nodes within a specific time frame (usually measured in Requests Per Second, or RPS).

### API Service Rate Limiting

For detailed information on how request limits are handled, how to manage your RPS (Requests Per Second), and how to upgrade your limits, please refer to our full guide on [Blockops API Rate Limiting](/developer/products/mission-control/appchain-deployment#theenhancedapiservice-regenerateapikey).

*(Note: You can monitor your real-time request volume and remaining limits directly from your Project Dashboard.).*

**API Error Codes**

The following error codes are frequently returned by our Blockchain API. However, it's important to note that this list doesn't include errors related to network-specific business logic.

| Code | Message               | Explanation                                                              |
| ---- | --------------------- | ------------------------------------------------------------------------ |
| 401  | Unauthorized Access   | Invalid API key or no API key found in request                           |
| 404  | No route matched      | This indicates the specific page you are trying to visit is non-existent |
| 429  | Too Many Requests     | You have exceeded your request limit.                                    |
| 500  | Internal Server Error | Something went wrong inside our servers. Contact support.                |

**Conclusion**

Blockops Blockchain API is a gateway to accessing your endpoint with ease and securely.

{% hint style="info" %}
[**Follow us on Twitter**](https://twitter.com/blockopsnetwork) **for more information on upcoming protocols and developments.**
{% endhint %}


# Mission Control


# Appchain Deployment

Connecting you to the world of web3 through API's

{% hint style="warning" %}
You can find Blockops quick start guides here: [Getting Started with Blockops](/developer/getting-started)
{% endhint %}

### Create a project

To get started, visit [https://blockops.network](https://beta-app.blockops.network/?callback=/app-chain/deploy) and navigate to the Appchain Deployment page. You can either register for a new account or log in if you already have one.

After your account has been verified, you'll be directed to the Appchain Deployment dashboard, which allows you to create projects, monitor analytics, or raise support requests.

<figure><img src="/files/qUT36ypAwJt7RoN8FHoS" alt=""><figcaption><p>Appchain Dashboard</p></figcaption></figure>

Press `Create project` to select any of the available networks on Blockops. Select the network you want to connect, and fill in the create project form.

<figure><img src="/files/4UewjCwcX5k4vizgChta" alt=""><figcaption><p>Creating an appchain deployment</p></figcaption></figure>

Finally click `Deploy project` button after filling all the sections in the form

<figure><img src="/files/gqyj9onDPutn2plYUXeG" alt=""><figcaption><p>List of Blockops projects</p></figcaption></figure>

You’ll be taken to a page where you can view all your Appchain deployments with various `status`.

<figure><img src="/files/XE49zDsASEjp2qbpBX7T" alt=""><figcaption><p>List of Appchain projects</p></figcaption></figure>

### API Service Rate Limiting <a href="#theenhancedapiservice-regenerateapikey" id="theenhancedapiservice-regenerateapikey"></a>

The Blockops API service has a limit on the number of requests that can be made to each API endpoint. The limit depends on whether you are using the public rpc endpoint or an API key.

The number of requests you can make before reaching the limit or being rate-limited will vary based on your chosen method of access.

* Public API endpoint - 50 requests/second
* Private API endpoint - 1000 requests/second

Typically only aggressive use should experience rate limiting.

Customers running into rate limits are encouraged to [contact us](/misc/support). We'll work with you to determine how best to avoid rate limits.

### Error Codes

The following error codes are frequently returned by our API service. However, it's important to note that this list doesn't include errors related to network-specific business logic.

| Code | Message               | Explanation                                                              |
| ---- | --------------------- | ------------------------------------------------------------------------ |
| 401  | Unauthorized Access   | Invalid and unathorized user or organization                             |
| 404  | No route matched      | This indicates the specific page you are trying to visit is non-existent |
| 500  | Internal Server Error | Something went wrong inside our servers. Contact support.                |
| 429  | Too Many Requests     | You have exceeded your request limit.                                    |

### All projects

The project List shows all projects, the network type, the creation date, and the status of the project. You also have the ability to search the projects by name.

<figure><img src="/files/XE49zDsASEjp2qbpBX7T" alt=""><figcaption><p>Project lists</p></figcaption></figure>

{% hint style="info" %}
[**Follow us on Twitter**](https://twitter.com/blockopsnetwork) **for more information on upcoming protocols and developments.**
{% endhint %}


# Node Deployment

Rapid development and deployment, slashing time-to-market for your revolutionary apps.

{% hint style="info" %}
You can find Blockops quick start guides here: [Getting Started with BlockOps](/developer/getting-started)
{% endhint %}

### Create a Node

Click `Connect` to select SSV on Blockops and select the network you want to create a node on Mission Control.

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

Three networks exist to deploy the SSV protocol on:

1. Mainnet
2. Holesky - One of two testnet environments for the testing and validation of new features and changes before deployment on the mainnet
3. Sepolia - One of two testnet environments for the testing and validation of new features and changes before deployment on the mainnet

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

### Platform Config

To create a node, the system suggests a `Project Name` which can be customised by editing the project name field. Blockops supports both self managed cloud providers and dedicated VPS platforms.

### GCP

Deploying a node using the GCP platform, a service file is required to provide a secure means of authorisation in connecting to an existing GCP service account. The GCP project ID is extracted from the uploaded service file and displayed. To proceed, region selection is required.

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

### Instructions for generating service file

**Instructions for generating service file**

1. Setup required variable that will be used throughout the process

`MY_GCP_PROJECT_ID=<GCP Project Id where you want to setup a node>`

2. Create service account

`gcloud iam service-accounts create my-nodes \`

`-project=$MY_GCP_PROJECT_ID \`

`-description="Blockops network access to create and manage blockchain nodes." \`

`-display-name="nodes-access"`

3. Grant permissions to the service account

`gcloud projects add-iam-policy-binding $MY_GCP_PROJECT_ID \\`

* `-member="serviceAccount:nodes-access@$MY_GCP_PROJECT_ID.iam.gserviceaccount.com" \\`
* `-role="roles/compute.instanceAdmin.v1"`

4. Required roles

`roles/compute.instanceAdmin.v1 roles/compute.loadBalancerAdmin roles/compute.networkAdmin roles/compute.securityAdmin roles/iam.serviceAccountAdmin roles/iam.serviceAccountUser roles/resourcemanager.projectIamAdmin`

### Snapshot Config

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

### AWS

Deploying a node using the AWS platform, an account access key ID and an account secret key is required to provide a secure means of authorisation in connecting to an existing AWS account. To proceed, region selection is required.

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

### Instructions for generating access keys

1. Install AWS CLI

If you haven’t already installed the AWS CLI, follow the official installation guide for your operating system [here](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)

2. Run the following command to create a new IAM user:

`aws iam create-user --user-name your_new_user`

3. Attach the AdminstratorAccess policy to this user

`aws iam attach-user-policy --user-name your_new_user --policy-arn arn:aws:iam::aws:policy/AdministratorAccess`

4. Create an access key for your newly created IAM user:

`aws iam create-access-key --user-name your_new_user \\`

5. Save the Access Key ID and Secret Access Key

The output will include the new Access Key ID and Secret Access Key. It’s important to copy these immediately as the secret access key won’t be displayed again.

Immediately save the Access Key ID and Secret Access Key to a secure location or a password manager.

### Configure self managed platforms, AWS and GCP

Two configuration options exists to set your needed resources;

1: Default - the default configuration is a recommended setting taking into account the minimum needed resources to spin up a node.

2: Custom - This configuration enables you to customise your resources.

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

### Cherry Server

To connect to Cherry server, an API key and project ID is required

**Instructions for generating a Cherry server API key**

* Log in to the Cherry Servers client portal at<https://portal.cherryservers.com/>
* Navigate to the API section under user profile.
* Select API key and customise a label
* Generate a new API token.

**Instructions for generating a Cherry server project ID**

* Log in to the Cherry Servers client portal at <https://portal.cherryservers.com/>.
* Navigate to the "Projects" section on the dashboard.
* Click on the "Create Project" button.
* Provide a name for your new project and any other required details.
* After creating the project, you'll be able to see its Project ID.

If you already have existing projects:

* Go to the "Projects" section in the dashboard.
* Select the project you want to use.
* The Project ID will be displayed in the project details.

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

### SSH Key

To `add` a new SSH public key, provide a key identifier and generate a public SSH key.

Instructions on generating an SSH key pair

* Navigate to <https://www.wpoven.com/tools/create-ssh-key>
* Create a password if needed
* Set your preferred type and length
* Click create key to generate your key

After generating your public SSH key, copy and paste it into the required field to create an SSH key on Blockops.

From the dropdown menu, select your newly created public SSH key and upload your private SSH key to proceed.

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

Choose a region and select a corresponding plan that aligns with your resource requirements.

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

### Bare Metal

You are required to provide a username, hostname, port number and password, you have the option of authenticating via SSH by uploading a private SSH Key.

Recommended instance size for Bare metal

> CPU: Dual-core processor (4 cores recommended)\
> RAM: 16 GB (32 GB recommended)\
> Storage: 1 TB SSD (2 TB NVMe SSD recommended)\
> Bandwidth: 10 Mbps stable connection (25 Mbps recommended)

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

### Configure Container

To configure a container, you need to provide a container name, select a restart policy, and choose whether to run as privileged, allocate a buffer for STDIN, or allocate a pseudo-TTY. You also have the option to set commands, arguments, and environment variables.

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

### Network Config

> **Deployment strategy**

* Monolithic deployment: This strategy deploys the created node entirely on Blockops server.
* Distributed deployment: This strategy requires an execution and consensus URL to facilitate deployment on Blockops servers.

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

**How to access an execution and consensus url**

—- image required

To deploy using the distributed deployment, you need to provide a working RPC Endpoint URL and a Beacon API Endpoint URL. You can find a Beacon API Endpoint [**here**](https://ethereum-beacon-api.publicnode.com/).

To configure the SSV network, the selection of an image version is required alongside providing an operator ID

> **DKG credentials**

For operators to properly participate in the SSV protocol's DKG process, certain credentials and data are needed:

• Encrypted private key: The private key of the operator, kept in a file encrypted with a password as a .json file.

• Operator password: The operator's password uploaded as a text file.

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

> **Clients and Image versions**

**Execution client:** To create a node on the SSV network using Blockops servers, you must set up an execution client. This process allows you to select your preferred client and a preferred image version.

**Consensus client:** To create a node on the SSV network using Blockops servers, you must set up a consensus client. This process allows you to select your preferred client and a preferred image version.

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

**Mev Boost**

Connect to multiple relays to increase diversity and enhance network security from the list of MEV-boost providers.

### Launch Config

<div><figure><img src="/files/vpVHB47FNn7LrY7QZE0h" alt=""><figcaption></figcaption></figure> <figure><img src="/files/QwH0I4JuvYIPfITGZBpZ" alt=""><figcaption></figcaption></figure></div>

Before deploying your configured node, you can review the configuration settings and enable monitoring by activating the Telescope feature.

### Deployed Node

Once a node is deployed successfully, the resource utilisation can be tracked on the dashboard alongside enabled containers.

<div align="center"><figure><img src="/files/y6TUc6k9FvJudf6ucknR" alt=""><figcaption></figcaption></figure> <figure><img src="/files/wsSDFEVDIvgArziEAzyj" alt=""><figcaption></figcaption></figure></div>

### Support

Support can be assed via the support icon at the bottom right of the dashboard or contact us at <hello@blockops.network>

{% hint style="info" %}
[**Follow us on Twitter**](https://twitter.com/blockopsnetwork) **for more information on upcoming protocols and developments.**
{% endhint %}


# Private Servers Deployment

This guide walks you through connecting and deploying blockchain node to your private server on Blockops.

### Prerequisites

* Ensure that **SSH server** is running on your device.
* If your SSH server runs on a non-default port (not 22), update the SSH port in the Blockops UI to match.
* Ensure your deployment user does **not require a password for sudo** commands.
  * You have two options:
    1. **Create a dedicated passwordless user** for Blockops.
    2. **Allow passwordless sudo** for your user by editing the sudoers file:

       ```bash
       sudo visudo
       ```

       Add this line (replace `youruser` with your actual username):

       ```bash
       youruser ALL=(ALL) NOPASSWD:ALL
       ```

### Authentication Methods

1. Password-Based SSH Authentication: you'll need:

   1. username: the username on your device
   2. password: the password for that user
   3. port: the SSH port (default: 22)

   <br>
2. Private Key Authentication

{% hint style="info" %}
Blockops does not support passphrased private keys.
{% endhint %}

1. Create a new SSH key pair: run this command on your terminal<br>

   ```
   ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
   ```
2. When prompted:
   1. File path: Press Enter to save to default (\~/.ssh/id\_rsa)
   2. Passphrase: Press Enter to create a key without a passphrase<br>
3. Add the public key\
   Copy the contents of `~/.ssh/id_rsa.pub` into `~/.ssh/authorized_keys`

### Connecting Your Private Server to Blockops

**Log in**

* Go to [app.blockops.network](https://app.blockops.network)
* Sign in or create an account

#### Select deployment options

1. Choose the network you want to deploy
2. Select Baremetal as the cloud provider
3. In the Authentication section, check the private server field and follow the on-screen instructions.

#### Install Autossh

On your private server, install autossh:

{% tabs %}
{% tab title="MacOS" %}

```bash
brew install autossh
```

{% endtab %}

{% tab title="Ubuntu/Debian" %}

```bash
sudo apt update && sudo apt install -y autossh
```

{% endtab %}
{% endtabs %}

#### Establish the SSH Tunnel

Run this command once (to add blockops.sh:7777 to known\_hosts):

{% hint style="info" %}
You can find this command in the **Authentication** section after selecting the **Private Server** option.
{% endhint %}

```bash
sudo autossh -M 0 -R example71:22:localhost:22 blockops.sh -p 7777
```

Then, re-run the same command to establish the persistent connection

```bash
sudo autossh -M 0 -R example71:22:localhost:22 blockops.sh -p 7777
```

This creates a private, secure tunnel between your server and Blockops.

#### Deploy Your Node

Return to the Blockops UI and click Continue to finalize the connection and deploy your node.


# Rollup Deployment


# Pulsar

Managed Indexers for SubQuery and The Graph

### What is Pulsar?

Pulsar is Blockops' managed indexing service designed to eliminate the complexity of running blockchain data infrastructure. It allows developers to deploy **SubQuery** or **The Graph** indexers to query blockchain data via high-performance GraphQL endpoints.

Think of Pulsar as your dedicated indexing infrastructure team. Instead of spending weeks setting up servers, configuring databases, and managing RPC connections, you can deploy a production-ready indexer in minutes. Pulsar handles all the underlying infrastructure, including:

* Server provisioning and scaling
* Database management and optimization
* RPC endpoint allocation and rate limiting protection
* Indexer synchronization and health monitoring
* High-availability GraphQL endpoint delivery

Whether you're building a DeFi dashboard, an NFT marketplace, or a blockchain analytics platform, Pulsar provides the data layer you need without the operational overhead.

***

### The Problem Pulsar Solves

Building applications on blockchain requires access to indexed data. Without an indexer, your application would need to scan every block on the blockchain to find relevant events - an approach that is slow, expensive, and impractical for most use cases.

#### The Traditional Challenges

Before managed indexing services like Pulsar, developers faced significant hurdles:

| Challenge                | Description                                                                                                   |
| ------------------------ | ------------------------------------------------------------------------------------------------------------- |
| **Infrastructure Setup** | Setting up servers, databases, and RPC connections requires DevOps expertise and significant time investment. |
| **RPC Rate Limiting**    | Shared RPC endpoints often hit rate limits during heavy sync operations, causing indexing failures.           |
| **Scaling Complexity**   | As data volume grows, manually scaling infrastructure becomes complex and error-prone.                        |
| **Monitoring Overhead**  | Building and maintaining monitoring systems for indexer health requires ongoing effort.                       |
| **High Availability**    | Ensuring indexer uptime with failover and redundancy is challenging to implement correctly.                   |

#### How Pulsar Addresses These Challenges

Pulsar eliminates these pain points by providing:

1. **One-Click Deployment**: Deploy indexers in minutes, not weeks. No server configuration or DevOps expertise required.
2. **Dedicated RPC Allocation**: Every indexer gets its own RPC endpoint, eliminating rate limiting issues during sync.
3. **Automatic Scaling**: Infrastructure scales automatically based on your indexer's needs.
4. **Built-in Monitoring**: Real-time sync status, health metrics, and log access from a unified dashboard.
5. **Production-Ready Endpoints**: High-availability GraphQL endpoints with automatic failover.

***

### Getting Started

This section walks you through deploying your first indexer on Pulsar. By the end, you'll have a fully operational indexer syncing blockchain data and serving GraphQL queries.

#### Step 1: Accessing the Pulsar Dashboard

To begin, navigate to your Blockops project dashboard. In the left sidebar, you'll see the **Pulsar** option under the Products section. Click on it to access the Pulsar dashboard.

\> If this is your first time using Pulsar, you'll see an empty state dashboard with a prominent "Create Indexer" button. If you have existing indexers, you'll see them listed with their current status.

<figure><img src="/files/tTM81fkSNGkQgSiZ2AO3" alt="Pulsar Dashboard" width="600"><figcaption></figcaption></figure>

#### Step 2: Creating Your First Indexer

Click the **Create Indexer** button to begin the deployment process. You'll be presented with two distinct deployment paths:

<figure><img src="/files/AO0zkNQHVtwEx6lf7yWZ" alt="Deployment Paths" width="600"><figcaption></figcaption></figure>

**Option A: Deploy a Community Indexer (Recommended for Beginners)**

Community Indexers are pre-configured, verified indexers maintained by Blockops. This is the fastest way to get started with popular blockchain protocols. Select this option if you want to index standard data like token transfers, DEX trades, or NFT events without writing custom indexing logic.

**Option B: Import a Project**

If you have a custom Subgraph or SubQuery project, select this option to import it via an IPFS hash. This is ideal if you've developed custom indexing logic for your specific use case.

\> Custom project imports are currently handled through our Concierge service to ensure optimal resource allocation and compatibility. After selecting this option, you'll be prompted to contact our team for assistance.

<figure><img src="/files/4fToqE8GfRU5fDmdIo3d" alt="Import Concierge" width="600"><figcaption></figcaption></figure>

#### Step 3: Configuring Your Indexer

After selecting "Deploy a Community Indexer," you'll enter the configuration wizard. This process has two main stages:

**3.1 Protocol Configuration**

First, you'll configure the blockchain protocol and indexing framework:

| Field        | Description                                                                                        |
| ------------ | -------------------------------------------------------------------------------------------------- |
| **Provider** | Choose between SubQuery or The Graph indexing frameworks.                                          |
| **Network**  | Select the blockchain protocol (e.g., Ethereum, BSC, Avalanche) and environment (Mainnet/Testnet). |

<figure><img src="/files/M4mZkXP4vSbHopTldGCY" alt="Protocol Selection" width="600"><figcaption></figcaption></figure>

<figure><img src="/files/sz3iuQMpYarXbhCyAwvl" alt="Protocol Selection" width="600"><figcaption><p>for the graph there are more blockchain protocol selection</p></figcaption></figure>

The **Provider** selection determines which indexing framework your indexer will use. Both SubQuery and The Graph are industry-standard frameworks with extensive documentation and community support.

The **Network** selection specifies which blockchain your indexer will monitor. Pulsar supports a range of EVM-compatible chains including Ethereum, BSC and Avalanche.

**3.2 Infrastructure Settings**

Next, you'll configure the infrastructure for your indexer:

**RPC Endpoint:** Pulsar automatically assigns a dedicated Blockops RPC endpoint to your indexer. This ensures your indexer never gets rate-limited during heavy synchronization operations. The RPC endpoint is exclusively allocated to your indexer and is not shared with other users.

**Database:** Choose between two database options:

* **Shared Database**: Best for testing, development, and low-volume production queries. Resources are shared across multiple indexers, making this a cost-effective option for getting started.
* **Dedicated Database**: Recommended for production applications requiring high IOPS, consistent performance, and exclusive resources. Your database runs on isolated infrastructure with guaranteed performance.

<figure><img src="/files/u80MMfSu6Rij6RpDe1nL" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

#### Step 4: Deploying Your Indexer

After configuring your settings, click the **Deploy** button to initiate deployment. The deployment process typically takes 2-5 minutes, during which Pulsar:

1. **Infrastructure Provisioning**: Pulsar allocates the necessary compute resources for your indexer.
2. **Database and RPC Setup**: Configures the database and establishes dedicated RPC connections.
3. **Code Deployment**: Deploys your subgraph or SubQuery project code to the infrastructure.
4. **Sync Initiation**: Begins indexing blockchain data from the starting block.

Once deployment is complete, your indexer will appear in the Pulsar dashboard with a **Ready** status. Congratulations - your indexer is now live and syncing blockchain data!

<figure><img src="/files/bVuDuXMMhu6VTAmh1Mzt" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

***

### Understanding Your Deployed Indexer

After deployment, clicking on your indexer name opens the detailed indexer view. This section explains what you'll see and how to interpret the information.

#### Indexer Overview Panel

The top section displays essential information about your indexer:

| Field             | Description                                                                        |
| ----------------- | ---------------------------------------------------------------------------------- |
| **Name**          | The unique identifier for your indexer (e.g., ethereum-mainnet-indexer-swirrigol). |
| **Framework**     | The indexing framework being used (thegraph or subquery).                          |
| **Subgraph**      | The subgraph or project being indexed (e.g., chainrails/mainnet).                  |
| **Version**       | The version of the subgraph code (e.g., 0.0.1).                                    |
| **Updated**       | When the indexer configuration was last modified.                                  |
| **Deployment ID** | The IPFS hash of the deployed subgraph code (Qm...).                               |

<figure><img src="/files/UsQd9fRzKZ3kfmN000nW" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

#### Indexer Status and Health Monitoring

The Status section provides real-time visibility into your indexer's synchronization progress:

| Metric                   | Description                                                                                |
| ------------------------ | ------------------------------------------------------------------------------------------ |
| **Sync Status**          | Percentage of blockchain history that has been indexed (0-100%).                           |
| **Deployment Status**    | Current state of the indexer (Active, Syncing, Error, etc.).                               |
| **Chain Headblock**      | The latest block number on the blockchain network.                                         |
| **Deployment Headblock** | The latest block your indexer has processed.                                               |
| **Blocks Behind**        | How many blocks behind the chain head your indexer is (should be low for synced indexers). |

<figure><img src="/files/A1l0OG15rAXJMllIHfKJ" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

When your indexer first deploys, the Sync Status will show a percentage as it catches up to the latest blockchain block. For established chains like Ethereum Mainnet, initial sync can take several minutes depending on the subgraph complexity. Once synced, your indexer will maintain real-time synchronization with new blocks.

#### Available Actions

The Actions panel provides three management options:

* **Restart:** Restarts your indexer process. This is useful if you notice your indexer has stopped syncing or is experiencing issues. The restart process preserves your indexed data and resumes synchronization from where it left off.
* **Update Version:** Allows you to update your indexer to a new version of the subgraph or SubQuery project. When a new version is published to IPFS, you can use this action to deploy the updated code to your indexer.
* **Update RPC:** Changes the RPC endpoint assigned to your indexer. This can be useful if you're experiencing RPC-related issues or want to switch to a different region for lower latency.

<figure><img src="/files/wXsT0qTipaFnEIQxMfXK" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

#### Logs and Troubleshooting

The Logs section provides access to your indexer's runtime logs. You can filter logs by level:

* **All:** Shows all log entries
* **Info:** Informational messages about normal operation
* **Warn:** Warning messages indicating potential issues
* **Error:** Error messages requiring attention
* **Fatal:** Critical errors that may have caused the indexer to stop

<figure><img src="/files/QRrJ3V8BsHdviMVuvZcS" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

You can also adjust the time range to view logs from the last 15 minutes, 1 hour, or 24 hours. If your indexer shows "No Logs Available," it typically means the indexer is running normally without generating log output.

#### Managing Your Indexers

As your project grows, you may deploy multiple indexers for different protocols or use cases. The Pulsar dashboard provides a unified view of all your indexers.

**Dashboard Overview**

The main Pulsar dashboard displays a list of all your indexers when clicked on dispalys key information at a glance:

* **Indexer Name:** Click to view detailed information
* **Status:** Ready, Syncing, Error, or Stopped
* **Framework:** The Graph or SubQuery
* **Graph Node Endpoint:** The GraphQL endpoint URL for queries
* **Created Date:** When the indexer was deployed

#### Querying Your Indexer

Once your indexer is synced, you can query it using the GraphQL endpoint URL displayed in the dashboard. This endpoint supports standard GraphQL queries and subscriptions.

Example query structure for The Graph indexers:

```graphql
query {
  transfers(first: 5) {
    id
    from
    to
    value
  }
}
```

You can test queries directly in your browser using the GraphQL playground by appending `/graphql` to your endpoint URL.

#### Best Practices

Following these best practices will help you get the most out of Pulsar and ensure your indexers run smoothly.

**Choosing the Right Database**

* Use Shared Database for development, testing, and low-traffic production applications
* Use Dedicated Database for high-traffic production applications or when consistent performance is critical
* Monitor your database performance and upgrade if you notice query latency increasing

**Indexer Monitoring**

* Regularly check the Sync Status to ensure your indexer is keeping up with the blockchain
* Set up alerts for when "Blocks Behind" exceeds a threshold (e.g., 100 blocks)
* Review logs periodically for warnings or errors
* Monitor your GraphQL endpoint response times

**Performance Optimization**

* Design efficient subgraph schemas to minimize indexing time
* Use appropriate entity relationships to avoid excessive database queries
* Consider using time-series patterns for high-volume event data
* Test your indexer on a testnet before deploying to mainnet

**Security Considerations**

* Keep your GraphQL endpoint URL confidential - it provides direct access to your indexed data
* Implement authentication in your application layer if sensitive data is being indexed
* Regularly update your indexer to the latest subgraph versions for security patches

#### Troubleshooting Common Issues

This section helps you diagnose and resolve common issues you might encounter.

**Indexer Not Syncing**

* **Symptoms:** Sync Status stays at 0% or doesn't increase over time.
* **Possible Causes and Solutions:**
  * **RPC Connection Issues:** Check the Logs for RPC-related errors. Try updating to a different RPC endpoint using the Update RPC action.
  * **Subgraph Configuration Error:** Verify your subgraph manifest and schema are correctly configured. Check logs for parsing errors.
  * **Network Congestion:** During high network activity, sync may be slower than usual. Monitor the Blocks Behind metric.

**High Blocks Behind Count**

* **Symptoms:** The "Blocks Behind" metric shows a high number and keeps increasing.
* **Possible Causes and Solutions:**
  * **Insufficient Resources:** Consider upgrading to a Dedicated Database for better performance.
  * **Complex Indexing Logic:** Optimize your subgraph handlers to process events more efficiently.
  * **RPC Rate Limiting:** Even with dedicated RPC, extreme load can cause delays. Contact support if this persists.

**GraphQL Endpoint Not Responding**

* **Symptoms:** Queries to your endpoint timeout or return errors.
* **Possible Causes and Solutions:**
  * **Indexer Not Fully Synced:** Wait for sync to complete before querying. Partial data may be available but inconsistent.
  * **Database Overload:** High query volume can overwhelm shared databases. Consider upgrading or implementing caching.
  * **Network Connectivity:** Verify your application can reach the endpoint URL. Check for firewall or DNS issues.

#### Getting Help

If you encounter issues not covered here:

* Check the Logs section for specific error messages
* Contact Blockops Support with your indexer name and error details
* Join the Blockops community Discord for peer support

{% hint style="info" %}
[**Follow us on Twitter**](https://twitter.com/blockopsnetwork) **for more information on upcoming protocols and developments.**
{% endhint %}


# Rollup

Deploy high-performance Layer 2 infrastructure in minutes with managed Optimism rollups

Blockops Rollups is a managed infrastructure service that enables developers to deploy dedicated Layer 2 (L2) blockchains using the Optimism (OP) Stack. Unlike shared public chains where your application competes for blockspace with thousands of others, a Blockops Rollup provides an isolated, high-performance execution environment with predictable gas costs, customizable throughput, and complete control—while inheriting Ethereum's battle-tested security.

Think of Blockops Rollups as your dedicated blockchain infrastructure team. Instead of spending months deploying smart contracts, configuring sequencers, operating provers, and managing fault-proof systems, you can launch a production-ready L2 chain in approximately 15 minutes. Blockops handles all underlying infrastructure, including:

* L1 smart contract deployment and verification
* Sequencer, prover, and node provisioning
* RPC endpoint allocation and load balancing
* Block explorer configuration
* Genesis state and chain configuration
* Automatic scaling and high-availability guarantees

Whether you're building a DeFi protocol requiring guaranteed throughput, an NFT platform needing predictable minting costs, or an enterprise application requiring dedicated blockspace, Blockops Rollups provides the execution layer you need without the operational overhead.

### The Problem Rollups Solve

Building applications on shared Layer 1 or Layer 2 blockchains introduces significant constraints that limit user experience and business model viability.

**The Traditional Challenges** Before dedicated rollup infrastructure like Blockops, developers faced fundamental hurdles:

| Challenge                     | Description                                                                                                                                                      |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Gas Price Volatility**      | On shared chains, gas prices spike during network congestion. A simple transaction can cost $50+ during peak periods, making applications economically unusable. |
| **Throughput Bottlenecks**    | Your application competes for limited blockspace. When popular NFTs drop or DeFi protocols launch, other applications slow to a crawl or become unusable.        |
| **Infrastructure Complexity** | Operating your own rollup requires deploying 40+ L1 smart contracts, running sequencers and provers, maintaining fault-proof systems, and managing upgrades.     |
| **Unpredictable Costs**       | Variable gas costs make it impossible to predict operational expenses or build sustainable business models.                                                      |
| **Limited Customization**     | Shared chains enforce universal parameters. You cannot optimize block time, gas limits, or precompiles for your specific use case.                               |

**How Blockops Rollups Addresses These Challenges** Blockops eliminates these pain points by providing:

* **Dedicated Blockspace:** Your application never competes for gas. Fixed, predictable costs regardless of external network activity.
* **One-Click Deployment:** Deploy a complete L2 chain in \~15 minutes. No smart contract deployment, node configuration, or DevOps expertise required.
* **Ethereum-Grade Security:** All state roots settle to Ethereum L1. Your rollup inherits Ethereum's security guarantees and censorship resistance.
* **Managed Infrastructure:** We operate sequencers, provers, and RPC nodes. You focus on building your application.
* **Instant Tooling:** Dedicated block explorer, JSON-RPC endpoints, and WebSocket connections provisioned automatically.
* **Clear Upgrade Path:** Start free on testnet. Scale to mainnet with our team's support when ready for production.

***

### Getting Started

This section walks you through deploying your first rollup on Blockops. By the end, you'll have a fully operational Layer 2 blockchain syncing with Ethereum and serving RPC requests.

**Step 1: Accessing the Rollup Dashboard** Navigate to your Blockops project dashboard. In the left sidebar, locate the Products section and click Rollup to access the Rollup dashboard.

If this is your first time using Rollups, you'll see an empty state dashboard with a prominent "Create Rollup" button and the message "You don't have any rollups yet."

<figure><img src="/files/OewxMzk6L4mP5XuMtPNL" alt="Rollup Dashboard Empty State" width="600"><figcaption><p>Figure 1: The Rollup dashboard empty state. The "Create Rollup" button initiates deployment.</p></figcaption></figure>

If you have existing rollups, you'll see them listed in a table with columns for Name, Status, RPC, Date Created, and Actions.

**Step 2: Creating Your Rollup** Click the "Create Rollup" button to launch the deployment wizard. You'll be guided through a four-step configuration process.

**2.1 Chain Identity** First, assign a unique name to your rollup. This identifier serves multiple purposes:

* Appears in your Blockops dashboard
* Forms your RPC endpoint URL: `https://[chain-name].rollup.blockops.network`
* Labels your dedicated block explorer
* Identifies your chain in wallet configurations

Enter your desired name in the Chain Name field. The system validates uniqueness in real-time.

<figure><img src="/files/7RuFCCJNcr6sBAgCqktA" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

Best Practices for Chain Names:

* Use lowercase letters, numbers, and hyphens only
* Include your project or organization name (e.g., acme-defi-testnet)
* Add environment indicators for clarity (-testnet, -staging)
* Keep it concise but descriptive (maximum 30 characters recommended)

**2.2 Select Environment** Choose the network environment that matches your development stage:

| Environment | Purpose                                        | Cost               | Deployment Speed         | Access     |
| ----------- | ---------------------------------------------- | ------------------ | ------------------------ | ---------- |
| **Testnet** | Development, testing, debugging, beta releases | Free ($0.00/month) | Instant                  | Self-serve |
| **Mainnet** | Production with real economic value            | Contact Sales      | Requires onboarding call | Gated      |

<figure><img src="/files/U4uEnWPSlrtDncysuzjW" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

**Testnet Details:**

* Deploys to Ethereum Sepolia (settlement layer)
* No real economic value—safe for experimentation
* Identical architecture to mainnet
* Perfect for smart contract testing and integration validation

**Mainnet Details:**

* Deploys to Ethereum Mainnet (settlement layer)
* Real economic security and value
* Requires security review and economic parameter configuration
* Clicking Mainnet displays a confirmation modal requesting a meeting with our team

*Important:* If you select Mainnet, a "Confirm request" modal appears explaining: "To move forward with deploying your chain, we'll need to discuss your specific requirements. Please schedule a meeting with our team to initiate the deployment request." Click "Request mainnet" to proceed with scheduling.

<figure><img src="/files/0dIyQ5AWQq8pCTZ4gTNs" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

**2.3 Build Your Stack** Configure the core architectural components of your rollup. Blockops simplifies this by providing a pre-validated, production-ready Optimism (OP) Stack configuration.

<figure><img src="/files/vyit4IIF1dUYeol89p0O" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

**Configuration Details:**

| Component             | Selection           | Description                                                                                                             | Technical Details                                                 |
| --------------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **Framework**         | Optimism (OP Stack) | Industry-leading L2 framework with extensive tooling, documentation, and ecosystem support                              | Bedrock release, Cannon fault proofs, Superchain compatible       |
| **Settlement Layer**  | Ethereum            | Your rollup's state roots and fault proofs are committed to Ethereum L1, inheriting its security                        | Sepolia for testnet, Mainnet for production                       |
| **Data Availability** | Ethereum DA         | Transaction data is posted to Ethereum using EIP-4844 blobs, ensuring data availability without extra trust assumptions | Blob transactions, 128KB max per block, automatic blob management |

These defaults are optimized for:

* **Security:** Ethereum-grade settlement and data availability
* **Cost-efficiency:** Blob transactions reduce DA costs vs. calldata
* **Compatibility:** Full EVM equivalence, existing tooling works out-of-the-box
* **Future-proofing:** Superchain compatibility for interoperability

*Note: Advanced users requiring custom configurations (alternative DA layers, custom gas tokens, or modified precompiles) should contact our team for dedicated deployment options.*

**2.4 Review and Deploy** The Summary panel provides a final configuration review before deployment:

<figure><img src="/files/p9qaw0KUFIS9y1kO023s" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

**Summary Contents:**

| Item                          | Description                                                         |
| ----------------------------- | ------------------------------------------------------------------- |
| **What's Included**           | Framework (OP), Settlement Layer (Ethereum), DA Layer (Ethereum DA) |
| **Monthly Cost**              | $0.00 for Testnet (clearly labeled as estimate)                     |
| **Estimated Deployment Time** | \~15 minutes (typical range: 10-30 minutes)                         |

Click **Deploy** to initiate the automated provisioning process. The system will:

* Compile and deploy 40+ smart contracts to Ethereum L1 (SystemConfig, OptimismPortal, L1StandardBridge, FaultDisputeGame, and proxy contracts)
* Provision sequencer infrastructure with high-availability configuration
* Configure prover systems for fault proof generation
* Deploy RPC nodes with load balancing
* Initialize block explorer with your chain's configuration
* Generate genesis state and chain configuration files
* Begin L2 block production once L1 contracts are confirmed

**Step 3: Monitor Deployment** Immediately after clicking Deploy, you'll see deployment confirmation:

<figure><img src="/files/i46YncVQbDrPorKEm0m7" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

**During Deployment:**

* Click "View rollup list" to monitor progress
* Your rollup appears in the dashboard with "Deploying" status (orange badge)
* RPC column shows `--------` (not yet available)
* This process typically takes 10-30 minutes depending on L1 confirmation times

<figure><img src="/files/xiVOfGvw4MFvncOtKE2M" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

**Deployment Complete:**

* Status changes to "Ready" (green badge)
* RPC column remains `--------` (accessible in detail view)
* Your chain is live and accepting transactions

<figure><img src="/files/13Ijz1Fl4w4evNMOOONZ" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

**Step 4: Access Rollup Details and Configure Connections** Click your rollup's name to access the Detail View, which provides comprehensive information and management options. The detail view has two tabs: Overview and Configuration.

**Overview Tab** The Overview tab displays real-time operational metrics for your chain.

<figure><img src="/files/ComJYj0H8bQDWcMe4hB7" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

**Header Information:**

* **Chain Name:** Your rollup's identifier (e.g., ch-optimism-testnet-rollup-cboux2)
* **Status:** Ready (green badge) indicates full operational status
* **Metrics Panels:**

| Panel            | Description                                            | Initial State               |
| ---------------- | ------------------------------------------------------ | --------------------------- |
| **Transaction**  | Transaction count and volume over selected time period | "Metrics are not available" |
| **Gas Used**     | Total gas consumed by transactions                     | "Metrics are not available" |
| **Block Height** | Current L2 block number                                | "Metrics are not available" |

*Important:* These panels display "Metrics are not available" immediately after deployment. This is expected behavior. Metrics populate once your chain processes its first transactions. Each panel includes a "Contact us" button for support if metrics fail to appear after transaction activity.

Time Range Selector: Each panel includes a "Last hour" dropdown to adjust the metrics time window (options typically include Last hour, Last 24 hours, Last 7 days, Last 30 days).

**Configuration Tab** The Configuration tab contains all technical details required to integrate with your rollup.

<figure><img src="/files/RDHsb4yL6EnYKYIluftS" alt="Infrastructure Settings" width="600"><figcaption></figcaption></figure>

**Indexer Information Section:**

| Field            | Example Value                                                         | Purpose                                                                           |
| ---------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| **ChainId**      | 863048                                                                | Unique network identifier. Required for wallet configuration and chain detection. |
| **Framework**    | OP Stack                                                              | Confirms Optimism compatibility for tooling.                                      |
| **Name**         | ch-optimism-testnet-rollup-cboux2                                     | Full chain identifier.                                                            |
| **Date**         | February 25, 2026                                                     | Deployment timestamp.                                                             |
| **Explorer**     | `https://ch-optimism-testnet-rollup-cboux2-explorer.blockops.network` | Dedicated block explorer URL. Copy button provided.                               |
| **RPC**          | `https://ch-optimism-testnet-rollup-cboux2.rollup.blockops.network`   | JSON-RPC endpoint for all interactions. Copy button provided.                     |
| **Genesis File** | JSON download                                                         | Genesis block configuration for local node synchronization.                       |
| **Rollup File**  | JSON download                                                         | Rollup-specific configuration for advanced debugging.                             |

**Parent Chain Contracts Section:** This section lists all L1 (Ethereum) smart contracts deployed for your rollup. These contracts manage the bridge, settlement, and security of your L2 chain.

**Contract Categories:**

| Category              | Contracts                                                                    | Purpose                                       |
| --------------------- | ---------------------------------------------------------------------------- | --------------------------------------------- |
| **Bridge Contracts**  | L1StandardBridge, L1StandardBridgeProxy, L1ERC721Bridge, L1ERC721BridgeProxy | Token and NFT bridging between L1 and L2      |
| **Portal Contracts**  | OptimismPortal, OptimismPortalProxy, OptimismPortalInterop                   | Main entry/exit point for L1↔L2 communication |
| **System Contracts**  | SystemConfig, SystemConfigProxy, SuperchainConfig                            | Chain configuration and Superchain membership |
| **Proof Contracts**   | MipsImpl, FaultDisputeGame, DisputeGameFactory                               | Cannon fault proof system for security        |
| **Proxy Admin**       | ProxyAdmin, SuperchainProxyAdmin                                             | Upgrade mechanism management                  |
| **Utility Contracts** | AddressManager, ProtocolVersions, AnchorStateRegistry                        | Supporting infrastructure                     |

Each contract entry displays:

* Contract Name (e.g., OptimismPortalImpl)
* Ethereum Address (0x... format, truncated with full address on hover)
* Copy Button (clipboard icon) - copies address to clipboard
* External Link Button (arrow icon) - attempts to open in block explorer

*Known Issue:* The external link button currently routes to a 404 error page. As a workaround, copy the address and manually search on Sepolia Etherscan for testnet contracts.

**Step 5: Connect Your Application** With your rollup Ready, integrate it into your development workflow:

**5.1 Add to MetaMask or Wallet** Use these parameters to add your chain to any EVM-compatible wallet:

| Parameter              | Value                                            | Source                          |
| ---------------------- | ------------------------------------------------ | ------------------------------- |
| **Network Name**       | \[Your Chain Name]                               | Configuration tab               |
| **RPC URL**            | `https://[chain-name].rollup.blockops.network`   | Configuration tab - copy button |
| **Chain ID**           | \[Numeric ID, e.g., 863048]                      | Configuration tab               |
| **Currency Symbol**    | ETH                                              | Standard for all rollups        |
| **Block Explorer URL** | `https://[chain-name]-explorer.blockops.network` | Configuration tab - copy button |

**5.2 Configure Hardhat**

```javascript
// hardhat.config.js
module.exports = {
  networks: {
    myRollup: {
      url: "[https://ch-optimism-testnet-rollup-cboux2.rollup.blockops.network](https://ch-optimism-testnet-rollup-cboux2.rollup.blockops.network)",
      chainId: 863048,
      accounts: [process.env.PRIVATE_KEY],
    },
  },
};
```

**5.3 Configure Foundry**

```bash
# .env
RPC_URL=[https://ch-optimism-testnet-rollup-cboux2.rollup.blockops.network](https://ch-optimism-testnet-rollup-cboux2.rollup.blockops.network)
CHAIN_ID=863048
```

**5.4 Configure viem/wagmi**

```javascript
import { defineChain } from "viem";

const myRollup = defineChain({
  id: 863048,
  name: "My Rollup",
  network: "my-rollup",
  nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
  rpcUrls: {
    default: {
      http: [
        "[https://ch-optimism-testnet-rollup-cboux2.rollup.blockops.network](https://ch-optimism-testnet-rollup-cboux2.rollup.blockops.network)",
      ],
    },
  },
  blockExplorers: {
    default: {
      name: "Blockops Explorer",
      url: "[https://ch-optimism-testnet-rollup-cboux2-explorer.blockops.network](https://ch-optimism-testnet-rollup-cboux2-explorer.blockops.network)",
    },
  },
});
```

**5.5 Verify Activity** Once you send your first transaction:

* Return to the Overview tab
* Metrics panels will populate with real data
* Use your Block Explorer to view detailed transaction, block, and contract information

***

### Managing Your Rollups

As your project grows, you may deploy multiple rollups for different environments or use cases. The Rollup dashboard provides unified management.

**Dashboard Overview** The main Rollup dashboard displays all your rollups with key information:

| Column           | Description                                                                    |
| ---------------- | ------------------------------------------------------------------------------ |
| **Name**         | Click to view detailed information                                             |
| **Status**       | Ready, Deploying, Error, or Stopped                                            |
| **RPC**          | Endpoint availability (shows `--------` in list view, use detail view for URL) |
| **Date Created** | Deployment timestamp                                                           |
| **Actions**      | Delete button (trash icon) - use with caution                                  |

**Available Actions**

*Delete Rollup* The trash icon in the Actions column permanently deletes your rollup and all associated infrastructure. This action cannot be undone.

*Warning:* Deleting a rollup removes all L2 state, RPC endpoints, and explorer data. L1 contracts remain deployed but become inaccessible. Ensure you have backups of any critical data before deleting.

***

### Best Practices

Following these guidelines ensures optimal rollup performance and reliability.

**Naming Conventions**

* Environment indicators: Use -testnet, -staging, -prod suffixes
* Project identification: Include organization or project name
* Versioning: Add version numbers for iterative deployments (-v1, -v2)
* Example: acme-defi-testnet-v1

**Deployment Strategy**

| Stage           | Environment | Purpose                                           | When to Advance                                     |
| --------------- | ----------- | ------------------------------------------------- | --------------------------------------------------- |
| **Development** | Testnet     | Smart contract testing, integration development   | Contracts compile and pass unit tests               |
| **Staging**     | Testnet     | End-to-end testing, load testing, security review | All tests pass, audit complete                      |
| **Production**  | Mainnet     | Live user traffic, real economic value            | Staging validation complete, team consultation done |

**Security Considerations**

* Keep RPC URLs confidential: They provide direct access to your chain
* Implement access controls: Use application-layer authentication for sensitive operations
* Monitor L1 contracts: Regularly verify contract states on Etherscan
* Plan upgrade paths: Understand proxy contract upgrade mechanisms before mainnet deployment

**Cost Management**

* Testnet is free: Use extensively for development and testing
* Mainnet requires planning: Contact sales early for production budgeting
* Monitor resource usage: Track RPC call volume and explorer usage

***

### Troubleshooting Common Issues

**Issue: Status Stuck on "Deploying"**

* **Symptoms:** Rollup remains in "Deploying" status beyond 45 minutes.
* **Possible Causes:**
  * L1 network congestion delaying contract deployments
  * Complex genesis configuration requiring additional validation
  * Infrastructure provisioning delays
* **Solutions:**
  * Wait up to 60 minutes for L1 confirmations
  * Check Sepolia Etherscan for pending transactions from your deployer address
  * Contact support with your rollup name if exceeded 60 minutes

**Issue: "Metrics are not available" Persists**

* **Symptoms:** Overview tab shows "Metrics are not available" after transaction activity.
* **Possible Causes:**
  * Indexing service lag
  * Metrics pipeline delay
  * No actual transaction activity confirmed
* **Solutions:**
  * Verify transactions using your block explorer instead of dashboard metrics
  * Wait 5-10 minutes for metrics pipeline to process
  * Click "Contact us" in the metrics panel for support escalation

**Issue: 404 Error on Contract Links**

* **Symptoms:** Clicking external link on contract addresses shows "Error 404."
* **Status:** Known issue under resolution.
* **Workaround:**
  * Use the copy button (clipboard icon) next to the contract address
  * Navigate manually to Sepolia Etherscan (for testnet)
  * Paste the address in the search bar

**Issue: RPC Connection Refused**

* **Symptoms:** Cannot connect to RPC endpoint from wallet or application.
* **Possible Causes:**
  * Endpoint still provisioning (status not yet "Ready")
  * Incorrect Chain ID in configuration
  * Network connectivity issues
* **Solutions:**
  * Verify rollup status is "Ready" in dashboard
  * Double-check Chain ID matches Configuration tab exactly
  * Test RPC URL directly: `curl -X POST [RPC_URL] -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'`
  * Verify no firewall or VPN blocking HTTPS connections

**Issue: High Gas Costs on L2**

* **Symptoms:** L2 transactions more expensive than expected.
* *Note:* This is uncommon on dedicated rollups, but possible if:
  * L1 blob fees are unusually high
  * Complex contract interactions consuming significant L2 gas
  * Misconfigured gas estimation in application
* **Solutions:**
  * Check L1 blob base fee on Sepolia (testnet) or Etherscan (mainnet)
  * Optimize contract code to reduce gas consumption
  * Contact support for gas parameter review

***

### Getting Help

If you encounter issues not covered here:

| Resource              | Access                        |
| --------------------- | ----------------------------- |
| **Documentation**     | docs.blockops.network         |
| **Email Support**     | <support@blockops.network>    |
| **Community Discord** | Join Blockops Community       |
| **Dashboard Chat**    | Blue chat icon (bottom right) |

When contacting support, provide:

* Rollup name (exactly as shown in dashboard)
* Current status (Deploying, Ready, Error)
* Specific error messages or screenshots
* Steps already attempted

***

### Glossary

| Term                       | Definition                                                        |
| -------------------------- | ----------------------------------------------------------------- |
| **OP Stack**               | Optimism's open-source software stack for building L2 blockchains |
| **Settlement Layer**       | L1 blockchain (Ethereum) where rollup state is finalized          |
| **Data Availability (DA)** | Guarantee that transaction data is available for verification     |
| **Sequencer**              | Component that orders and executes L2 transactions                |
| **Prover**                 | System that generates cryptographic proofs of L2 state            |
| **Fault Proof**            | Mechanism allowing challenges to invalid state transitions        |
| **Genesis**                | Initial state of the blockchain at block 0                        |
| **Chain ID**               | Unique numeric identifier for a blockchain network                |
| **RPC**                    | Remote Procedure Call - endpoint for blockchain interactions      |
| **Blob (EIP-4844)**        | Temporary data storage on Ethereum for L2 data availability       |

{% hint style="info" %}
[**Follow us on Twitter**](https://twitter.com/blockopsnetwork) **for more information on upcoming protocols and developments.**
{% endhint %}


# Relay

Blockops' ecosystem intelligence engine for real-time Web3 updates

**What is Relay?**

Relay is Blockops' ecosystem intelligence engine—a centralized command center that monitors the entire Web3 landscape so you don't have to. Think of it as your dedicated research analyst that never sleeps, constantly scanning official protocol channels, developer repositories, and authoritative news sources to surface what actually matters.

The platform aggregates high-signal information into two dedicated streams:

* **Release Updates:** Technical client releases and protocol upgrades.

<figure><img src="/files/dffeOWnWji32mXPK64dW" alt="Release Updates" width="600"><figcaption></figcaption></figure>

* **Ecosystem Updates:** Strategic news, governance changes, and market-moving events.

<figure><img src="/files/5DMriyEVjrmaRBpfu7ne" alt="Ecosystem Updates" width="600"><figcaption></figcaption></figure>

Instead of monitoring dozens of Discord servers, GitHub repositories, and Twitter accounts, Relay consolidates everything into a single, filterable feed with proactive alert capabilities.

**The Problem Relay Solves**

**Real-world scenario:** You're running Ethereum validators using Prysm. The client releases a critical security patch at 2 AM. Without Relay, you might not notice until your next routine check—potentially exposing you to slashing or missed attestations. With Relay, you get an immediate Slack notification with a direct link to release notes and checksums.

| Pain Point                    | How Relay Addresses It                                                                         |
| ----------------------------- | ---------------------------------------------------------------------------------------------- |
| **Information Fragmentation** | Centralizes critical updates scattered across 60+ protocol channels, forums, and social media. |
| **Missed Hard Forks**         | Alerts node operators to mandatory client upgrades, preventing slashing or downtime.           |
| **Reactive Security**         | Provides instant notifications about exploits or vulnerabilities before assets are at risk.    |
| **Noise Overload**            | Filters out crypto Twitter hype to find substantive, verified protocol developments.           |
| **Manual Monitoring**         | Saves teams hours of daily manual tracking across multiple ecosystems.                         |

### How to Get Started

**1. Navigate to Relay** From anywhere in the Blockops dashboard, locate **Relay** in the left sidebar under the Products section. The Relay interface loads with a brief "Hold on" state, then presents the main dashboard with two primary tabs.

**2. Understand the Dashboard Layout** Once loaded, the Relay interface presents three key zones:

| Zone                        | Location   | Purpose                                               |
| --------------------------- | ---------- | ----------------------------------------------------- |
| **Content Stream Toggle**   | Top center | Switch between Release Updates and Ecosystem Updates. |
| **Filter Panel**            | Left side  | Refine feeds by specific networks and clients.        |
| **Subscription Management** | Top right  | Configure proactive alerts (Email/Slack).             |

**3. Configure Your Network Filters** Before diving into content, set up your filters to ensure relevance. Click the "All Networks" dropdown in the Filter panel. A searchable dropdown appears listing 60+ supported networks.

Select the networks relevant to your operations. If you only operate Ethereum and Polygon nodes, filtering out 58 other networks eliminates noise and surfaces only actionable intelligence.

* *Pro tip: Use the search box and type "Eth" to quickly find Ethereum rather than scrolling through the alphabetical list.*

**4. Explore Release Updates (For Node Operators)** Click the **Release updates** tab to view software releases for blockchain clients. When releases exist for your selected networks, each card displays the client name, network tag, release version, date, and direct links to view the changelog or download the patch.

If you see a "No releases" state, it indicates there are no new releases in the selected timeframe for your filtered networks. Broaden your network filter to "All Networks" to verify the feed is working, then narrow it back down.

**5. Explore Ecosystem Updates (For Strategic Awareness)** Click the **Ecosystem updates** tab to view curated news and announcements. Each card contains the source publication, a network badge, the headline, date, and a direct link to the full article.

*Example Entries:*

* **Security Alert:** "U.S. Treasury Sanctions Russian Exploit Broker" (Bitcoin Magazine) — *Indicates potential address blacklisting affecting transaction privacy tools.*
* **Protocol Governance:** "Winding Down the Official Polkadot Support" (Web3 Foundation Blog) — *Signals transition to decentralized governance.*
* **Technical Roadmap:** "Building Fair Markets: A New Consensus" (Aptos Labs Blog) — *Major consensus upgrade affecting validator requirements.*

### Completion: Set Up Proactive Alerts

Manual checking creates vulnerability windows. Configuring alerts is the final step to maintaining continuous awareness without keeping the dashboard open.

1. Click the **Manage subscription** button (bell icon) in the top-right corner.
2. **Choose Your Channels:** Select Email (best for detailed digests) or Slack (best for team coordination).
3. **Configure Granularity:** Select specific networks and set the Priority Level (e.g., "High Priority" for security patches and hard forks only).
4. **Test Your Configuration:** Send a test notification to verify channel connectivity.

*Expected outcome:* You will receive a confirmation message in your selected channel reading: *"Successfully subscribed to Relay alerts for \[Network]."*

### Best Practices & Troubleshooting

**Establishing Your Daily Workflow**

*For Node Operators & DevOps:*

| Time                | Action                                          | Location in Relay             |
| ------------------- | ----------------------------------------------- | ----------------------------- |
| **Morning standup** | Check Release Updates for overnight releases    | Release updates tab           |
| **Weekly**          | Review Ecosystem Updates for governance changes | Ecosystem updates tab         |
| **Alert received**  | Immediate action—verify checksum, plan upgrade  | Direct from notification link |

*For Founders & Researchers:*

| Time        | Action                                    | Location in Relay             |
| ----------- | ----------------------------------------- | ----------------------------- |
| **Daily**   | Scan Ecosystem Updates headlines          | Ecosystem updates tab         |
| **Weekly**  | Deep-dive into 2-3 strategic articles     | Expand cards for full content |
| **Monthly** | Audit alert relevance—add/remove networks | Manage subscription           |

**Troubleshooting Red Flags**

| Symptom                          | Diagnosis                              | Fix                                     |
| -------------------------------- | -------------------------------------- | --------------------------------------- |
| **"No releases" always showing** | Network filter too narrow or incorrect | Expand to "All Networks" to verify feed |
| **Too many irrelevant alerts**   | Subscription too broad                 | Narrow to specific networks             |
| **Missing critical updates**     | Priority filter set too high           | Include "Standard" priority for patches |
| **Alert fatigue**                | No priority filtering                  | Switch to "High Priority" only          |

{

{% hint style="info" %}
[**Follow us on Twitter**](https://twitter.com/blockopsnetwork) **for more information on upcoming protocols and developments.**
{% endhint %}


# Telescope (Web3 Observability)

Track the health and performance of your nodes, ensuring swift identification and resolution of any issues.

You can find BlockOps quick start guides here: [Getting Started with BlockOps](/developer/getting-started)

### Create a Dashboard

To get started, visit <https://blockops.network> and navigate to the Node Observability page. You can either register for a new account or log in if you already have one.

After your account has been verified, you'll be directed to the Node Deployment dashboard, which allows you to monitor dashboards, setup logs and alerts. To monitor your dashboards, select Monitoring Dashboards.

<figure><img src="/files/NC3rJaO9KDFpvb96T3o5" alt=""><figcaption><p>Node Observability Dashboard</p></figcaption></figure>

Go ahead to create your Dashboard.

<figure><img src="/files/hj6Go2lQKOHIbmqpEr1d" alt=""><figcaption><p>Creating a Node Observability Dashboard</p></figcaption></figure>

### Customize your Dashboard

Name the Project, then select a Scrape method. If you select Push as your Scrape method, we'll expose an Endpoint for you. On the other hand, if you select Pull you'll be expected to provide your own Datasource URL. If your Datasource is encrypted, please toggle on the Basic Auth button to provide the Username and Password.

<figure><img src="/files/0aqCHqbxDRfb8vdP2Ico" alt=""><figcaption><p>Setting up your Dashboard</p></figcaption></figure>

<figure><img src="/files/ACB3NkX8Og8YArpWhEd6" alt=""><figcaption><p>Pull scrape method without encryption</p></figcaption></figure>

<figure><img src="/files/s7Urq6j8eilLOUKrn2Kd" alt=""><figcaption><p>Pull scrape method with encryption</p></figcaption></figure>

### Agent Installation

Install either the [Node Health Dashboard](#user-content-fn-1)[^1] or [Network Dashboard](#user-content-fn-2)[^2].

<figure><img src="/files/Zlwm15OEQOCNR0x76WXm" alt=""><figcaption><p>Agent installation</p></figcaption></figure>

After selecting the Agent you want to install, some instructions will be displayed for you to follow. Once you've completed this, go ahead to create your Dashboard.

<div><figure><img src="/files/LGcVFAbuqiKfWRImJckk" alt=""><figcaption><p>Instructions for Installation</p></figcaption></figure> <figure><img src="/files/kpPSmkD4piraAgqK1xvi" alt=""><figcaption><p>Instructions for Installation</p></figcaption></figure></div>

{% hint style="info" %}
[**Follow us on Twitter**](https://twitter.com/blockopsnetwork) **for more information on upcoming protocols and developments.**
{% endhint %}

[^1]: This is a faster and more reliable board

[^2]: This gives users access to the network


# Telescope

Track the health and performance of your nodes, ensuring swift identification and resolution of any issues.

To observe a deployed node, Telescope helps you achieve this through metrics, logs, uptime and alerts. The dashboard gives you a overview of these functionalities and quick actions.

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

#### Metrics Dashboard and Logs

The metrics dashboard enables you to monitor both your node health and network dashboard.

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

#### Node Health Dashboard

Setting up the Node health dashboard requires a project name and the selection of either a push or pull scrape method. Installation instructions are on the right side of the dashboard

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

#### Enble Logs

The option to enable logs creates a logs dashboard alongside the metrics dashboard being set up.

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

#### Network Dashboard

On monitoring a network, the first step is to select a network to monitor.

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

After a network has been selected, at least one dashboard trigger is required to proceed.

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

This overview displays the metrics dashboard set up and running.

<figure><img src="/files/86eZ4SdrKYzXtcGcpPLe" alt=""><figcaption></figcaption></figure>

#### Alerts

Two alert directory for easy navigation, alert dashboard for monitoring metrics and logs, contact points for up time.

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

#### Dashboard alert and Uptime alert

On creating a dashboard alert for metrics or uptime, the auto generated alert name can be maintained or edited to suit a users preference. A contact point can either be created at this point if no contact points have been created and the final field is to select an existing project to receive alerts on with selected triggers.

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

#### Uptime

To set up uptime, the available monitor type is HTTPS and you are required to name the monitor to be created alongside provide the URL of the deployed node to monitor. To connect to your HTTPS monitor, you have the option of selecting between a GET or POST method and provide your preferred request interval and timeout. An option exist to enable monitoring for domain name expiry.

<figure><img src="/files/5vmvWEDeQVMvomccBMTg" alt=""><figcaption></figcaption></figure>


# Staking with Blockops

Staking for All: Distributed ETH staking made accessible

Blockops Staking offers a secure, accessible, and flexible way to earn rewards on your Ethereum (ETH) holdings. Our distributed staking solution allows you to participate in the Ethereum network without the need for running a full node.

**Key Features**

* **Liquidity:** Maintain control over your staked ETH, allowing you to withdraw or transfer your funds at any time.
* **Accessibility:** Our user-friendly platform makes staking easy for everyone, regardless of technical expertise.
* **Security:** Benefit from our robust security measures to protect your assets and ensure the integrity of the staking process.
* **Flexibility:** Choose from various staking options to suit your preferences and risk tolerance.
* **Transparency:** Access real-time information about your staking rewards, validator performance, and network status.

{% hint style="info" %}
This feature is currently in development. For early access, visit 👉 [Blockops Staking](https://blockops.network/staking).
{% endhint %}


# FAQs

With our user-friendly platform and comprehensive documentation provide, you should find all the answers you need. However, we have answered some Frequently Asked Questions to guide you further.

### Blockops

<details>

<summary>What is Blockops?</summary>

Blockops is a platform that simplifies Web3 infrastructure management, offering solutions to set up, maintain, and monitor blockchain node infrastructure easily. Our services cater to developers, enterprises, and blockchain enthusiasts.

</details>

<details>

<summary>How do I get started with Blockops?</summary>

We have a [step-by-step](/developer/getting-started/how-to-create-an-account) guide to help you get started with Blockops, along with comprehensive [product documentation](/developer/products). To stay updated on our latest feature releases and partnerships, be sure to check out our [blog posts.](/blog)

</details>

<details>

<summary>What makes Blockops different from other Web3 infrastructure providers?</summary>

Blockops stands out by offering a comprehensive, user-friendly platform that simplifies the complexities of Web3 infrastructure management. Our focus on high performance, scalability, and privacy makes us a preferred choice for developers and enterprises alike.

</details>

<details>

<summary>What level of support does Blockops provide?</summary>

We provide comprehensive support, including documentation and a customer support team to assist with any issues or questions.

</details>

<details>

<summary>Is Blockops suitable for beginners in Web3?</summary>

Yes, Blockops is designed to be user-friendly, making it suitable for both beginners and experienced users in the Web3 space.

</details>

<details>

<summary>Is Blockops scalable for large-scale blockchain operations?</summary>

Absolutely. Blockops is built to scale, making it suitable for both small projects and large-scale blockchain operations.

</details>

### API Service

<details>

<summary>Which blockchain networks are supported by Blockops' API Service?</summary>

Blockops' API Service supports: Polkadot, Kusama, Westend, Base, Optimism, Ethereum Gargantua.

</details>

<details>

<summary><strong>How do I handle errors and failures in API requests?</strong></summary>

Our API Service provides detailed error messages and status codes in response to failed requests. Refer to our [API documentation](broken://pages/UW8js6HCbYx2uhvy2isG) for guidance on troubleshooting common issues and implementing error-handling strategies.

</details>

### Mission Control

<details>

<summary>What is Mission Control?</summary>

Mission Control is a solution that allows users to deploy and manage multiple blockchain nodes effortlessly. It supports node deployment across different locations and cloud providers, ensuring high availability and resilience.

</details>

<details>

<summary>How does Mission Control simplify node management?</summary>

Mission Control simplifies node management by automating the deployment process, allowing users to set up and manage multiple nodes across various locations and cloud providers with ease.

</details>

<details>

<summary>What is the minimum number of nodes required for Mission Control?</summary>

You can start with a single node using Mission Control.

</details>

### Telescope

<details>

<summary>What is Telescope?</summary>

Telescope is a monitoring tool designed to provide comprehensive insights into your blockchain operations. It enables users to monitor, analyze, and optimize their node infrastructure securely and efficiently.

</details>

<details>

<summary><strong>What types of metrics can Telescope monitor?</strong></summary>

Telescope monitors a wide range of metrics, including node performance, resource utilization, transaction throughput, and error rates, providing a comprehensive view of your blockchain operations.

</details>

<details>

<summary>How does Telescope ensure privacy while monitoring?</summary>

Telescope is built with privacy in mind, ensuring that your blockchain activities are monitored and analyzed without compromising your data or security.

</details>

<details>

<summary>Can I monitor multiple blockchain nodes with Telescope?</summary>

Yes, Telescope allows you to monitor multiple blockchain nodes simultaneously, providing detailed insights and performance metrics for each.

</details>

{% hint style="info" %}
Still have unanswered questions? Please reach out to [support](/misc/support) and we can help you find answers.
{% endhint %}


# supported-networks

Blockops API Services Supported Networks


# Polkadot

This section outlines how to use our API endpoint to connect to Polkadot.

Polkadot is a blockchain platform that enables the creation of a network of interoperable and secure specialized blockchains called parachains. It aims to solve traditional blockchain networks' scalability, interoperability, and governance issues by facilitating seamless communication between blockchains while maintaining high-security standards.

### How to Connect to Polkadot

#### Using Public Endpoint

You can connect to polkadot using Blockops public API endpoints. These endpoints are only suitable for testing. Public RPC endpoints are not intended for dApp building. (Throughput rate limited to 50 rps).

{% hint style="info" %}
We have different rate limits set for private API endpoints (e.g. ones with API keys attached) - Read more below
{% endhint %}

To avoid rate limiting and service interruption, [sign up now](https://beta-app.blockops.network/?callback=api-service) to get your own API key.

{% tabs %}
{% tab title="Https" %}
For Polkadot Mainnet

```bash
https://polkadot-public-rpc.blockops.network/rpc
```

For Polkadot Westend

```bash
https://westend-rpc.blockops.network/rpc
```

{% endtab %}

{% tab title="Websocket" %}
For Polkadot Mainnet

```bash
wss://polkadot-public-rpc.blockops.network/ws
```

For Polkadot Westend

```
wss://westend-rpc.blockops.network/ws
```

{% endtab %}
{% endtabs %}

The below example uses the public API endpoint to make a request on the terminal

{% tabs %}
{% tab title="Https" %}
Using curl

{% code overflow="wrap" %}

```
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}' 'https://polkadot-public-rpc.blockops.network/rpc'
```

{% endcode %}
{% endtab %}

{% tab title="Websocket" %}
Using wscat

* Download wscat from <https://www.npmjs.com/package/wscat>
* Install wscat by running the following command: `npm install -g wscat`

{% code overflow="wrap" %}

```
wscat -c 'wss://polkadot-rpc.blockops.network/ws' --header 'authorization: APIKEY xxxx'
```

{% endcode %}
{% endtab %}
{% endtabs %}

#### Using Private Endpoint

Using API keys on an RPC node provides better tracking and monitoring of API usage.

Secure your data, speed up your queries, and take control of your API usage with our RPC API endpoint and personalized API keys. [Sign up now](https://beta-app.blockops.network/?callback=api-service) to get your own API key.

To get your API key, create a project using a unique Identifier as the project name and select Polkadot from the network options.

<figure><img src="/files/oRMCymC98O81ZiT4rt7o" alt=""><figcaption><p>Create a Polkadot project</p></figcaption></figure>

Open the project to view your api key and rpc endpoints.

<figure><img src="/files/4Todaxthe439q8IAKL4q" alt=""><figcaption><p>view Polkadot project</p></figcaption></figure>

#### Send requests

{% hint style="info" %}
All requests are `POST` requests.
{% endhint %}

**Connect via Command Line**

You can connect to the network using websocket or HTTP with your API key in two ways:

* Adding the API key as a query string `?api_key=${APIKEY}`
* Or the request header `-H 'authorization: APIKEY ${APIKEY}'`

**Curl**

For example, the following CURL command can be used to get header and body of a relay chain block.

{% code overflow="wrap" %}

```bash
curl -H "Content-Type: application/json" -H 'authorization: APIKEY xxxx'  -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}' https://polkadot-rpc.blockops.network/rpc
```

{% endcode %}

Here is the response you will receive back.

{% code overflow="wrap" %}

```bash
{"jsonrpc":"2.0","result":{"block":{"header":{"parentHash":"0x381dd358f0b1e328e861822b2a51a72e8dc064803a5c7ccc96277da3b16d7667","number":"0xe07a1d","stateRoot":"0xa2aacd7ef5d7ff66da1df6643b3e1c13975d210363c568f1bed51bad56cf40db","extrinsicsRoot":"0x00bc7f1504c9a07364835d80d2114ca3d4e7ad774453198b119bea9be2a1f7c1","digest":{"logs":["0x0642414245b50103d8000000d17aae1000000000768dc1931ba697bb9ab4a08debf5d710bd1f55e6325d65315161c2340cc0217170dfe2df24a3680c8ff48868ac665f4b34ebefa4bc844d510c848d9fc99252035db579a0acbf52cded336d6daf6ab7fdb1d1eee0d480e6388c2a12785d4de809"]},"justifications":null},"id":1}
```

{% endcode %}

**Wscat**

If you want to send data requests with WebSockets, you can use several libraries or wscat. You can install and use wscat as follows:

* Download wscat from <https://www.npmjs.com/package/wscat>
* Install wscat by running the following command: `npm install -g wscat`

You can connect to the network with wscat using two options by adding the API key as a query string.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://polkadot-rpc.blockops.network/ws?api_key=*********************'
```

{% endcode %}

Or the request header.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://polkadot-rpc.blockops.network/ws' --header 'authorization: APIKEY xxxx'
```

{% endcode %}

After executing the command, the terminal will display a message indicating that the connection has been enabled successfully.

```bash
Connected (press CTRL+C to quit)
>
```

Then, you can send the following request:

```
{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}
```

{% hint style="info" %}
For more information on the Polkadot network, please see the official [Polkadot developer documentation](https://wiki.polkadot.network/docs/getting-started).
{% endhint %}

Login or set up an account [here](https://beta-app.blockops.network/?callback=api-service) to get started!

#### ***Quick Links***

[Website](https://polkadot.network)

[Github](https://github.com/paritytech/polkadot)


# Kusama

This section outlines how to use our API endpoint to connect to Kusama.

Kusama is a blockchain network designed as a "canary network" for Polkadot, aimed at testing and experimenting with new features before deploying them on Polkadot. Kusama has its own community and governance, with a focus on innovation and risk-taking.

### How to Connect to Kusama

#### Using Public Endpoint

You can connect to kusama using Blockops public API endpoints. These endpoints are only suitable for testing. Public RPC endpoints are not intended for dApp building. (Throughput rate limited to 50 rps).

{% hint style="info" %}
We have different rate limits set for private API endpoints (e.g. ones with API keys attached) - Read more below
{% endhint %}

To avoid rate limiting and service interruption, [sign up now](https://blockops.network)[ ](https://blockops.network/api)to get your own API key.

{% tabs %}
{% tab title="Https" %}

```bash
https://kusama-public-rpc.blockops.network/rpc
```

{% endtab %}

{% tab title="Websocket" %}

```bash
wss://kusama-public-rpc.blockops.network/ws
```

{% endtab %}
{% endtabs %}

The below example uses the public API endpoint to make a request using curl

{% code overflow="wrap" %}

```
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}' 'https://kusama-public-rpc.blockops.network/rpc'
```

{% endcode %}

#### Using Private Endpoint

Using API keys on an RPC node provides better tracking and monitoring of API usage.

Secure your data, speed up your queries, and take control of your API usage with our RPC API endpoint and personalized API keys. [Sign up now](https://beta-app.blockops.network/?callback=api-service) to get your own API key.

To get your API key, create a project using a unique Identifier as the project name and select Polkadot from the network options.

<figure><img src="/files/oKbG0UfwakQkwSdbYaEj" alt=""><figcaption><p>Create a Kusama project</p></figcaption></figure>

Open the project to view your api key and rpc endpoints.

<figure><img src="/files/MIOF0L0xMDnePr6FzLZB" alt=""><figcaption><p>view Kusama project</p></figcaption></figure>

#### Send requests

{% hint style="info" %}
All requests are `POST` requests.
{% endhint %}

**Connect via Command Line**

You can connect to the network using websocket or HTTP with your API key in two ways:

* Adding the API key as a query string `?api_key=${APIKEY}`
* Or the request header `-H 'authorization: APIKEY ${APIKEY}'`

**Curl**

For example, the following CURL command can be used to get header and body of a relay chain block.

{% code overflow="wrap" %}

```bash
curl -H "Content-Type: application/json" -H 'authorization: APIKEY xxxx'  -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}' https://kusama-rpc.blockops.network/rpc
```

{% endcode %}

Here is the response you will receive back.

{% code overflow="wrap" %}

```bash
{"jsonrpc":"2.0","result":{"block":{"header":{"parentHash":"0x381dd358f0b1e328e861822b2a51a72e8dc064803a5c7ccc96277da3b16d7667","number":"0xe07a1d","stateRoot":"0xa2aacd7ef5d7ff66da1df6643b3e1c13975d210363c568f1bed51bad56cf40db","extrinsicsRoot":"0x00bc7f1504c9a07364835d80d2114ca3d4e7ad774453198b119bea9be2a1f7c1","digest":{"logs":["0x0642414245b50103d8000000d17aae1000000000768dc1931ba697bb9ab4a08debf5d710bd1f55e6325d65315161c2340cc0217170dfe2df24a3680c8ff48868ac665f4b34ebefa4bc844d510c848d9fc99252035db579a0acbf52cded336d6daf6ab7fdb1d1eee0d480e6388c2a12785d4de809"]},"justifications":null},"id":1}
```

{% endcode %}

**Wscat**

If you want to send data requests with WebSockets, you can use several libraries or wscat. You can install and use wscat as follows:

* Download wscat from <https://www.npmjs.com/package/wscat>
* Install wscat by running the following command: `npm install -g wscat`

You can connect to the network with wscat using two options by adding the API key as a query string.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://kusama-rpc.blockops.network/ws?api_key=*********************'
```

{% endcode %}

Or the request header.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://kusama-rpc.blockops.network/ws' --header 'authorization: APIKEY xxxx'
```

{% endcode %}

After executing the command, the terminal will display a message indicating that the connection has been enabled successfully.

```bash
Connected (press CTRL+C to quit)
>
```

Then, you can send the following request:

```
{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}
```

{% hint style="info" %}
For more information on the Kusama network, please see the official [Kusama developer documentation](https://guide.kusama.network/docs/kusama-getting-started/).
{% endhint %}

Login or set up an account [here](https://beta-app.blockops.network/?callback=api-service) to get started!

#### ***Quick Links***

[Website](https://guide.kusama.network/docs/kusama-index/)

[Github](https://github.com/paritytech/)


# Westend

This section outlines how to use our API endpoint to connect to Westend.

Westend is the primary test network of Polkadot. The tokens on this network are called *Westies* (WND) and they purposefully hold no economic value.

### How to Connect to Westend

You can connect to Westend using Blockops private API endpoints. Secure your data, speed up your queries, and take control of your API usage with our RPC API endpoint and personalized API keys. [Sign up now](https://beta-app.blockops.network/?callback=api-service) to get your own API key.

To get your API key, create a project using a unique Identifier as the project name and select westend from the network options.

<figure><img src="/files/sqBrNBzTdQbZlDcRsWq2" alt=""><figcaption><p>Create a westend project</p></figcaption></figure>

Open the project to view your api key and rpc endpoints.

<figure><img src="/files/slmKTPudrMhsZyo9D78L" alt=""><figcaption><p>view westend project</p></figcaption></figure>

#### Send requests

{% hint style="info" %}
All requests are `POST` requests.
{% endhint %}

**Connect via Command Line**

You can connect to the network using websocket or HTTP with your API key in two ways:

* Adding the API key as a query string `?api_key=${APIKEY}`
* Or the request header `-H 'authorization: APIKEY ${APIKEY}'`

**Curl**

For example, the following CURL command can be used to get header and body of a relay chain block.

{% code overflow="wrap" %}

```bash
curl -H "Content-Type: application/json" -H 'authorization: APIKEY xxxx'  -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}' https://westend.blockops.network/rpc
```

{% endcode %}

Here is the response you will receive back.

{% code overflow="wrap" %}

```bash
{"jsonrpc":"2.0","result":{"block":{"header":{"parentHash":"0x381dd358f0b1e328e861822b2a51a72e8dc064803a5c7ccc96277da3b16d7667","number":"0xe07a1d","stateRoot":"0xa2aacd7ef5d7ff66da1df6643b3e1c13975d210363c568f1bed51bad56cf40db","extrinsicsRoot":"0x00bc7f1504c9a07364835d80d2114ca3d4e7ad774453198b119bea9be2a1f7c1","digest":{"logs":["0x0642414245b50103d8000000d17aae1000000000768dc1931ba697bb9ab4a08debf5d710bd1f55e6325d65315161c2340cc0217170dfe2df24a3680c8ff48868ac665f4b34ebefa4bc844d510c848d9fc99252035db579a0acbf52cded336d6daf6ab7fdb1d1eee0d480e6388c2a12785d4de809"]},"justifications":null},"id":1}
```

{% endcode %}

**Wscat**

If you want to send data requests with WebSockets, you can use several libraries or wscat. You can install and use wscat as follows:

* Download wscat from <https://www.npmjs.com/package/wscat>
* Install wscat by running the following command: `npm install -g wscat`

You can connect to the network with wscat using two options by adding the API key as a query string.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://westend.blockops.network/ws?api_key=*********************'
```

{% endcode %}

Or the request header.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://westend.blockops.network/ws' --header 'authorization: APIKEY xxxx'
```

{% endcode %}

After executing the command, the terminal will display a message indicating that the connection has been enabled successfully.

```bash
Connected (press CTRL+C to quit)
>
```

Then, you can send the following request:

```
{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}
```

{% hint style="info" %}
For more information on the Westend network, please see the official[ ](https://wiki.polkadot.network/docs/maintain-networks?ref=cms.polkadot.network#westend-test-network)[Westend developer documentation](https://wiki.polkadot.network/docs/maintain-networks#westend-test-network).
{% endhint %}

Login or set up an account [here](https://beta-app.blockops.network/?callback=api-service) to get started!

#### ***Quick Links***

[Github](https://github.com/paritytech/)


# Base

This section outlines how to use our API endpoint to connect to Base.

Base is a secure, low-cost, builder-friendly Ethereum L2 built to bring the next billion users onchain.

### How to Connect to Base

You can connect to Base using Blockops private API endpoints. Secure your data, speed up your queries, and take control of your API usage with our RPC API endpoint and personalized API keys. [Sign up now](https://beta-app.blockops.network/?callback=api-service) to get your own API key.

### Base Mainnnet

To get your API key, create a project using a unique Identifier as the project name and select Base from the network options.

<figure><img src="/files/ZNBv8MQEYTXCsyWpwfMv" alt=""><figcaption><p>Create a Base project</p></figcaption></figure>

Open the project to view your api key and rpc endpoints.

<figure><img src="/files/ApKYrydB4GYQV5iJS2oA" alt=""><figcaption><p>view Base project</p></figcaption></figure>

### Base Sepolia

To get your API key, create a project using a unique Identifier as the project name and select Base Sepolia from the network options.

<figure><img src="/files/tC9c9RwbVEt90T9LRxPz" alt=""><figcaption><p>Create a Base Sepolia project</p></figcaption></figure>

Open the project to view your api key and rpc endpoints.

<figure><img src="/files/ZMce1ZHRtwYuwQNxY8zl" alt=""><figcaption><p>view Base Sepolia project</p></figcaption></figure>

#### Send requests

{% hint style="info" %}
All requests are `POST` requests.
{% endhint %}

{% tabs %}
{% tab title="Https" %}
For Base Mainnet

```bash
https://base.blockops.network/?api_key=************
```

For Base Sepolia

```bash
https://base-sepolia-rpc.blockops.network?api_key=************
```

{% endtab %}

{% tab title="Websocket" %}
For Base Mainnet

```bash
wss://base.blockops.network?api_key=************
```

For Base Sepolia

```bash
wss://base-sepolia-ws.blockops.network?api_key=************
```

{% endtab %}
{% endtabs %}

**Connect via Command Line**

You can connect to the network using websocket or HTTP with your API key in two ways:

* Adding the API key as a query string `?api_key=${APIKEY}`
* Or the request header `-H 'authorization: APIKEY ${APIKEY}'`

**Curl**

For example, the following CURL command can be used to get a block number.

### Base Mainnet

{% code overflow="wrap" %}

```bash
curl -H "Content-Type: application/json" -H 'authorization: APIKEY xxxx'  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' https://base.blockops.network
```

{% endcode %}

### Base Sepolia

{% code overflow="wrap" %}

```bash
curl -H "Content-Type: application/json" -H 'authorization: APIKEY xxxx'  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' https://base-sepolia-rpc.blockops.network
```

{% endcode %}

Here is the response you will receive back.

{% code overflow="wrap" %}

```bash
{"jsonrpc":"2.0","id":1,"result":"0x10666b"}
```

{% endcode %}

**Wscat**

If you want to send data requests with WebSockets, you can use several libraries or wscat. You can install and use wscat as follows:

* Download wscat from <https://www.npmjs.com/package/wscat>
* Install wscat by running the following command: `npm install -g wscat`

You can connect to the network with wscat using two options by adding the API key as a query string.

### Base Mainnet

{% code overflow="wrap" %}

```bash
wscat -c 'wss://base.blockops.network?api_key=*********************'
```

{% endcode %}

Or the request header.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://base.blockops.network' --header 'authorization: APIKEY xxxx'
```

{% endcode %}

### Base Sepolia

{% code overflow="wrap" %}

```bash
wscat -c 'wss://base-sepolia-rpc.blockops.network?api_key=*********************'
```

{% endcode %}

Or the request header.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://base-sepolia-ws.blockops.network' --header 'authorization: APIKEY xxxx'
```

{% endcode %}

After executing the command, the terminal will display a message indicating that the connection has been enabled successfully.

```bash
Connected (press CTRL+C to quit)
>
```

Then, you can send the following request:

```
{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}
```

{% hint style="info" %}
For more information on the Polkadot network, please see the official [Base developer documentation](https://docs.base.org/).
{% endhint %}

Login or set up an account [here](https://beta-app.blockops.network/?callback=api-service) to get started!

#### ***Quick Links***

[Website](https://www.base.org/)

[Github](https://github.com/base-org)


# Optimism

This section outlines how to use our API endpoint to connect to Optimism.

Optimism is an EVM equivalent Layer 2 blockchain connected to Ethereum. The Optimism Stack is the standardized, shared, and open-source development stack that makes it easy to spin up your own production-ready Layer 2 blockchain just like Optimism.

### How to Connect to Optimism

You can connect to Optimism using Blockops private API endpoints. Secure your data, speed up your queries, and take control of your API usage with our RPC API endpoint and personalized API keys. [Sign up now](https://beta-app.blockops.network/?callback=api-service) to get your own API key.

### Optimism Mainnnet

To get your API key, create a project using a unique Identifier as the project name and select Optimism from the network options.

<figure><img src="/files/G7ohQGI3zwIz0bUmBPXE" alt=""><figcaption><p>Create Optimism project</p></figcaption></figure>

Open the project to view your api key and rpc endpoints.

<figure><img src="/files/Vbeo0Oshe7KkOmEHyPhO" alt=""><figcaption><p>view Optimism project</p></figcaption></figure>

### Optimism Sepolia

To get your API key, create a project using a unique Identifier as the project name and select Optimism Sepolia from the network options.

<figure><img src="/files/g5XbNQY9A6rCZoy1dRqF" alt=""><figcaption><p>Create Optimism Sepolia project</p></figcaption></figure>

Open the project to view your api key and rpc endpoints.

<figure><img src="/files/L4j8vnX35ASDQp9YVXGm" alt=""><figcaption><p>view Optimism Sepolia project</p></figcaption></figure>

#### Send requests

{% hint style="info" %}
All requests are `POST` requests.
{% endhint %}

{% tabs %}
{% tab title="Https" %}
For Optimism Mainnet

```bash
https://optimism-rpc.blockops.network/?api_key=************
```

For Optimism Sepolia

```bash
https://optimism-sepolia-rpc.blockops.network?api_key=************
```

{% endtab %}

{% tab title="Websocket" %}
For Optimism Mainnet

```bash
wss://optimism-ws.blockops.network?api_key=************
```

For Base Sepolia

```bash
wss://optimism-sepolia-ws.blockops.network?api_key=************
```

{% endtab %}
{% endtabs %}

**Connect via Command Line**

You can connect to the network using websocket or HTTP with your API key in two ways:

* Adding the API key as a query string `?api_key=${APIKEY}`
* Or the request header `-H 'authorization: APIKEY ${APIKEY}'`

**Curl**

For example, the following CURL command can be used to get a block number.

### Optimism Mainnet

{% code overflow="wrap" %}

```bash
curl -H "Content-Type: application/json" -H 'authorization: APIKEY xxxx'  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' https://optimism-rpc.blockops.network
```

{% endcode %}

### Optimism Sepolia

{% code overflow="wrap" %}

```bash
curl -H "Content-Type: application/json" -H 'authorization: APIKEY xxxx'  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' https://optimism-sepolia-rpc.blockops.network
```

{% endcode %}

Here is the response you will receive back.

{% code overflow="wrap" %}

```bash
{"jsonrpc":"2.0","id":1,"result":"0x10666b"}
```

{% endcode %}

**Wscat**

If you want to send data requests with WebSockets, you can use several libraries or wscat. You can install and use wscat as follows:

* Download wscat from <https://www.npmjs.com/package/wscat>
* Install wscat by running the following command: `npm install -g wscat`

You can connect to the network with wscat using two options by adding the API key as a query string.

### Optimism Mainnet

{% code overflow="wrap" %}

```bash
wscat -c 'wss://optimism-ws.blockops.network?api_key=*********************'
```

{% endcode %}

Or the request header.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://optimism-ws.blockops.network' --header 'authorization: APIKEY xxxx'
```

{% endcode %}

### Optimism Sepolia

{% code overflow="wrap" %}

```bash
wscat -c 'wss://optimism-sepolia-ws.blockops.network?api_key=*********************'
```

{% endcode %}

Or the request header.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://optimism-sepolia-ws.blockops.network' --header 'authorization: APIKEY xxxx'
```

{% endcode %}

After executing the command, the terminal will display a message indicating that the connection has been enabled successfully.

```bash
Connected (press CTRL+C to quit)
>
```

Then, you can send the following request:

```
{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}
```

{% hint style="info" %}
For more information on the Polkadot network, please see the official [Optimism developer documentation](https://docs.base.org/).
{% endhint %}

Login or set up an account [here](https://beta-app.blockops.network/?callback=api-service) to get started!

#### ***Quick Links***

[Website](https://www.optimism.io/)

[Github](https://github.com/ethereum-optimism)


# Ethereum

This section outlines how to use our API endpoint to connect to Ethereum.

Ethereum is the community-run technology powering the cryptocurrency ether (ETH) and thousands of decentralized applications.

### How to Connect to Ethereum

You can connect to Ethereum using Blockops private API endpoints. Secure your data, speed up your queries, and take control of your API usage with our RPC API endpoint and personalized API keys. [Sign up now](https://beta-app.blockops.network/?callback=api-service) to get your own API key.

### Ethereum Mainnnet

To get your API key, create a project using a unique Identifier as the project name and select Ethereum from the network options.

<figure><img src="/files/tn6gFJjBtjbgzdjw8d3X" alt=""><figcaption><p>Create Ethereum project</p></figcaption></figure>

Open the project to view your api key and rpc endpoints.

<figure><img src="/files/VgvFZcbz5T2ZuyZJKaMK" alt=""><figcaption><p>view Ethereum project</p></figcaption></figure>

### Ethereum Sepolia

To get your API key, create a project using a unique Identifier as the project name and select Ethereum Sepolia from the network options.

<figure><img src="/files/ZmQwx39O1Typa0W1GGdC" alt=""><figcaption><p>Create Ethereum Sepolia project</p></figcaption></figure>

Open the project to view your api key and rpc endpoints.

<figure><img src="/files/aFUkrRjIu4EpE7kFN5WO" alt=""><figcaption><p>view Ethereum Sepolia project</p></figcaption></figure>

#### Send requests

{% hint style="info" %}
All requests are `POST` requests.
{% endhint %}

{% tabs %}
{% tab title="Https" %}
For Ethereum Mainnet

```bash
https://ethereum-rpc.blockops.network/?api_key=************
```

For Ethereum Sepolia

```bash
https://ethereum-sepolia-rpc.blockops.network?api_key=************
```

{% endtab %}

{% tab title="Websocket" %}
For Ethereum Mainnet

```bash
wss://ethereum-ws.blockops.network?api_key=************
```

For Base Sepolia

```bash
wss://ethereum-sepolia-ws.blockops.network?api_key=************
```

{% endtab %}
{% endtabs %}

**Connect via Command Line**

You can connect to the network using websocket or HTTP with your API key in two ways:

* Adding the API key as a query string `?api_key=${APIKEY}`
* Or the request header `-H 'authorization: APIKEY ${APIKEY}'`

**Curl**

For example, the following CURL command can be used to get a block number.

### Ethereum Mainnet

{% code overflow="wrap" %}

```bash
curl -H "Content-Type: application/json" -H 'authorization: APIKEY xxxx'  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' https://ethereum-rpc.blockops.network
```

{% endcode %}

### Ethereum Sepolia

{% code overflow="wrap" %}

```bash
curl -H "Content-Type: application/json" -H 'authorization: APIKEY xxxx'  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' https://ethereum-sepolia-rpc.blockops.network
```

{% endcode %}

Here is the response you will receive back.

{% code overflow="wrap" %}

```bash
{"jsonrpc":"2.0","id":1,"result":"0x10666b"}
```

{% endcode %}

**Wscat**

If you want to send data requests with WebSockets, you can use several libraries or wscat. You can install and use wscat as follows:

* Download wscat from <https://www.npmjs.com/package/wscat>
* Install wscat by running the following command: `npm install -g wscat`

You can connect to the network with wscat using two options by adding the API key as a query string.

### Ethereum Mainnet

{% code overflow="wrap" %}

```bash
wscat -c 'wss://ethereum-ws.blockops.network?api_key=*********************'
```

{% endcode %}

Or the request header.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://ethereum-ws.blockops.network' --header 'authorization: APIKEY xxxx'
```

{% endcode %}

### Ethereum Sepolia

{% code overflow="wrap" %}

```bash
wscat -c 'wss://ethereum-sepolia-ws.blockops.network?api_key=*********************'
```

{% endcode %}

Or the request header.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://ethereum-sepolia-ws.blockops.network' --header 'authorization: APIKEY xxxx'
```

{% endcode %}

After executing the command, the terminal will display a message indicating that the connection has been enabled successfully.

```bash
Connected (press CTRL+C to quit)
>
```

Then, you can send the following request:

```
{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}
```

{% hint style="info" %}
For more information on the Polkadot network, please see the official [Ethereum developer documentation](https://ethereum.org/developers).
{% endhint %}

Login or set up an account [here](https://beta-app.blockops.network/?callback=api-service) to get started!

#### ***Quick Links***

[Website](https://ethereum.org)

[Github](https://github.com/ethereum/)


# Gargantua

This section outlines how to use our API endpoint to connect to Gargantua.

Hyperbridge (short for hyper-scalable bridge) is innovated as a cross-chain solution built as an interoperability coprocessor. Hyperbridge is crafted to scale cryptographically secure, consensus, and state-proof-based interoperability across all blockchains.

### How to Connect to Gargantua

#### Using Private Endpoint

Using API keys on an RPC node provides better tracking and monitoring of API usage.

Secure your data, speed up your queries, and take control of your API usage with our RPC API endpoint and personalized API keys. [Sign up now](https://beta-app.blockops.network/?callback=api-service) to get your own API key.

To get your API key, create a project using a unique Identifier as the project name and select Gargantua from the network options.

<figure><img src="/files/mwdxa9JNkoyndEB7VWaD" alt=""><figcaption><p>Create a Gargantua project</p></figcaption></figure>

Open the project to view your api key and rpc endpoints.

<figure><img src="/files/sE0UQm5qinde0qtj3xEk" alt=""><figcaption><p>view Gargantua project</p></figcaption></figure>

#### Send requests

{% hint style="info" %}
All requests are `POST` requests.
{% endhint %}

**Connect via Command Line**

You can connect to the network using websocket or HTTP with your API key in two ways:

* Adding the API key as a query string `?api_key=${APIKEY}`
* Or the request header `-H 'authorization: APIKEY ${APIKEY}'`

**Curl**

For example, the following CURL command can be used to get header and body of a relay chain block.

{% code overflow="wrap" %}

```bash
curl -H "Content-Type: application/json" -H 'authorization: APIKEY xxxx'  -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}' https://gargantua-rpc.blockops.network/rpc
```

{% endcode %}

Here is the response you will receive back.

{% code overflow="wrap" %}

```bash
{"jsonrpc":"2.0","result":{"block":{"header":{"parentHash":"0x381dd358f0b1e328e861822b2a51a72e8dc064803a5c7ccc96277da3b16d7667","number":"0xe07a1d","stateRoot":"0xa2aacd7ef5d7ff66da1df6643b3e1c13975d210363c568f1bed51bad56cf40db","extrinsicsRoot":"0x00bc7f1504c9a07364835d80d2114ca3d4e7ad774453198b119bea9be2a1f7c1","digest":{"logs":["0x0642414245b50103d8000000d17aae1000000000768dc1931ba697bb9ab4a08debf5d710bd1f55e6325d65315161c2340cc0217170dfe2df24a3680c8ff48868ac665f4b34ebefa4bc844d510c848d9fc99252035db579a0acbf52cded336d6daf6ab7fdb1d1eee0d480e6388c2a12785d4de809"]},"justifications":null},"id":1}
```

{% endcode %}

**Wscat**

If you want to send data requests with WebSockets, you can use several libraries or wscat. You can install and use wscat as follows:

* Download wscat from <https://www.npmjs.com/package/wscat>
* Install wscat by running the following command: `npm install -g wscat`

You can connect to the network with wscat using two options by adding the API key as a query string.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://gargantua-rpc.blockops.network/ws?api_key=*********************'
```

{% endcode %}

Or the request header.

{% code overflow="wrap" %}

```bash
wscat -c 'wss://gargantua-rpc.blockops.network/ws' --header 'authorization: APIKEY xxxx'
```

{% endcode %}

After executing the command, the terminal will display a message indicating that the connection has been enabled successfully.

```bash
Connected (press CTRL+C to quit)
>
```

Then, you can send the following request:

```
{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}
```

{% hint style="info" %}
For more information on the Gargantua network, please see the official [Hyperbridge documentation](https://docs.hyperbridge.network/).
{% endhint %}

Login or set up an account [here](https://beta-app.blockops.network/?callback=api-service) to get started!

#### ***Quick Links***

[Website](https://research.polytope.technology/)

[Github](https://github.com/polytope-labs/hyperbridge)


# Support

Get help with your Blockops integration

### Customer Support

To learn more about Blockops and how it works, see our page on [Getting Started With Blockops](/why-use-blockops).

If you are having trouble with our website, please email us at [contact@blockops.](mailto:contact@blockops.sh)[network](mailto:contact@blockops.network) for assistance.

### Developer Support

The answers to most questions can be found in the docs -- try using the search feature, or check out of some our most popular pages:

* [Getting Started With Blockops](/developer/getting-started)
* If you can't find an answer to your question in the docs, check our [blog](https://medium.com/blockops) for tutorials on how to use our platform.
* For general questions about using Blockops APIs, or help getting started with your integration, you can also ask the Blockops community on [Discord](https://discord.com/invite/nngqxkqdw8).

### Prospective Customer Support

If you have a question about Blockops capabilities that isn't answered in the docs, or for details about pricing, contact Sales to learn more.


# Glossary

Here's a blockchain lingo guide to help you navigate the exciting frontier of Web3.


# Application

A decentralized application is a program running on a distributed ledger system.


# Network

The actual blockchain network that comprises [nodes](/misc/glossary/node).


# Node

Any computer connected to other computers as part of the network protocol. Nodes comprise a [network](https://github.com/blockopsnetwork/blockops-docs/blob/main/misc/glossary/broken-reference/README.md)


# Project

A project organizes your blockchain [networks](https://github.com/blockopsnetwork/blockops-docs/blob/main/misc/glossary/broken-reference/README.md) and [nodes](/misc/glossary/node).


