# Mission

THE ALIGNMENT LAYER FOR L1MITLESS BLOCKCHAIN NETWORKS.

### Our Mission

**Launch, validate, and scale your L1.**

We believe blockchain technology represents the most promising platform for the next generation of entrepreneurship—yet the technical complexity, misaligned incentives, and fragmented infrastructure have prevented many visionary founders from fully realizing its potential. Hypha was created to solve these fundamental challenges and transform how founders build and scale blockchain-based ventures.&#x20;

Our platform enables early-stage projects to create their L1, raise funding, and build engaged communities around their vision.

Hypha connects independent L1 projects into a collaborative ecosystem, each benefiting from shared resources and aligned interests. Instead of isolated blockchains competing with each other, we're building a network where cooperation creates greater value for everyone involved.

Our goal goes beyond simply providing tools—we're building a movement that transforms how blockchain networks grow and succeed. By joining Hypha, you're not just launching an L1; you're becoming part of the next evolution of Web3 infrastructure where cooperation amplifies everyone's success.

Together, we're creating an entirely new blueprint for blockchain entrepreneurship: one where founders with great ideas can quickly bring them to life, supported by an ecosystem that grows stronger with each new addition.


# FAQ

Answers to common questions about Hypha’s rebranding

## What is Hypha?

Hypha is the next evolution of GoGoPool, with an expansion of the protocol to better serve our mission of creating an ecosystem of L1s. Hypha adds validators sales, staking, and validation services.

## What happens to my $GGP?

Your $GGP tokens remain unchanged and continues to be a core component of our ecosystem. We're committed to expanding utility and functionality for $GGP token holders.

## Will my Minipool still work?

Yes, your Minipool will continue functioning exactly as before with no interruption to services or rewards. Stay tuned for more protocol updates.

## Do I need to do anything as a minipool owner?

No action is required—your minipool will continue operating as usual without any changes to the system.&#x20;

## What happens to $ggAVAX?

$ggAVAX is rebranded into $stAVAX. The name and the logo change, but not the functionality or the yield. There are no actions required from users to convert $ggAVAX into $stAVAX.

## Do I still stake at GoGoPool?

Yes, $AVAX staking will continue under the GoGoPool brand with the same trusted process and interface you're familiar with. Stay tuned for updates.

## How do I stake $AVAX? Anything changing there?

The $AVAX staking process remains completely unchanged—the GoGoPool platform will continue to serve as an $AVAX staking hub just as before.

## Why the change from GoGoPool to Hypha?

GoGoPool has established itself as a trusted platform for AVAX staking on C-chain. With Hypha, we're expanding to embrace the rapidly growing Avalanche L1 ecosystem. This distinct focus on L1 services, including validator sales, validation, and community building, called for dedicated branding that reflects the unique opportunities in this dynamic space.


# What is Hypha

Discover the benefits of launching your own L1 and potential challenges.

Custom blockchains are redefining what's possible in Web3—enabling faster transactions, lower fees, and scalable architectures tailored to specific use cases.

By launching an L1, projects can optimize performance, governance, and security features while retaining full control over their ecosystem. With Avalanche’s latest upgrade, **Avalanche9000**, this process is faster, more affordable, and highly customizable, reducing traditional barriers to entry.

Hypha's new tools support these new L1s by simplifying infrastructure management and connecting projects with quality validators, addressing the typical roadblocks that come with building a secure, decentralized network.

## Avalanche9000

Avalanche9000 is a major upgrade to the Avalanche ecosystem, designed to simplify and accelerate the creation of Avalanche L1s . One of the key innovations is [**ACP77**](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/77-reinventing-subnets/README.md), which removes the previously high staking requirement for validators, making it easier for more projects to launch and maintain their own blockchains. This reduces costs and enables faster finality, making it a game-changer for developers. Summary of Avalanche9000 is explained below:

* **Reduced staking requirement**: No more need for 2000 AVAX to participate as a validator.
* **Customizable Avalanche L1s**: Projects can now create their L1s with tailored staking, governance, and gas token models.
* **Seamless interoperability**: Avalanche Interchain Messaging facilitates easy communication between different Avalanche L1s in the ecosystem.
* **Shared liquidity**: Avalanche Interchain Messaging solves liquidity fragmentation, enabling a more connected and efficient network.
* **Faster, scalable launches**: New L1s can launch with lower costs, faster finality, and greater scalability.

## **The Challenges in Launching Your Own L1**

While Avalanche reduces the economic barriers, several challenges remain:

* **Infrastructure Complexity**: Launching an L1 requires ongoing infrastructure management, which can be a burden for teams lacking technical resources. New projects often need an experienced partner to handle these complexities.
* **Decentralized Security**: For projects committed to decentralization, sourcing reliable validators is crucial. Without a trusted validator network, maintaining security and decentralization becomes challenging.

## **How** Hypha **Solves These Issues**

Hypha's Sell-Stake-Validate framework addresses the key challenges of launching and sustaining L1s, providing a complete solution for the entire L1 lifecycle:

### Build Your L1 Community

[L1 Marketplace](https://l1s.gogopool.com/marketplace) connects your project with an established ecosystem of dedicated L1 supporters. We help you build a foundational community of stakeholders invested in your long-term success while launching your node license offering to an audience that truly understands L1 value creation.

* Generate initial backing with meaningful connections to early supporters
* Develop a sustainable community from day one through our proven platform

### Eliminate Staking Complexity

Our staking system removes technical barriers for your token holders. Participants can easily stake node licenses to validators with a straightforward, simplified process.

* Enable users to participate in network security without technical expertise
* Provide transparent reward tracking and performance monitoring through clear dashboards

### Access Professional Infrastructure

Our curated network of professional hardware operators eliminates infrastructure headaches. We provide turnkey validator deployment with ongoing maintenance while ensuring high uptime and optimal performance for your network.

* Handle all technical updates and security requirements so you don't have to
* Create a decentralized foundation of reliable validators from day one

Hypha's approach allows L1 projects on Avalanche to focus on building their ecosystem while we manage the complexities of node sales, staking systems, and validator infrastructure—helping you unlock Avalanche's full potential.

For those looking to launch your own L1, we encourage you to get in touch. We're eager to support developers and visionaries in leveraging blockchain technology to its fullest potential.


# L1 Staking Architecture

L1 staking architecture, detailing its components, processes, and integration guidelines for L1 projects.

This document outlines the Hypha L1 staking architecture, covering its components, processes, and integration for L1 projects.

## Overview

Hypha's [L1 Marketplace (L1M)](https://l1s.gogopool.com/marketplace) provides a comprehensive infrastructure for launching and supporting Avalanche L1s through a unique staking and validation system. This architecture document details how the platform connects L1 projects, stakers, and hardware providers in a seamless ecosystem.

The architecture includes key components that enable staking, validation, and reward distribution.

### Smart Contract System

The following are definitions and descriptions for each of the essential contracts that power the Hypha staking system, enabling validator creation, stake, and reward distribution in a trustless manner.

<figure><img src="/files/on9j22pfqdNdhSQzc7EJ" alt=""><figcaption><p>L1 Staking Architecture - Smart Contract System</p></figcaption></figure>

#### NFTStakingManager

The `NFTStakingManager` serves as the central orchestration layer for the entire staking ecosystem.

* Manages relationships between hardware operators and node license holders.
* Tracks NFT staking and adjusts validator weights automatically through the `ValidationManager`
* Enables hardware operators to create zero-weight validators using `HardwareOperatorLicense` NFTs, each with a configurable amount of default weight.
* Allows `NodeLicense` holders to delegate NFTs to validators, increasing their consensus weight.
* Processes uptime proofs submitted by validators on an epoch schedule to distribute rewards to both `NodeLicense` holders and hardware operators based on their contributions.

#### ValidationManager

The `ValidationManager` contract serves as the interface between Hypha's staking system and the Avalanche consensus mechanism. The `ValidationManager` is a default Avalanche contract that handles the technical aspects of validator lifecycle management within the network.

* Owned exclusively by the `NFTStakingManager`, to ensure only authorized validators participate in consensus.
* Registers validators and updates their weights in the Avalanche network.
* Maintains a registry of active validators and their respective weights, interfacing directly with the subnet's validation process.

While the `NFTStakingManager` focuses on higher-level staking logic, the `ValidationManager` handles the subnet-specific technical implementation details.

#### NodeLicense (ERC-721 NFT)

The `NodeLicense` is an ERC-721 NFT that represents the fundamental staking unit within the Hypha ecosystem.

* Grants its holder the right to contribute staking weight to any validator in the network.&#x20;
* Holders delegate to validators, adding weight and earning rewards based on validator performance.
* Enables staking without running hardware, lowering participation barriers.
* Can be acquired through primary sales from L1 projects or secondary markets, ensuring liquidity.

> A `NodeLicense` alone does not allow someone to create a zero-weight validator; that capability is dependent on the `HardwareOperatorLicense`.

#### HardwareOperatorLicense (ERC-721 NFT)

The `HardwareOperatorLicense` is a specialized ERC-721 NFT that grants its holder the ability to create and operate validators within the network.

* Represents authorization to provide the physical infrastructure that secures the network.
* Holders register NodeIDs with the `ValidationManager` and create validators with default weight through the `NFTStakingManager`.
* Supports two revenue models:
  1. **On-chain hardware payment tracking:** Operators can record that `NodeLicense` holders have paid for hardware costs directly.
  2. **Staking fee percentages:** If there’s no direct hardware payment, operators can collect a percentage of rewards as staking fees from `NodeLicense` stakings.

The distribution of `HardwareOperatorLicenses` is typically controlled to ensure that only qualified and trusted entities can operate network infrastructure. This curation process helps maintain network reliability and performance standards.

### Process Flow

The following diagram illustrates the three critical operational workflows within the Hypha L1 Staking ecosystem.

<figure><img src="/files/CUkq32iO83Rg4EE66ZX9" alt=""><figcaption><p>L1 Staking Process Flow</p></figcaption></figure>


# How to Stake and Support L1 Chains

Stake assets, purchase validator licenses, and support L1 chains on Hypha's L1 Marketplace (L1M).

This guide explains the general process for participating in L1 staking via Hypha's [L1 Marketplace (L1M)](https://l1s.gogopool.com/marketplace).

> ⚠️ **Note:** This is a *generic* staking guide applicable to all L1s using Hypha. Some parameters (like token names, NFT availability, credit costs, and rewards) may vary *across* different L1 chains.

## Key Concepts

### Validator License NFTs

L1 projects offer Validator **License NFTs** (ERC-721 tokens) during launch. These NFTs grant holders the right to run validator nodes for the chain.&#x20;

L1 projects can use validator license sales to raise early funding and bootstrap validator communities. For participants, this provides an opportunity to actively support the L1 projects they believe in and gain early exposure.

NFTs are typically available during a project’s launch phase but may not be on sale at all times. You can view and purchase validator licenses (if available) directly from the project’s page on the [L1 Marketplace](https://l1s.gogopool.com/marketplace).

### Node Hosting (Node-as-a-Service)

Holders of Validator License NFTs can choose to host their node with Hypha by paying a **monthly USDC fee**. This managed hosting service removes technical barriers for NFT holders.

> **Bonus:** Hosting a node may qualify participants for an airdrop when the chain’s token generation event (TGE) occurs.

### Staking Credits

Staking credits are required to activate your validator licenses and begin earning rewards:

* Each **active** validator license consumes **1 staking credit per month**.
* If your account runs out of credits, your license will be removed from the staking contract and **will no longer earn rewards**.

> You can top up staking credits anytime from your dashboard.

## How to Participate in L1 Staking

{% stepper %}
{% step %}

### Visit the L1 Marketplace

* Navigate to the [L1 Marketplace](https://l1s.gogopool.com/marketplace)
* Browse available L1 projects on the Avalanche L1 ecosystem

<figure><img src="/files/TXJIhZCWClROcHNXw4l6" alt=""><figcaption><p>Avalanche L1 projects on the L1 Marketplace</p></figcaption></figure>
{% endstep %}

{% step %}

### Connect Your Wallet

* Click **Connect Wallet** and link an EVM-compatible wallet (e.g., MetaMask, Core, Rabby)
* Ensure your wallet is connected to the **Avalanche C-Chain**

<figure><img src="/files/LSOeZhKklT3M9objRoxd" alt=""><figcaption><p>Connect your wallet</p></figcaption></figure>
{% endstep %}

{% step %}

### Choose a Project

* Select the L1 project you want to support
* On the project page, you'll see:
  * Overview of the chain and its vision
  * Validator License availability and price (if applicable)
  * Links to the whitepaper, socials, and docs
  * **Buy Validator License** or **Stake** options

<figure><img src="/files/B7OqeRJS3QPJkqmP4OT3" alt=""><figcaption><p>Choose your project and review it</p></figcaption></figure>
{% endstep %}

{% step %}

### Purchase a Validator License (If Available)

If the project is selling validator licenses:

* Click **Buy Validator License**
* Select **the validator license NFT amount** to buy
* Check if you have enough USDC balance for the total price of these NFTs
* Confirm the transaction in your wallet to mint an ERC-721 license NFT

These NFTs are required to participate in staking.

<figure><img src="/files/s1JLzCPaSvwNjYEqbZfp" alt=""><figcaption><p>Purchase validator license NFTs </p></figcaption></figure>
{% endstep %}

{% step %}

### Stake Your Validator Licenses

* Click **Stake now** on the **Stake** tab
* Select the **validator licenses amount to stake** (how many licenses you want to stake)&#x20;
* Select the **staking duration per license** - *staking is currently only available in 6-month intervals.*

{% hint style="info" %}

#### :closed\_lock\_with\_key: Staking Lock-In

Once you stake, your licenses are **locked for the entire selected duration**.\
You **cannot unstake** early — so be sure you’re comfortable with the lock-in period before confirming.
{% endhint %}

* **Pay the staking cost** in USDC — *the total is based on the number of nodes and months selected.* This staking service fee includes monthly hardware usage costs and monthly [Avalanche L1 validator fee](https://build.avax.network/guides/l1-validator-fee).

<figure><img src="/files/Ndaknv0IW8ZUK58OGvTp" alt=""><figcaption><p>Pay the staking cost</p></figcaption></figure>

* Then, Click **Stake** and follow the instructions to stake your validator license NFTs

<figure><img src="/files/NWVANUVXgLU8sn0zt3Vj" alt=""><figcaption><p>Stake your Validator License NFTs</p></figcaption></figure>

{% hint style="info" %}

#### 💡 Batch **Processing via Vault**

To reduce gas fees and make staking easier, you’re granting permission to the **Hypha License Vault** to stake your licenses **on your behalf**. This allows you to stake multiple NFTs in one go.
{% endhint %}

After your transaction is confirmed, you can view your **Staked** validator licenses on the project's L1 Marketplace page. Staking process may take up to 24 hours to complete.

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

> ⚠️ **Important:** If you run out of staking credits, your NFTs will be removed from staking automatically.
>
> 💡 **Tip:** Check the total number of months you want to stake in advance, so you can calculate how many credits to purchase accordingly.
> {% endstep %}
> {% endstepper %}


# Hardware Provider Onboarding

Learn how to register as a hardware provider for a Layer 1 blockchain.

This guide is the first step in onboarding as a hardware provider for a Layer 1 blockchain network. It walks you through setting up your environment, generating node keys, securely backing them up, and registering with the Hypha system.

The next guide in this series will walk you through the process of running a Layer 1 node.

{% hint style="info" %}
This guide is specifically for hardware providers and intended for developers familiar with Linux-based systems and command-line operations.
{% endhint %}

## Prerequisites

Before proceeding, ensure the following dependencies are installed on your system:

* [**Go**](https://go.dev/) **1.23 or higher**: Required to build Tartarus.
  * Follow [Go’s official installation instructions](https://go.dev/doc/install) to install the correct version.
  * We do not recommend installing via Ubuntu Apt repositories. These typically provide outdated versions that are not supported.
  * **Important Compatibility Notes:**
    * Go 1.22 and below are untested and may not work as expected.
* **C Compiler (**[**GCC**](https://gcc.gnu.org/) **or** [**Clang**](https://clang.llvm.org/)**)**: Necessary for building dependencies.
* [**jq**](https://github.com/jqlang/jq): A lightweight JSON processor used by the scripts.

### Installing Dependencies on Ubuntu

{% stepper %}
{% step %}

### Install Go

Run the following command to install Go (the command below is for version 1.23.2) on your system, if not already installed:

```bash
sudo rm -rf /usr/local/go # This command removes any existing Go installation. Ensure you have backups if needed.
wget -qO- https://golang.org/dl/go1.23.2.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf - && echo 'export PATH=$PATH:/usr/local/go/bin' 
sudo tee -a $HOME/.bashrc && source $HOME/.bashrc
rm -f go1.23.2.linux-amd64.tar.gz
```

Then, verify the installation:

```
go version
```

For detailed installation instructions, refer to the [official Go documentation](https://go.dev/doc/install).
{% endstep %}

{% step %}

### Install Dependencies

Run the following commands to install the necessary packages:

```bash
sudo apt-get update && sudo apt-get install -y build-essential jq
```

{% endstep %}
{% endstepper %}

***

## Installing Tartarus

[Tartarus](https://github.com/multisig-labs/tartarus) is a NodeID and key generation tool that simplifies the creation of node keys for Avalanche L1s. Tartarus generates node IDs with customizable prefixes and saves them in a JSON or CSV file compatible with AvalancheGo.

Follow these steps to install it:

{% stepper %}
{% step %}

### Download Tartarus

Clone the Tartarus repository from [Multisig Labs's GitHub Repository](https://github.com/multisig-labs/tartarus)

```bash
git clone https://github.com/multisig-labs/tartarus.git
```

{% endstep %}

{% step %}

### Build Tartarus

Navigate to the root directory of the cloned repository (where `main.go` is located) and build the executable.

{% code overflow="wrap" %}

```bash
cd tartarus
go build -o tartarus main.go
```

{% endcode %}
{% endstep %}
{% endstepper %}

After successful compilation, you should see the `tartarus` executable in your current directory.

***

## Sign Up for a Hypha Account

1. Before uploading node keys, you must first create a Hypha account. Run the signup script provided in the Tartarus repository:

```bash
./scripts/signup.sh
```

2. The script will prompt you for:
   * Your email address
   * A password (make sure to use a unique password not used elsewhere)
   * Password confirmation
3. After signing up, you'll receive a verification email. You must **verify your email address** before proceeding.

## Get Your Hardware Provider ID

Before you can generate and upload keys, you need a Hardware Provider ID. This ID will be assigned to you by the system administrators. Please **contact the administrators** to get your Hardware Provider ID.

## Generating Node Keys

Node keys are cryptographic credentials used to operate L1 nodes. These keys enable secure communication, authentication, and participation in consensus mechanisms. Each node requires a unique set of keys, which are stored in a `nodes.json` file.

Tartarus supports multiple output formats. You can choose between JSON, CSV, or an AvalancheGo-compatible directory.

To generate these keys, follow the steps below:

{% stepper %}
{% step %}

### Generate Node Keys

Run the following command using the Tartarus executable:

<mark style="background-color:yellow;">Be sure to replace</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`<number_of_nodes>`</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">with how many nodes you want to generate, and</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`<your_prefix>`</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">with your assigned prefix.</mark>

<pre class="language-bash"><code class="lang-bash"># Basic single-node generation (JSON output)
./tartarus -n <a data-footnote-ref href="#user-content-fn-1">&#x3C;number_of_nodes></a> -o nodes.json

# Generate multiple nodes with prefix (JSON output)
./tartarus -n <a data-footnote-ref href="#user-content-fn-1">&#x3C;number_of_nodes></a> -p <a data-footnote-ref href="#user-content-fn-2">&#x3C;your_prefix></a> -o nodes.json

# Generate keys in AvalancheGo-compatible directory
./tartarus -n <a data-footnote-ref href="#user-content-fn-1">&#x3C;number_of_nodes></a> -o staking-dir

</code></pre>

* Replace `<number_of_nodes>` with the number of nodes allocated to you. (e.g., `10`)
* Replace `<your_prefix>` with your assigned prefix. This prefix ensures uniqueness across the network. (e.g., `GGP`)
* The `-o` flag specifies the output file (`nodes.json`) where the generated keys will be stored.

{% hint style="info" %}
**Available Flags for Generation:**

* `n, --count`: The number of nodes to generate. (Default: `1`)
* `p, --prefix`: The prefix for the node IDs.&#x20;
* `s, --suffix`: The suffix for the node IDs.
* `c, --case-sensitive`: Whether to make the node IDs case-sensitive.
* `o, --output`: The output file or directory for the generated nodes. (Default: `nodes.csv`)
* `v, --verbose`: Whether to print verbose output.
  {% endhint %}

> **Note**: The Hypha team will provide your assigned prefix and the number of nodes (allocated number).

> **Note**: Key generation may take some time depending on the number of keys. With prefixes, it typically takes around 1 second per key.
> {% endstep %}

{% step %}

### (Optional) Converting a JSON File to Staking Keys

You can also generate **AvalancheGo-compatible staking keys** from `nodes.json` by running the following command:

```bash
# Convert JSON file to staking keys
./tartarus convert -i nodes.json -o staking-dir
```

{% endstep %}

{% step %}

### Verify Output

Ensure your output file (CSV or JSON file) or AvalancheGo-compatible directory is created and contains the expected number of keys.

{% hint style="info" %}

## Output Formats

* CSV file (default):
  * Contains node ID, certificate, key, and BLS information
  * Suitable for spreadsheet analysis
* JSON file:
  * Contains the same information in JSON format
  * Required for uploading to the system
* AvalancheGo-compatible directory:
  * Creates a directory with `staker.crt`, `staker.key`, and `signer.key` files
  * Ready to use with AvalancheGo nodes
    {% endhint %}
    {% endstep %}
    {% endstepper %}

{% hint style="danger" %}
Do not use the same keys on both Avalanche Mainnet and Fuji testnet. Always generate new keys for each network to ensure security and isolation.
{% endhint %}

***

## Uploading Node Keys

Once you have generated your node keys, you can upload them to the system:

<mark style="background-color:yellow;">Be sure to replace</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`YOUR_HARDWARE_PROVIDER_ID`</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">with your hardware provider ID.</mark>

<pre class="language-bash"><code class="lang-bash">./tartarus upload -d nodes.json --hp-id <a data-footnote-ref href="#user-content-fn-3">YOUR_HARDWARE_PROVIDER_ID</a>
</code></pre>

{% hint style="info" %}

#### **Upload Flags**

Required flags for upload:

* `-d, --data-file`: Path to your JSON file containing node data
* `--hp-id`: Your Hardware Provider ID (assigned by administrators)

Optional flags:

* `-e, --email`: Your email address (will prompt if not provided)
* `--password`: Your password (will prompt securely if not provided)
* `--network`: Network for the nodes (default: "fuji")
* `--include-secrets`: Include staker cert, staker key, and BLS private key in the upload
* `--batch-size`: Number of nodes to upload in each batch (default: 25)
  {% endhint %}

{% hint style="info" %}
Hypha does not store your private keys. The keys you generate and upload are used solely for network participation and are never retained or stored by us.
{% endhint %}

***

## Security Notes

* Keep your generated keys secure and never share them
* Use a unique password for your account
* The BLS private key is particularly sensitive and should be protected
* Consider using the `--include-secrets` flag only when necessary

{% hint style="info" %}
By default, Tartarus **will not** include the BLS private key, the staker cert, or the staker key in the output file. You can include these secrets by using the `--include-secrets` flag, however we **do not recommend** this and instead recommend you back up the keys yourself to a secure location.
{% endhint %}

***

## Conclusion

By following this guide, node providers can use Tartarus to generate the necessary `NodeID`s and BLS keys, and upload them to the appropriate backend system for their Layer 1 blockchain (such as the Hypha Provider Manager).

Always treat your private keys with extreme care, and ensure they are securely backed up.

If you encounter any issues, refer to the provided scripts or consult the [Tartarus](https://github.com/multisig-labs/tartarus) documentation. You can also reach out to Hypha support via [Discord](https://discord.gogopool.com/) or the Live Support Chat available on the [Hypha website](https://gogopool.com/).

For instructions on running an L1 node, see the [Running an L1 Node for Hypha](/hypha/running-an-l1-node-for-hypha) guide.

[^1]: Number of nodes allocated to you

[^2]: Your assigned prefix

[^3]: Your Hardware Provider ID that is assigned by administrators


# Running an L1 Node for Hypha

Learn how to run an L1 node.

This guide is part of a series covering the end-to-end process for participating in a Layer 1 blockchain as a hardware provider. It focuses on setting up and running a node using AvalancheGo on any Avalanche-based L1.

This guide is intended for developers familiar with Linux-based systems and command-line operations.

{% hint style="info" %}
This guide is specifically for hardware providers. If you’re looking to become a validator by staking, refer to the dedicated validator staking guide.
{% endhint %}

***

## Hardware Requirements

Below are the minimum hardware specifications for running an L1 node on Fuji testnet and Mainnet.

| **Component**        | **Fuji Testnet** | **Mainnet**      |
| -------------------- | ---------------- | ---------------- |
| **CPU vCores**       | 4 (2 dedicated)  | 4 (2 dedicated)  |
| **RAM**              | 4GB              | 8GB              |
| **Storage**          | 200GB SSD        | 300GB SSD        |
| **Network In/Out**   | 100Mb/100Mb      | 5Gb/5Gb          |
| **Operating System** | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS |

{% hint style="success" %}
While ARM64 binaries are available, we recommend using x86 (AMD64) for stability and performance with most Avalanche-based L1 nodes at this time.
{% endhint %}

{% hint style="warning" %}
These are baseline numbers for getting started today and are subject to change since storage, CPU, and memory requirements will increase as the blockchain grows. Nearly half of the recommended storage is allocated for the P-Chain.

Using a system that can be easily expanded is highly recommended.&#x20;
{% endhint %}

***

## Suggested Hosting Providers

* [Contabo](https://contabo.com/)
* [Amazon Web Services (AWS)](https://aws.amazon.com/)
* [OVH](https://www.ovhcloud.com/en/)
* [Netcup](https://www.netcup.com/en)
* Other cloud providers or dedicated server providers meeting the hardware requirements.

***

## Installing AvalancheGo

The first step is installing AvalancheGo, the client software for running L1 nodes. You can install it either [manually](https://docs.avax.network/nodes/run-a-node/manually#run-with-a-pre-built-binary) or [via the install script](https://docs.avax.network/nodes/using-install-script/installing-avalanche-go).

{% hint style="success" %}
Before installing AvalancheGo via your preferred method, we recommend you read on below for your respective install method.
{% endhint %}

Once AvalancheGo is installed, proceed to configure your node using one of the methods below.

***

## Manual Installation Steps

{% hint style="warning" %}

#### Finding L1 Specific Information

You can find L1 specific information like `subnet_ID` and `VM_ID` by finding the L1 [here](https://subnets.avax.network/).
{% endhint %}

If you installed AvalancheGo manually, follow these steps to configure your node:

{% stepper %}
{% step %}

### Download and Install the Subnet EVM Binary

Before we can start our node, we need to add the Subnet EVM binary to the machine.&#x20;

Run the following commands to download and place the Subnet EVM binary in the correct directory.

<mark style="background-color:yellow;">Be sure to replace</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`<VM_ID>`</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">with the actual VM ID for your Subnet before running the command.</mark>

<pre class="language-bash" data-overflow="wrap"><code class="lang-bash"># Fetch the latest release download URL and download the tarball
curl -s https://api.github.com/repos/ava-labs/subnet-evm/releases/latest | jq -r '.assets[] | select(.name | test("^subnet-evm_[0-9.]+_linux_amd64\\.tar\\.gz$")) | .browser_download_url' | xargs curl -L -O

# Create the plugins directory if it doesn't exist
mkdir -p "$HOME/.avalanchego/plugins"

# Extract the subnet-evm binary from the tarball
tar -xzf subnet-evm_*_linux_amd64.tar.gz subnet-evm

# Move the extracted binary to the plugins directory with a new name
// highlight-next-line
mv subnet-evm "$HOME/.avalanchego/plugins/<a data-footnote-ref href="#user-content-fn-1">&#x3C;VM ID></a>"

# Optionally, clean up the downloaded tarball
rm subnet-evm_*_linux_amd64.tar.gz
</code></pre>

{% hint style="warning" %}

#### Configuration Details: VM ID

The `VM ID` is a cryptographic hash that uniquely identifies the Subnet EVM binary. AvalancheGo uses this ID to locate and execute the correct virtual machine for your Subnet.

**How to Find the Correct VM ID?**

You can find the correct VM ID (e.g., `knwdavfavsrcds7PKZmVBd51ZGxkhRQsC9xUHzSNHdegDCWBL`) on the L1's [Avalanche Subnet Explorer](https://subnets.avax.network/subnets/) under the *Chain Info* section, or in the official documentation provided by your L1 project.<br>

Using the wrong VM ID will prevent connection to your intended blockchain.
{% endhint %}
{% endstep %}

{% step %}

### Configure AvalancheGo Startup

Before starting the node, add the `-partial-sync-primary-network` flag and the `-track-subnets` flag with your target L1's Subnet ID to the startup command.&#x20;

Your startup command should look like this:

<mark style="background-color:yellow;">Make sure to replace</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`<VERSION>`</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">and</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`<Subnet_ID>`</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">with the correct AvalancheGo version and your specific Subnet ID before running the command.</mark>

<pre class="language-bash" data-overflow="wrap"><code class="lang-bash">./avalanchego-<a data-footnote-ref href="#user-content-fn-2">&#x3C;VERSION></a>-linux/avalanchego --partial-sync-primary-network --track-subnets=<a data-footnote-ref href="#user-content-fn-3">&#x3C;Subnet_ID></a>
</code></pre>

For more details on available configurations, see the [AvalancheGo Configs and Flags documentation](https://docs.avax.network/nodes/configure/configs-flags).

{% hint style="info" %}

#### Configuration Details: Subnet ID & Network

**`<Subnet_ID>`**: This is the unique identifier for the L1 blockchain (Subnet) you want your node to track and validate.

**Examples:**

* **Coqnet:** `5moznRzaAEhzWkNTQVdT1U4Kb9EU7dbsKZQNmHwtN5MGVQRyT`
* **COQnet Fuji Testnet:** `4YurNFwLzhGUrYyihDnUUc2L199YBnFeWP3fhJKmDDjkbvy8G`
  {% endhint %}
  {% endstep %}

{% step %}

### Run at Startup

Configure this command to run automatically at startup using your preferred method (e.g., `systemd`, `supervisor`). This ensures your node restarts if the server reboots.

And that's it! :tada: Your node should now be running and tracking the specified L1 Subnet. You now have a working L1 node running on Avalanche Mainnet.

{% hint style="warning" %}
Remember that it can take a significant amount of time for your node to fully sync with the Primary Network and the tracked Subnet.
{% endhint %}
{% endstep %}
{% endstepper %}

***

{% hint style="warning" %}

#### Finding L1 Specific Information

You can find L1 specific information like `subnet_ID` and `VM_ID` by finding the L1 [here](https://subnets.avax.network/).
{% endhint %}

## Script Installation Steps

If you used the AvalancheGo install script, follow these steps to configure your node:

{% stepper %}
{% step %}

### Stop the AvalancheGo Process

Stop the `avalanchego` service before making changes:

```bash
sudo systemctl stop avalanchego
```

{% endstep %}

{% step %}

### Download and Install the Subnet EVM Binary

Run the following commands to download and place the Subnet EVM binary in the correct directory:

<mark style="background-color:yellow;">Be sure to replace</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`<VM_ID>`</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">with the actual VM ID for your Subnet before running the command.</mark>

<pre class="language-bash" data-overflow="wrap"><code class="lang-bash"># Fetch the latest release download URL and download the tarball
curl -s https://api.github.com/repos/ava-labs/subnet-evm/releases/latest | jq -r '.assets[] | select(.name | test("^subnet-evm_[0-9.]+_linux_amd64\\.tar\\.gz$")) | .browser_download_url' | xargs curl -L -O

# Create the plugins directory if it doesn't exist
mkdir -p "$HOME/.avalanchego/plugins"

# Extract the subnet-evm binary from the tarball
tar -xzf subnet-evm_*_linux_amd64.tar.gz subnet-evm

# Move the extracted binary to the plugins directory with a new name
mv subnet-evm "$HOME/.avalanchego/plugins/<a data-footnote-ref href="#user-content-fn-1">&#x3C;VM ID></a>"

# Optionally, clean up the downloaded tarball
rm subnet-evm_*_linux_amd64.tar.gz
</code></pre>

{% hint style="warning" %}

#### Configuration Details: VM ID

The `VM ID` is a cryptographic hash that uniquely identifies the Subnet EVM binary. AvalancheGo uses this ID to locate and execute the correct virtual machine for your Subnet.

**How to Find the Correct VM ID?**

You can find the correct VM ID (e.g., `knwdavfavsrcds7PKZmVBd51ZGxkhRQsC9xUHzSNHdegDCWBL`) on the L1's [Avalanche Subnet Explorer](https://subnets.avax.network/subnets/) under the *Chain Info* section, or in the official documentation provided by your L1 project.<br>

Using the wrong VM ID will prevent connection to your intended blockchain.
{% endhint %}
{% endstep %}

{% step %}

### Configure Tracked Subnets

Add the Subnet ID of the L1 to the AvalancheGo configuration file. This file is typically located at `$HOME/.avalanchego/configs/node.json`.

<mark style="background-color:yellow;">Be sure to replace</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`<Subnet_ID>`</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">with the actual Subnet ID you intend to track before running the command.</mark>

<pre class="language-json"><code class="lang-json">{
    "track-subnets": "<a data-footnote-ref href="#user-content-fn-4">&#x3C;Subnet_ID></a>",
    // ... other existing configurations ...
}
</code></pre>

{% hint style="info" %}

#### Configuration Details: Subnet ID & Network

**`Subnet_ID`**: This is the unique identifier for the L1 blockchain (Subnet) you want your node to track and validate.

**Examples:**

* **Coqnet:** `5moznRzaAEhzWkNTQVdT1U4Kb9EU7dbsKZQNmHwtN5MGVQRyT`
* **COQnet Fuji Testnet:** `4YurNFwLzhGUrYyihDnUUc2L199YBnFeWP3fhJKmDDjkbvy8G`
  {% endhint %}
  {% endstep %}

{% step %}

### Enable Partial Sync in the Unit File

It's highly recommended to enable the `-partial-sync-primary-network` flag. This prevents your node from downloading the full history of the Avalanche C-Chain, saving considerable storage space.

Edit the unit file located at `/etc/systemd/system/avalanchego.service` to include the `--partial-sync-primary-network` flag.

Simply add the `--partial-sync-primary-network` flag to the `ExecStart` command in the `[Service]` section.&#x20;

{% code overflow="wrap" %}

```diff
-ExecStart=/path/to/avalanchego --config-file=/path/to/.avalanchego/configs/node.json
+ExecStart=/path/to/avalanchego --config-file=/path/to/.avalanchego/configs/node.json --partial-sync-primary-network
```

{% endcode %}

The updated file should look like this:

{% code overflow="wrap" %}

```toml
[Unit]
Description=AvalancheGo systemd service
StartLimitIntervalSec=0

[Service]
Type=simple
User=ubuntu # Replace with the user running avalanchego
WorkingDirectory=/home/ubuntu # Replace with the user's home or avalanchego directory
ExecStart=/home/ubuntu/avalanche-node/avalanchego --config-file=/home/ubuntu/.avalanchego/configs/node.json --partial-sync-primary-network
LimitNOFILE=32768
Restart=always
RestartSec=1

[Install]
WantedBy=multi-user.target
```

{% endcode %}

<mark style="background-color:yellow;">Be sure to replace</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`ubuntu`</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">in</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`User`</mark><mark style="background-color:yellow;">,</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`WorkingDirectory`</mark><mark style="background-color:yellow;">, and</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">`ExecStart`</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">with the correct username and paths for your system.</mark>
{% endstep %}

{% step %}

### Reload and Restart the Service

Reload the `systemd` configuration and restart the `avalanchego` service:

```bash
sudo systemctl daemon-reload
sudo systemctl start avalanchego
```

And that's it! :tada: Your node should now be running and tracking the specified L1 Subnet. You now have a working L1 node running on Avalanche Mainnet.
{% endstep %}
{% endstepper %}

***

## Monitoring Your Node

Once your node is running, you can monitor its status and check logs with the following commands:

```bash
sudo systemctl status avalanchego
journalctl -u avalanchego -f
```

## Checking Sync Progress

To check if your node has finished bootstrapping (syncing) with the Avalanche Primary Network (P-Chain), you can execute the following command.

{% code overflow="wrap" %}

```bash
curl -X POST -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"info.isBootstrapped","params":{"chain":"P"}}' 127.0.0.1:9650/ext/info
```

{% endcode %}

To check the bootstrapping status of **your specific L1 Subnet**, replace the `chain` parameter with your L1's Chain ID (not the Subnet ID).

{% hint style="warning" %}

#### Configuration Details: Chain Alias/ID for Bootstrapping Check

* **Primary Network P-Chain (General):** Use `"P"` or the P-Chain's actual ID (e.g., `11111111111111111111111111111111LpoYY` for Mainnet and Fuji).
* **L1 Subnet's Chain:** You'll need the `chainID`(or Blockchain ID) of your L1. This is different from the Subnet ID.

**Example:**

* `{"chain":"23aQU1537YseCJmXW11XHjPra6bptBSps5D4xXupt8hN2QUeaG"}`
* `{"chain":"[Your_L1_Chain_ID]"}`
  {% endhint %}

A response of  `"isBootstrapped":true}` indicates the chain is bootstrapped.

## Common Issues and Troubleshooting

This section addresses specific edge cases that can affect Hypha L1 node operation. Review these scenarios and their resolutions if you experience unexpected behavior or issues with your node.

### **Port Forwarding**

Proper port forwarding is essential for your Hypha L1 node to communicate externally. If port `9651` is not correctly forwarded, your node may experience connectivity issues and report low uptime.

{% hint style="success" %}

#### Resolution

Ensure that **port `9651`** is open and accessible from the Internet on the public IP address configured for your node.
{% endhint %}

### **Firewall (UFW) Interference**

Firewall configurations, such as those using UFW on Ubuntu, can sometimes inadvertently block necessary network traffic for a running Hypha node. This can occur even when other nodes on the same system function correctly.

{% hint style="success" %}

#### Resolution

Verify that your firewall is correctly configured to allow inbound and outbound traffic on all required ports for your Hypha node, specifically **port `9651`**. Refer to your operating system's firewall documentation for detailed configuration instructions.
{% endhint %}

### **I**ncorrect IP Configuration

Configuring the `publicIP` with an IPv6-only address may lead to connectivity problems and impact node uptime.

{% hint style="success" %}

#### Resolution

Ensure your node's `publicIP` is explicitly configured with an IPv4 address. Confirm that **port `9651` is correctly forwarded** and accessible externally on this IPv4 address.
{% endhint %}

### **Staker/Signer File Integrity**

The node software may modify or overwrite critical **staker and signer files** (e.g., `staker.crt`, `staker.key`, `signer.key`) located within the `/chainData/staking/` directory. This can result in changes to your **Node ID** or other operational disruptions.

{% hint style="success" %}

#### Resolution

Regularly **back up** your `staker.crt`, `staker.key`, and `signer.key` files. If these files are suspected of corruption or unintended modification, restore them from a known good backup.
{% endhint %}

## Conclusion

If these steps don’t resolve your problem, refer to the [AvalancheGo documentation](https://docs.avax.network/) or reach out to Hypha support for assistance on [Discord](https://discord.gogopool.com/) or via Live Support Chat on the [Hypha website](https://gogopool.com/).

[^1]: Replace with the correct VM ID

[^2]: Replace with your AvalancheGo version

[^3]: Replace with your specific Subnet ID

[^4]: Replace with the actual Subnet ID


# Overview

The Hypha Points Program is a campaign designed to bootstrap the Hypha ecosystem and reward early community members.

### Program Objectives

The primary objective of this program is to bootstrap the initial **Total Value Locked (TVL)** of AVAX required to power the **Hypha L1 Framework**.

This framework, also known as the **Hypha Flywheel**, is a system designed to create deep economic alignment between **staked AVAX** and **new L1 chains on Avalanche**. It addresses the challenge of new L1s operating in silos, disconnected from the core network's liquidity and security.

The flywheel functions through the following mechanics:

* **Shared Economic Foundation**: It establishes `stAVAX` as a yield-bearing foundation that can be used by the entire ecosystem.
* **Yield Redirection**: Through smart contract extensions called **alignment plugins**, emerging L1s can access and redirect the yield from `stAVAX` to fund their own growth. For example, an L1 could use this yield to bootstrap liquidity for its DEX or incentivize its first set of validators.
* **Mutually Beneficial Cycle**: This creates a symbiotic relationship. New L1s get a sustainable source of funding for growth, and in return, their success increases the demand and utility for staked AVAX, strengthening the entire ecosystem.

The **Hypha Points Program** serves as the catalyst for this system. By participating, users provide the foundational TVL that makes this flywheel possible.

### P**oint System Basics**

* **What Points Represent**: Points are a measure of a user's contribution to the ecosystem's growth. They will be used to determine a user's share of future protocol rewards and incentives.
* **How Points Are Earned**: Points are earned by performing specific, onchain actions within the Hypha ecosystem, such as staking tokens or operating minipools.

For a complete list of eligible activities and their specific multipliers, see the [How to Earn Points & Multipliers](/points-program/how-to-earn-points-and-multipliers) page.


# How to Earn Points & Multipliers

Points are calculated based on a simple formula and then boosted by multipliers depending on your activity.

### The Base Calculation

The foundation of the points system is: `1 AVAX of value = 1 Point per hour`

All eligible assets are measured by their **AVAX-equivalent value** to determine the **base points you earn each hour**. Multipliers are then applied on top of this base rate.

### Point-Earning Activities & Multipliers

#### Operating Minipools (1.5x - 2.5x Multiplier)

Run a Minipool to validate the Avalanche network and earn the highest multipliers in the program.

| Number of Minipools | Multiplier |
| ------------------- | ---------- |
| 1 Minipool          | 1.5x       |
| 2-4 Minipools       | 1.75x      |
| 5-9 Minipools       | 2.0x       |
| 10+ Minipools       | 2.5x       |

> **Note:** These multipliers are tiered and apply only to the points earned from your Minipool operations. For example, if you run 3 Minipools, all points from those pools receive a 1.75x multiplier.

{% hint style="success" %}

## Example Points Calculation

You operate 2 Minipools, each containing 1,000 AVAX.

* **Total AVAX Value**: `2 * 1,000 AVAX = 2,000 AVAX`
* **Base Points**: `2,000 points per hour`
* **Multiplier for 2 Minipools**: `1.75x`
* **Total Points**: `2,000 * 1.75 = 3,500 points per hour`
  {% endhint %}

#### Staking GGP (1.5x Multiplier)

Stake the protocol's `GGP` token to earn a boosted rate on your stake.

* **Multiplier**: 1.5x
* **Note**: Your staked `GGP` is converted to its AVAX-equivalent value to calculate your base points before the multiplier is applied.

{% hint style="success" %}

## Example Points Calculation

You stake **10,000 GGP** and the current market rate (hypothetically) is `1 GGP = 0.1 AVAX`.

* **Total AVAX-equivalent Value**: `10,000 GGP * 0.1 = 1,000 AVAX`
* **Base Points**: `1,000 points per hour`
* **Multiplier**: `1.5x`
* **Total Points**: `1,000 * 1.5 = 1,500 points per hour`<br>
  {% endhint %}

#### Holding stAVAX (1x Rate)

Hold Hypha's liquid staking token, `stAVAX`, to earn points.

* **Multiplier**: None (1x base rate).
* **Note**: `stAVAX` is a yield-bearing token, so its value in AVAX increases over time. Your points are calculated based on the current exchange rate, meaning you earn more points as your `stAVAX` accrues value.

{% hint style="success" %}

## Example Points Calculation

You hold 1,000 stAVAX, and the current exchange rate (hypothetically) is `1 stAVAX = 1.13 AVAX`.

* **Total AVAX-equivalent Value**: `1,000 stAVAX * 1.13 = 1,130 AVAX`
* **Base Points**: `1,130 points per hour`
* **Multiplier**: `1x`
* **Total Points**: `1,130 * 1 = 1,130 points per hour`&#x20;
  {% endhint %}

#### Upcoming Integrations

Post-launch, we plan to expand the points program to include DeFi activities on major Avalanche protocols. This will allow you to earn points for actions such as providing liquidity involving our tokens.

***

### Point Calculation and Snapshots

#### Frequency

Points are calculated and awarded hourly.

#### Snapshot Mechanism

A snapshot of your wallet and on-chain positions is taken at the top of each hour.

#### Eligibility Rule

To earn points for a given hour, you must hold qualifying assets (e.g., minipools, staked GGP, stAVAX) throughout the entire period. We compare consecutive snapshots to verify this. For example, if you acquire or drop assets mid-hour, you won't earn for that interval. This prevents short-term gaming (e.g., holding for just a minute around snapshot time).

#### Data Source

All data is pulled from standardized sources like Dune, which users can query independently for verification.

***

### FAQ

#### How do I track my points?

A points dashboard will be made available soon. In the meantime, all data is public and can be verified using on-chain analytics tools such as [Dune Analytics](https://dune.com/).

#### Can I game the system?

The hourly snapshot mechanism is designed to reward consistent, long-term participation and discourage short-term holding around the snapshot time.

#### Will the rules change over time?

We may adjust multipliers or add new ways to earn points based on community feedback and the needs of the ecosystem. All changes will be announced through our official channels.

#### What are the points for?

Points measure your contribution to the Hypha ecosystem and may be redeemed for airdrops, governance perks, or other rewards.


# stAVAX


# What is stAVAX

**`stAVAX`** (*Staked AVAX*) is a yield-bearing liquid staking token that represents your staked AVAX within the Hypha ecosystem. It is designed as an [**ERC-4626**](https://ethereum.org/en/developers/docs/standards/tokens/erc-4626/) tokenized vault, a DeFi standard that makes it highly composable and easy to integrate with other protocols.

The core purpose of `stAVAX` is to solve the liquidity problem of traditional staking. It allows you to **earn comprehensive yields** from the Avalanche network while keeping your funds liquid, meaning you can trade, lend, or use your staked position in DeFi applications without locking your `AVAX`.

### How It Works

When you stake `AVAX` into [Hypha](https://app.gogopool.com/liquid-staking/) on the C-Chain, you receive an equivalent amount of `stAVAX` based on the current exchange rate. The protocol then securely transfers these funds to Avalanche's Platform Chain (P-Chain).

On the P-Chain, your AVAX is put to work by validating the network through a group of high-performance validators. A portion of these validator nodes may also opt-in to perform MEV (Maximal Extractable Value) to capture additional profit.

By combining these strategies, the underlying pool of AVAX earns yield from multiple sources. As this yield is collected, the total assets in the vault increase, which means the value of each `stAVAX` token you hold grows over time in relation to `AVAX`. For example, you might eventually be able to redeem `1 stAVAX` for `1.2 AVAX`.

The protocol runs on continuous 15-day staking cycles. Funds are staked on the P-Chain to earn validation rewards, then transferred to the C-Chain vault at the end of each cycle. Over the following 15 days, these rewards are streamed to the `stAVAX` contract, automatically raising the AVAX value of all `stAVAX`. This creates a seamless loop where new staking begins as previous rewards are added, ensuring stAVAX steadily appreciates against AVAX.

### Protocol Fee

The protocol charges a fee on the staking rewards generated from AVAX deposited into the `stAVAX` vault. This fee is determined by the **ProtocolDAO** and is deducted before rewards are distributed to `stAVAX` holders.

> The current protocol fee is 10% (1000 bps) of all generated staking rewards.

* How It Works
  * The **ProtocolDAO** sets the fee rate, expressed in basis points (bps).
  * When staking rewards are deposited into the `stAVAX` vault, the protocol automatically calculates the fee as a percentage of those rewards. The deducted amount is sent to the ProtocolDAO.&#x20;
  * The remaining rewards stay in the vault and compound, increasing the value of `stAVAX`.
    * Example
      * If 100 AVAX worth of rewards are earned and the fee rate is set to 10% (1000 bps):
      * Fee deducted: 100 AVAX × 10% = 10 AVAX
      * 10 AVAX is transferred to the ProtocolDAO
      * 90 AVAX remains in the vault, compounding into `stAVAX`


# Triple Yield Mechanism

The APY (Annual Percentage Yield) for `stAVAX` is a result of **three distinct yield sources combined**. This multi-layered approach is designed to create a highly competitive and sustainable yield for `stAVAX` holders.&#x20;

### 1. Avalanche Staking Rewards

This is the primary yield source. All AVAX deposited into the vault is put to work validating the Avalanche network

### 2. MEV Rewards

MEV (Maximal Extractable Value) is additional profit captured from the ordering of transactions within a block. Hypha is committed to an ethical approach, focusing exclusively on beneficial MEV strategies like arbitrage. This helps to balance prices across different platforms without negatively impacting user trades.&#x20;

The profits captured are then added to the staking rewards, increasing the overall yield for all `stAVAX` holders.

### 3. pstAVAX Yield Donations

The Hypha ecosystem includes another token, `pstAVAX`, where users deposit `AVAX` but agree to forgo their staking yield in exchange for other rewards. Instead of going to the `pstAVAX` holder, this yield is periodically collected and donated directly into the `stAVAX` vault. This regular donation of yield acts as a rewards boost, increasing the overall APY for everyone holding stAVAX

{% hint style="info" %}

## **Reward Collection and Distribution**

The rewards from both native staking and MEV are collected together over a **15-day cycle**. These combined rewards are then streamed out linearly and deposited into the `stAVAX` vault over the following **14-day period**.
{% endhint %}


# Unstaking & The Withdrawal Queue

To unstake your `stAVAX` and receive your original `AVAX` plus accumulated yield, we use a **Withdrawal Queue system** that processes unstake requests in a **First-In-First-Out (FIFO)** order. This method ensures fairness and orderly management of protocol liquidity.

The most important thing to know is that this process includes a **minimum 15-day waiting period** after your request is fulfilled by the queue.

### The Unstaking Process Explained

The process can be broken down into four simple steps from the user's perspective.

{% stepper %}
{% step %}

### Make a Withdrawal Request

You begin the process by initiating a request to unstake your `stAVAX`. At this moment, the system calculates and locks in the exact amount of AVAX you will receive based on the current `stAVAX` exchange rate.&#x20;

From this point on, the `stAVAX` in your withdrawal request will **no longer earn yield**.

Your request is then placed in a **First-In-First-Out (FIFO)** queue.
{% endstep %}

{% step %}

### Withdrawal Queue

When you submit a withdrawal request, your request enters a 15-day withdrawal queue, to be matched with AVAX as staking cycles complete. During this time, your withdrawal amount is locked, and any additional yield generated by your stAVAX is distributed to the remaining holders in the vault.
{% endstep %}

{% step %}

### Claim Your AVAX in 3 Days

After the 15-day withdrawal queue is complete, a **3-day window** opens for you to claim your AVAX. It is important to claim your funds within this 3-day period.&#x20;

If the window closes before you claim, the request will expire, and your unclaimed AVAX will be converted back into stAVAX and be returned to your wallet automatically to ensure your funds are never permanently locked.
{% endstep %}
{% endstepper %}

{% hint style="info" %}

## Important Information

* **Canceling a Request:** You have the flexibility to cancel your withdrawal request at any point before it becomes claimable.&#x20;
  * When you unstake, **your stAVAX is converted to a fixed AVAX value**, therefore, **canceling reconverts that AVAX back to stAVAX at the&#x20;*****active*****&#x20;exchange rate**, which may differ from your original stAVAX amount due to ongoing yield accrual to the protocol.
    {% endhint %}

{% hint style="success" %}

## Need Your AVAX Immediately?

If you need immediate liquidity and wish to skip the waiting period, you can swap your `stAVAX` for `AVAX` on various decentralized exchanges (DEXs) at any time. Please be aware that swapping on a DEX is subject to the current market price and may involve slippage.
{% endhint %}


# Using stAVAX in DeFi

The primary advantage of `stAVAX` is its liquidity. Unlike traditionally staked AVAX, which is locked and illiquid, `stAVAX` is a standard token that can be freely used across Avalanche's vibrant DeFi ecosystem to **earn additional yield or rewards**.

Here are the primary ways you can use your `stAVAX`:

### **Money Markets (Lending & Borrowing)**

You can supply your `stAVAX` to money markets to use it as collateral for borrowing other assets, or you can lend it out to earn additional interest. This is a popular strategy for improving capital efficiency and can enable advanced strategies like *looping* your stake.

* **Supported Protocols:** [Euler](https://app.euler.finance/), [Silo](https://app.silo.finance/), [Folks](https://xapp.folks.finance/)

### **Decentralized Exchanges (DEXs)**

You can become a Liquidity Provider (LP) by depositing your `stAVAX` into a liquidity pool, usually paired with AVAX (`stAVAX-AVAX`). By doing this, you help facilitate trades for other users and earn a percentage of the trading fees generated by the pool.

* **Supported Protocols:** [Balancer](https://balancer.fi/), [LFJ](https://lfj.gg/) (Formerly Trader Joe), [Pharaoh](http://pharaoh.exchange/)

### **Yield Aggregators**

These platforms offer **set and forget** strategies. You can deposit `stAVAX` into a vault that automatically manages and compounds your earnings from activities like liquidity providing, saving you time and transaction fees.

* **Supported Protocols:** [Yield Yak](http://yieldyak.com/)

### **Restaking Protocols**

Restaking allows you to use your yield-bearing `stAVAX` to help provide economic security for other protocols. In exchange for taking on this additional role, you can earn extra rewards from the protocol you are helping to secure.

* **Supported Protocols:** [Suzaku](https://app.suzaku.network/)


# pstAVAX


# What is pstAVAX

**`pstAVAX`** (*Principal Staked AVAX*) is an [ERC-20](https://eips.ethereum.org/EIPS/eip-20) token designed for users who want to support the Hypha ecosystem's growth in exchange for **direct incentives from Hypha**.

It represents a user's principal deposit at a fixed **1-to-1 ratio**. When you deposit 1 `AVAX` (or `WAVAX`), you receive exactly 1 `pstAVAX`. Under the hood, your deposited `AVAX` is converted into `stAVAX` and held by the `pstAVAX` contract, where it generates yield for the ecosystem.

The most important feature of `pstAVAX` is that holders **do not receive this yield**. Instead, the yield that would have been earned is automatically stripped and used to benefit all `stAVAX` holders. In return, `pstAVAX` holders become eligible for a separate reward system, such as airdrops and other direct incentives from Hypha.

{% hint style="success" %}

## Alignment Plugins

`pstAVAX` is the first of Hypha's *alignment plugins*, a new type of tool that allows protocols to build innovative incentive structures on top of staked assets. This means other L1s can use this same model to create their own version (i.e., `xyzAVAX`). In exchange for offering their own project's tokens, airdrop points, or other unique perks to depositors, these L1s can use the resulting staking yield to bootstrap liquidity, generate protocol revenue, or fund their operation.
{% endhint %}

You can redeem your `pstAVAX` to get your initial `AVAX` deposit back by withdrawing it directly as `AVAX`. This process uses the standard [Withdrawal Queue](/liquid-staking/stavax/unstaking-and-the-withdrawal-queue), which includes a 15-day cooldown period. The final amount of `AVAX` you receive will be equal to your initial deposit.


# Yield-Stripping Mechanism

The yield-stripping mechanism is the process that allows `pstAVAX` holders to exchange their ongoing staking yield for **additional incentives and perks directly from Hypha**. It's a deliberate choice for users who believe the value of these direct incentives will be greater than the accumulated staking yield over time.

### **Where Does the Yield Go?**

The process is straightforward:&#x20;

1. 100% of the yield generated by the `AVAX` that backs `pstAVAX` is periodically collected.
2. This collected yield is then donated directly into the **`stAVAX` vault**.&#x20;
3. This action increases the total value of the assets in the `stAVAX` vault, providing a direct boost to the APY for all `stAVAX` holders.

### How It Works?

1. **Deposit and Stake**: When you deposit `AVAX` for `pstAVAX`, your `AVAX` is sent to the `stAVAX` vault to begin generating yield, just like any other deposit.

* **Yield Accrual**: The `pstAVAX` contract holds `stAVAX` shares on behalf of its depositors. Over time, these shares increase in value as they accrue staking and MEV rewards.
* **Identifying the Yield**: The contract continuously tracks the difference between the initial principal deposited and the current, higher value of the `stAVAX` shares it holds. This difference is the **excess value**, which represents the yield.
* **Stripping and Donating**: Periodically, this excess value (the yield) is "stripped" from the contract and sent to the `stAVAX` vault, increasing its value for `stAVAX` holders. This leaves the `pstAVAX` contract with only the principal value required to back all `pstAVAX` tokens at their original 1:1 deposit rate.


# Benefits of Holding pstAVAX

While `pstAVAX` holders forgo staking yield, they gain direct exposure to the growth and success of the Hypha protocol itself through **additional incentives and perks** directly from Hypha.

The primary benefit for holding `pstAVAX` is eligibility for direct rewards, starting with a significant token airdrop.

### The Early TVL Fair Launch Program

The first major incentive for `pstAVAX` holders is the **Early TVL Fair Launch Program**, a key part of the **L1 Season campaign**.

This program is designed to bootstrap the first **$100 million in Total Value Locked (TVL)** for `pstAVAX` and **airdrops** 3.5% of the total HYPHA token supply to these early supporters.

The program is structured in four tiers, with rewards being higher for earlier depositors:

* **First $25m of TVL**: Rewards at the highest rate (5 bps for every 1m).
* **$25m to $50m of TVL**: Rewards at the second-highest rate (4 bps for every 1m).
* **$50m to $75m of TVL**: Rewards at the third-highest rate (3 bps for every 1m).
* **$75m to $100m of TVL**: Rewards at the fourth-highest rate (2 bps for every 1m).

**Airdrop Vesting**: The resulting airdrop for participants will be 50% unlocked at the token launch, with the remaining 50% vesting linearly over the following 6 months.


# Alignment Plugins for Protocols

Alignment plugins enable protocols to create their own **yield-stripping mechanisms** using stAVAX infrastructure. By creating a custom plugin, protocols can capture and redirect AVAX staking yield for strategic growth, while offering unique incentives to their depositors.

### How Alignment Plugins Work

The mechanism is straightforward:

{% stepper %}
{% step %}

### User Deposit AVAX

User deposits AVAX into your protocol's custom Alignment Plugin contract and receives a custom receipt token (e.g., `xyzAVAX`).
{% endstep %}

{% step %}

### Yield Generation

The plugin automatically routes the deposited AVAX to the `stAVAX` vault, where it begins generating yield.
{% endstep %}

{% step %}

### Yield Harvest

The protocol programmatically harvests the generated yield while ensuring the user's original principal deposit remains untouched.
{% endstep %}

{% step %}

### Yield Redirection

The protocol then programmatically directs this harvested yield to its chosen onchain destination, such as a treasury, a liquidity pool, or a rewards contract.
{% endstep %}

{% step %}

### User Incentives

In exchange for providing the yield, users receive the protocol's unique rewards (e.g., its native token, airdrop points, or other perks).
{% endstep %}

{% step %}

### Withdrawal

Users can withdraw their original AVAX principal, subject to any custom rules (like lockups) the protocol defines in its plugin.
{% endstep %}
{% endstepper %}

Each plugin can issue its own custom receipt token (e.g., `xyzAVAX`) and operates independently with its own set of rules.

### Key Benefits for Protocols

* **Sustainable Funding**: Access a continuous and external source of revenue from `stAVAX` yield without needing to sell your native token or rely on inflationary emissions.
* **Immediate Access to Capital & Liquidity**: Launch with committed capital by accepting user deposits into pre-launch vaults before a mainnet is live.
* **Accelerated Growth**: Use the captured yield to directly fund strategic actions that can rapidly bootstrap your protocol's most important metrics.
* **Sustainable Incentives**: Fund user rewards and liquidity programs with external yield earned from staked AVAX, providing a sustainable alternative to inflationary token emissions.
* **User Alignment**: Aligns depositors by offering them exposure to a protocol's success through rewards, while they retain their underlying AVAX principal.

### Common Use Cases for Protocols

Alignment Plugins are flexible tools that can be adapted to achieve a variety of goals. Here are some common strategies:

* **Bootstrap Liquidity**: Redirect yield to DEX incentives to create sustainable liquidity for a protocol's token without diluting it through emissions.
* **Raise Capital**: Create a pre-deposit vault where users lock AVAX for a set period. Your protocol retains the generated yield to fund operations, and in return, users receive their principal back plus an allocation of your project's tokens.
* **Monetize Bridge Flows**: Monetize your bridge by routing bridged AVAX through a plugin, capturing the yield as protocol revenue while sending AVAX to the user on your chain.
* **Incentivize Validators**: Stream the captured yield directly to your validator set, making it more profitable and attractive to run a node and rapidly decentralizing your network.

### Customization Options for Plugins

Protocols have full control over the key parameters of their plugin:

* **Yield Distribution**: You can specify the exact percentage of yield to be captured (from 0% to 100%) and programmatically define its onchain destination.
* **Lockup Periods**: Optional **time-based** or **conditional locks** on user deposits.
* **Reward Structure**: The design of the incentive system, using native tokens, points, revenue sharing, or other perks.
* **Harvest Schedule**: The frequency at which generated yield is collected and distributed.

### Getting Started for Plugins

While the plugin contracts are open-source, launching an official Alignment Plugin is a collaborative process. We work with teams to ensure security, best practices, and successful integration into the broader Hypha ecosystem.

{% stepper %}
{% step %}

### Review the Template

Examine the `pstAVAX` contract to understand the base yield-stripping mechanism. The generic, forkable version of this is called the `lstAVAX` open-source template.
{% endstep %}

{% step %}

### Define a Strategy

Determine how the captured yield will be used and how depositors will be incentivized to participate.
{% endstep %}

{% step %}

### Fork and Customize

Fork the `lstAVAX` template and modify the smart contract to implement the desired logic.
{% endstep %}

{% step %}

### Deploy and Integrate

Deploy the custom plugin and integrate it with the protocol's existing infrastructure. Then, begin accepting user deposits to power your protocol's growth.
{% endstep %}
{% endstepper %}

For technical support and integration assistance, please contact the team.


# Minipool


# What is Minipool?

Learn what Minipools are and how they play a crucial role in our staking ecosystem.

A Minipool represents a validator that is jointly funded equally by `AVAX` contributed by the minipool operator and `AVAX` matched from GoGoPool's liquid staking deposit pool. Thanks to Minipool design architecture, users can become validators on the Avalanche network with nearly half the usual `AVAX` requirement.

For the borrowed `AVAX`, the minipool operator needs to provide collateral in terms of `GGP`, which is the GoGoPool's protocol token, at least 10% of the amount of the borrowed `AVAX`. In return, GoGoPool distributes `GGP` rewards to the minipool operators based on their staked `GGP` as insurance, up to a maximum of 150% of the borrowed `AVAX`'s value.

#### Benefits

* **Lower Entry Costs**: Minipools lower the financial barriers to becoming a validator, requiring significantly less `AVAX` and simplifying the process with tools like the One-Click launcher.
* **Simplified Validator Launch Options**: Minipools support a One-Click Launcher for users with no coding experience, making it possible to launch a validator effortlessly. For advanced users seeking more control, a Manual Launcher is available, allowing them to customize and run their own nodes.
* **Enhanced Yield Opportunities**: Minipool operators not only earn from native validator yields and GGP staking rewards but also receive additional incentives from subnet projects for validating their subnets alongside the Avalanche mainnet.
* **Validator Networking and Incentives**: Minipools not only simplify the process for subnets to efficiently find numerous validators via GoGoPool’s marketplace but also enhance the appeal of validators to subnet projects, which offer additional incentives for their participation. This two-way benefit streamlines operations and fosters a robust support system for both validators and subnets.
* **Increased Decentralization and Security**: By enabling more participants to become validators, minipools enhance the decentralization and security of the Avalanche network, contributing to its overall resilience and integrity.


# How Minipool Works

Dive into the mechanics of Minipools and understand their operational flow.

Minipools simplify the validator operation process and reduce financial barriers on the Avalanche network, offering an efficient pathway for users to engage in network consensus activities by becoming a validator.

### Minipool Operation Workflow

1. **Minipool Operator Registration**: Potential minipool operators have two options for joining GoGoPool as validators.
   * **One-click Minipool Creation**: They can use the One-Click Launcher, which automatically sets up the node, simplifying the process for those without technical expertise.
   * **Manual Setup**: They can manually register their Node ID if they have their own hardware setup.
2. **Funding and Collateralization**: To meet Avalanche's 2000 `AVAX` requirement for validators, each minipool operator contributes 1000 AVAX, with the remaining amount matched from GoGoPool's liquid staking deposit pool. Minipool operators also secure this partnership by staking a minimum of 100 `AVAX` worth of `GGP` tokens as collateral, which ensures their commitment to maintaining network integrity and results in additional `GGP` rewards.
3. **Activation of Minipool**: After the node setup is completed and the minipool is created, the combined 2000 `AVAX` is transferred from the C-chain (Contract Chain) to the P-chain (Platform Chain) by utilizing advanced multisig technology. The Minipool is then officially registered as a validator on the Avalanche network.
4. **Validation and Validating Reward's Distribution**: Each Minipool participates in the Avalanche network's validation process for 15-day cycles, earning rewards from validating the network based on their validation uptime.
5. **Minipool Cycling for Compounded Rewards**: At each minipool cycle's end, the OracleDAO transfers the staked `AVAX` and accumulated rewards back to the C-chain for distribution. If the Minipool continues into another cycle, the previously earned rewards are reinvested, enhancing the staking amount and leading to compounded returns.
6. **Completion of Minipool**: Once the full duration of the minipool has been fulfilled, the minipool operator will be able to withdraw their funds and rewards.

### GGP Rewards Eligibility and Distribution

GoGoPool offers `GGP` rewards to minipool operators who meet specific eligibility criteria within defined reward cycles.

Upon successful operation of a Minipool, minipool operators are rewarded with `GGP` tokens, which are GoGoPool's protocol tokens used primarily as collateral. The amount of `GGP` rewards received is proportional to the `GGP` staked as collateral, up to 150% of the staked `AVAX` value. These rewards are part of the protocol's inflation strategy, which allocates 70% of the monthly inflation to minipool operators, enhancing their earnings as an incentive.

Here’s how you can qualify and what you need to know about the timing of these cycles.

#### Key Dates and Cycles

* **Reward Cycle**: A reward cycle within GoGoPool lasts for 30 days.
* **Eligibility Date**: To qualify for rewards in a specific cycle, your Minipool must be created at least 15 days before the cycle ends.
* **Reward Distribution Date**: Rewards are distributed on the last day of each cycle, provided your Minipool was launched before the end of the cycle.

{% hint style="success" %}
🎈 Check our [Analytics](https://flipsidecrypto.xyz/GoGoPool/ggp-protocol-stats-PitGzK?tabIndex=2) page for the current eligibility date and reward distribution date.
{% endhint %}

#### Eligibility Requirements

* **Minipool Validation Period**: Your Minipool must be created before the eligibility date, which is at least 15 days prior to the end of a reward cycle, to be eligible for rewards during that cycle. It does not matter if it is in the queue at the time of the eligibility date, but validation must start before the reward distribution date.
* **Staking GGP**: You must have `GGP` tokens staked (at least 10% of the staked `AVAX` value) as collateral at the reward distribution time to qualify. Even if your minipool is ended before the reward distribution date, your `GGP` must be staked at that time.

<figure><img src="/files/pOK628cVVqTMwF4eFAXO" alt=""><figcaption><p>Sample Minipool Reward Eligibility Calendar </p></figcaption></figure>


# Yield - APY

Explore the potential yields you can earn from participating in Minipools.

Minipools offer a simplified and profitable approach to participating in network validation. This page details the types of yields generated by Minipools and the benefits of operating a Minipool compared to running a standard validator on the Avalanche network.

### Yields for Minipool Operators

Minipools enhance yield opportunities through the following ways:

1. **Native Validator Yield**: As each minipool is a validator on the Avalanche network, minipool operators earn yields from the validating network, similar to standard validators.
2. **GGP Staking Reward**: Minipool operators benefit from `GGP` rewards, which are based on the inflationary supply of `GGP` tokens. Rewards are calculated from the total effective `GGP` staked, up to 150% of the minipool operator's `AVAX` contribution, enhancing yield potentials.
3. **Subnet Incentives**: Additionally, Minipools may attract incentives from subnets that require decentralized and reliable validation services, adding another layer of earnings.

{% hint style="info" %}
🎈 Explore our [Analytics Dashboard](https://flipsidecrypto.xyz/GoGoPool/ggp-protocol-stats-PitGzK?tabIndex=2), where you can view potential APY ranges based on current market conditions, reward cycle dates, and other Minipool-related information.
{% endhint %}

> The APY calculations for Minipools do not include hardware costs, which can vary based on the node operator’s geographical location and setup.

#### GGP Reward Calculation

Rewards are calculated proportionally based on your staked `GGP` up to a maximum of 150% of your `AVAX` contribution's value. Staking beyond 150% will not increase your eligible rewards. The amount of `GGP` reward is determined based on its share of the total effective GGP staked within the cycle.

#### Detailed Example

For a Minipool with a total of 2000 `AVAX` (a combination of 1000 `AVAX` from the minipool operator and 1000 `AVAX` from the liquid staking pool):

* You must stake at least 100 `AVAX` worth of `GGP`.
* The GGP reward will be increased up to 1500 `AVAX` worth of `GGP`. Beyond that, your `GGP` reward will not be increased.

{% hint style="info" %}
🎈 Use the [calculator](https://gogopool.dappling.network/calculator/), which is built by the GoGoPool community, to explore how to optimize your staking strategy to maximize returns within the GoGoPool ecosystem.
{% endhint %}


# Minipool Statuses

Understand the various statuses a Minipool can have within our system.

## Minipool Status Descriptions

Each Minipool has a status field, which you can see on the [dashboard](https://app.gogopool.com/dashboard/).

<figure><img src="/files/vr53nPBnccPtiepwuDHd" alt=""><figcaption><p>Minipool Dashboard</p></figcaption></figure>

Details of the possible status information are explained below.

### **Prelaunch (0)**

* Minipool is created in [Storage.sol](https://github.com/multisig-labs/gogopool/blob/master/contracts/contract/Storage.sol) Key-Value data structure
* The minipool operator has deposited 1000 `AVAX`, specified duration, and Avalanche Node ID. Their minipool is collateralized by at least 10% with staked `GGP`.
* The minipool can be moved to status `Canceled` by the owner of the node after a 5-day waiting period, and all `AVAX` returned.
* The minipool is now in a queue and awaits getting matched with liquid staking funds.

### **Launched (1)**

* The minipool is now **locked** and cannot be canceled by the owner.
* **Rialto**, which handles the registering of validators with the P-chain securely and is operated by OracleDAO, withdraws 2000 `AVAX` from the vault to stake it on Avalanche P-chain and register the node as a validator.

### **Staking (2)**

* Minipool is now validating and **locked** for the duration of the validation period.
* Nothing will happen until the duration is over and validation has ended.
* **Rialto** will export/import 2000 `AVAX` plus any rewards back to `MinipoolManager.sol`.
* `MinipoolManager.sol` will handle all funds distribution to liquid staking users, `GGP` slashing, etc, then set the status to `Withdrawable`.

### **Withdrawable (3)**

* The minipool is now available for minipool operator funds to be withdrawn. The node operator **cannot** create a new minipool with this Avalanche Node ID until they have withdrawn all `AVAX` funds (user's principal and staking rewards) for this minipool.
* Once withdrawal happens, the status is changed to `Finished`.

### **Finished (4)**

* Minipool is finished, and all `AVAX` funds have been withdrawn (user's principal and staking rewards for this node).
* The minipool operator can now submit another validation request with GoGoPool for this Avalanche Node ID. GoGoPool replaces all the data from the last validation with new data for this validation.

### **Canceled (5)**

* If a minipool is canceled, it is set to this status. Minipools in this status can be resubmitted for operation.
* A minipool can be canceled instantly by its owner, with no waiting period required.

### **Error (6)**

* If a minipool is set to this status, it indicates a failure in the process, specifically during the registration phase with the Avalanche network.
* This failure typically occurs if the registration request to become a validator is rejected by Avalanche.
* Once in the `Error` status, the status will transition to `Finished` after the minipool operator initiates and completes the withdrawal of their staked funds, effectively closing the failed minipool.


# How One-Click Launcher Works

A guide on our One-Click Launcher that simplifies the process of starting a Minipool.

The **One-Click Minipool Launcher** simplifies the process of becoming a validator on the Avalanche network, automating several key steps in a single, streamlined transaction thanks to the **Minipool Streamliner Contract**. This page explains how the launcher works and what users can expect when they choose to participate using this method.

### **Key Functions and Workflow**

1. **Initial AVAX Payment**:
   * Users start by depositing `AVAX`, which covers all necessary transactions for setting up a Minipool. This includes purchasing `GGP` for staking, acquiring `USDC` for operational fees, and contributing 1000 `AVAX` to the Minipool.
2. **Token Swaps using Trader Joe's LBRouter**:
   * The contract starts by swapping `AVAX` for `GGP` (GoGoPool’s native token) using the `LBRouter` from Trader Joe.
   * It also swaps `AVAX` for `USDC`, which is necessary for interacting with ooNodz, which only accepts `USDC` for payment.
3. **Staking GGP on Behalf of the User**:
   * Once `GGP` is obtained through the swap, the contract stakes these tokens on behalf of the user in GoGoPool’s staking system. This step is crucial for participating in GoGoPool.
4. **Node Setup with ooNodz**:
   * With `USDC` in hand, the contract communicates with ooNodz to set up an Avalanche node. This process includes sending `USDC` to ooNodz and receiving a NodeID in return. The NodeID is essential for creating a minipool.
5. **Minipool Creation**:
   * With the `GGP` staked and a NodeID acquired, the contract then proceeds to the final and critical step of creating a minipool in GoGoPool. This is the entry point for users to begin earning rewards.

### **Contract's Additional Features and Safeguards**

* **Mismatched Funds Handling**:
  * The contract includes a check to ensure that the amount of `AVAX` sent matches the sum required for minipool creation, `GGP` purchase, and node rental. If the amounts don't match, the contract reverts the transaction.
* **Swap Failure Handling**:
  * If the token swap (`AVAX` to `GGP` or `AVAX` to `USDC`) fails or doesn't meet the minimum output requirement, the contract reverts the transaction, safeguarding users from unfavorable swaps.
* **Refunding Unused USDC**:
  * In cases where there are leftover `USDC` funds after node setup, the contract ensures these are refunded back to the user.
* **Event Emission**:
  * The contract emits events for key actions like the creation of a new streamlined minipool and refunds of `USDC`, aiding in transparency and tracking.

#### **Conclusion**

The **Minipool Streamliner** contract represents a significant leap in user convenience and efficiency. By automating critical steps of swapping tokens, staking, node setup, and minipool creation, it significantly lowers the barrier to entry for users and enhances their experience in our staking ecosystem.


# Guide: How to Launch a Minipool with One-Click Launcher

Instructions for using our One-Click Launcher to easily start a Minipool.

In our one-click launch experience, you only need `AVAX` to launch your minipool. We have partnered with the [ooNodz.network](https://oonodz.network/) to instantly spin up an Avalance validator node when you launch your Minipool.

We have handled buying and staking `GGP` on your behalf, with the option of a customizable collateralization ratio. If you want to use your existing `GGP` holdings, you can add to this collateralization ratio after your minipool is created on your [Dashboard](https://app.gogopool.com/dashboard/).

{% hint style="info" %}
The visuals for each setup below show how to create a Minipool on Fuji Testnet. The steps are the same as on Mainnet, but the `AVAX` and `GGP` requirements are different.

Use our [faucet](https://faucet.gogopool.com) to get a test GGP and test GoGoPool on Fuji Testnet.
{% endhint %}

## How to Make a Minipool with One-Click Launcher

{% embed url="<https://www.youtube.com/watch?v=Dzy_JMbrDbk>" %}

## Step 1: Register a Node ID with GoGoPool

Choose your country of residency and desired validation duration. Opting for a longer duration is recommended as it allows your `AVAX` to compound through successive 15-day cycles, enabling continuous operation of your Minipool without needing to re-queue.

You can adjust your `GGP` stake amount by clicking the **Customize GGP Stake** button.

<figure><img src="/files/9VafyMLxzO88LTOAsbVX" alt=""><figcaption><p>Choosing country and validation duration during Node ID registration.</p></figcaption></figure>

## **Step 2: Review Details**

Once you have filled out the form, your Minipool's details will be displayed. Review the information carefully and agree to ooNodz’s terms and conditions before clicking the **Create My Minipool** button.

<figure><img src="/files/Ihj1rsSlA709pyhPvsSo" alt=""><figcaption><p>Minipool details</p></figcaption></figure>

Click **Price Details** to see the price breakdown, including `AVAX` deposit, `GGP` stake, and hardware hosting cost.

<figure><img src="/files/cDCVT5XwCbK4twSFSJY5" alt=""><figcaption><p>Minipool price breakdown</p></figcaption></figure>

## **Step 3: Minipool Creation**

Once you confirm the transaction to transfer `AVAX`, your Minipool will be created!

If there is no queue and sufficient `AVAX` is available in the liquid staking pool, your Minipool will be launched immediately. To view the current `AVAX` balance in the liquid staking pool and the available minipool amount to launch, please [visit our liquidity dashboard](https://flipsidecrypto.xyz/GoGoPool/ggp-protocol-stats-PitGzK?tabIndex=2).

From here, view your node on the ooNodz site, visit your minipool dashboard, or book a time to talk to our founder.

<figure><img src="/files/CtwP3cyAsxek6YacTqvu" alt=""><figcaption><p>Confirmation screen showing successful Minipool creation</p></figcaption></figure>

***

{% hint style="warning" %}
Need help? If you encounter any issues or have questions, our support team can assist you. Contact us via our [Discord server](https://discord.com/invite/4fNtjkyuNw) or live chat.
{% endhint %}


# Guide: How to Launch a Minipool using Allnodes

Step-by-step instructions for setting up a Minipool manually using Allnodes

This guide is designed for users who want to set up a Minipool on GoGoPool using [Allnodes](https://www.allnodes.com/), a popular platform for hosting Avalanche nodes. By following these steps, you'll be able to launch your node on [Allnodes](https://www.allnodes.com/), retrieve the necessary Node ID and BLS keys, and then create a Minipool on GoGoPool.

{% hint style="info" %}
The visuals for each setup below show how to create a Minipool on Fuji Testnet. The steps are the same as on Mainnet, but the `AVAX` and `GGP` requirements are different.

Use our [faucet](https://faucet.gogopool.com) to get a test GGP and test GoGoPool on Fuji Testnet.
{% endhint %}

## Setting Up Your Node on Allnodes

To use GoGoPool as a Minipool operator, and earn rewards on your staked `GGP`, you have to have an Avalanche node. In this section, you will learn how to launch your node on Allnodes.

### Step 1: Choose Host Node as Avalanche

* Visit the [Allnodes](https://www.allnodes.com/) website and sign in or create an account.
* Navigate to the **Host Nodes** section and select **Avalanche** from the list of supported networks.

<figure><img src="/files/y1M6otYGzQL14vBDdeoZ" alt=""><figcaption><p>Select <strong>Avalanche</strong> from the list of supported networks</p></figcaption></figure>

### Step 2: Select Node Type

* Choose the **Validator Node** option as your node type.
* Click **Next Step** to proceed.

<figure><img src="/files/Wg9MNpO8YcsJaAmfUy5q" alt=""><figcaption><p>Select <strong>Validator Node</strong> as your node type</p></figcaption></figure>

### Step 3: Choose Wallet Type and Host a New Node

* Select your preferred wallet type.
* Choose **Host a new node**.
* Agree to all the checkmarks for terms and conditions.
* Click **Next step** to continue.

{% hint style="warning" %}
**Important Note:** The Allnodes instructions are designed for native Avalanche validators, which require 2000 AVAX in your wallet. However, when using GoGoPool, you only need 1000 AVAX to run a Minipool. You can safely ignore any instructions from Allnodes that mention needing 2000 AVAX in your wallet, as GoGoPool's protocol allows you to operate a Minipool with half the AVAX typically required.
{% endhint %}

<figure><img src="/files/2skzFY6KvOMbJO7UCzXX" alt=""><figcaption><p>Select <strong>Host a new node</strong> and proceed</p></figcaption></figure>

### Step 4: Select Hosting Plan

* Choose your preferred hosting plan based on your budget and requirements.
* Complete the payment process to launch your node.

{% hint style="info" %}
The **basic plan** may not be available at all times.
{% endhint %}

<figure><img src="/files/51iMBw2LS4AjVyBrawZJ" alt=""><figcaption><p>Choose your hosting plan and proceed</p></figcaption></figure>

### Step 5: Retrieve Node ID and BLS Keys

1. After your node is launched, you'll see a **User Action Required** modal. This will contain your **Node ID**, **BLS Public Key**, and **BLS Signature**.
2. Copy these details as you'll need them for the next steps on GoGoPool.

{% hint style="info" %}
You can also reach these details by clicking the arrow next to your Node ID under the **Node address** ta&#x62;**.**
{% endhint %}

<figure><img src="/files/PY4mWI5gK7EpWSQfmzDV" alt=""><figcaption><p>Keep handy your Node ID, BLS Public Key, and BLS Signature</p></figcaption></figure>

## Launching a Minipool on GoGoPool

As your node is ready, we can move forward with launching a Minipool.

### Step 6: Register Your Node ID with GoGoPool

* Go to the [GoGoPool](https://app.gogopool.com/) platform and connect your wallet.
* Navigate to the **Create a Minipool** section and select **Manual Setup**.
* Enter your Node ID and select the duration of your Minipool.
* Click **Next** to continue.

{% hint style="info" %}
A longer duration is advisable since it allows your `AVAX` to compound over successive 15-day cycles, ensuring that your Minipool continues running seamlessly without the need to re-queue for each new cycle.
{% endhint %}

<figure><img src="/files/eQCAx4vxFuDW2UIWmV8U" alt=""><figcaption><p>Place your Node ID in the input box as shown, then press Next.</p></figcaption></figure>

### Step 7: Submit BLS Public Key

Enter your BLS public key and signature for verification. Further information about BLS keys is [here](/gogopool/minipool/avalanche-bls-keys).

<figure><img src="/files/a9AMbOnTXNtcbIZRbLmE" alt=""><figcaption><p>Place your BLS Public Key and BLS Signature in the input box as shown, then press Submit.</p></figcaption></figure>

### Step 8: Approve and Deposit GGP

* Enter the amount of `GGP` you wish to deposit for staking.
* Approve the transfer and then initiate the staking transaction.

{% hint style="info" %}
Although a minimum 10% collateralization ratio of `GGP` is enough, staking beyond 10% is advisable against price fluctuations and maximizes rewards.
{% endhint %}

An approval process is required for the `GGP` amount you want to stake to be transferred to the staking contract.

<figure><img src="/files/yB4Tke5mDjQAe78eL8JX" alt=""><figcaption><p>Input your GGP amount to stake and click the button. Then, you are prompted to approve the transfer of GGP for staking.</p></figcaption></figure>

After the approval, initiate the staking transaction.

<figure><img src="/files/dto6kJ2xThKjSzoMrBba" alt=""><figcaption><p>After the approval, click “Deposit GGP” to initiate the staking transaction. Then, you are prompted to confirm the transaction.</p></figcaption></figure>

### Step 9: Stake AVAX

Enter the`AVAX` amount to create your minipool. Currently, the amount of `AVAX` that must be deposited by the user to create a minipool on the mainnet is 1000 `AVAX`.

<figure><img src="/files/4t3xlBashSAIPWwCfTHg" alt=""><figcaption><p>Input your AVAX amount and click the Deposit button. Then, you are prompted to confirm the transaction.</p></figcaption></figure>

### Step 10: Minipool Creation

Once you deposit AVAX, your Minipool is created! If there is no queue and sufficient AVAX is available in the liquid staking pool, your Minipool will be launched immediately.

To view the current AVAX balance in the liquid staking pool and the available minipool amount to launch, please [visit our liquidity dashboard](https://flipsidecrypto.xyz/GoGoPool/ggp-protocol-stats-PitGzK?tabIndex=2).

<figure><img src="/files/7F2qJ5FIM6eUYQynvYir" alt=""><figcaption><p>Minipool successfully created! Use the hash to view the transaction on a block explorer. Proceed to the dashboard to view your Minipool.</p></figcaption></figure>

### Step 11: View Your Minipool on the Dashboard

Head to [the dashboard](https://app.gogopool.com/dashboard/) to view detailed information about your Minipool.

<figure><img src="/files/hoqy2abSrhA9yuXcaKBm" alt=""><figcaption><p>The dashboard is useful for keeping up to date with your Minipools.</p></figcaption></figure>

***

{% hint style="warning" %}
Need help? If you encounter any issues or have questions, our support team can assist you. Contact us via our [Discord server](https://discord.com/invite/4fNtjkyuNw) or live chat.
{% endhint %}


# Guide: How to Launch a Minipool with Manual Setup

Step-by-step instructions for setting up a Minipool manually.

The manual setup is ideal for users who prefer a hands-on approach and have the technical know-how to configure and optimize their validator node according to their specific requirements.

{% hint style="info" %}
The visuals for each setup below show how to create a Minipool on Fuji Testnet. The steps are the same as on Mainnet, but the `AVAX` and `GGP` requirements are different.

Use our [faucet](https://faucet.gogopool.com) to get a test GGP and test GoGoPool on Fuji Testnet.
{% endhint %}

## Creating Your Node

To use GoGoPool as a Minipool operator, and earn rewards on your staked `GGP`, you have to have an Avalanche node. To create a node, see the [Official Avalanche guides](https://docs.avax.network/nodes). Once you have a Node ID, come back to GoGoPool to register as a validator.

## How to Make a Minipool with Manual Setup

### Step 1: Register a Node ID with GoGoPool

Enter your Node ID and select the duration. A longer duration is advisable since it allows your `AVAX` to compound over successive 15-day cycles, ensuring that your Minipool continues running seamlessly without the need to re-queue for each new cycle.

<figure><img src="/files/eQCAx4vxFuDW2UIWmV8U" alt=""><figcaption><p>Place your Node ID in the input box as shown, then press Next.</p></figcaption></figure>

### Step 2: Submit BLS Public Key

Enter your BLS public key and signature for verification. Further information about BLS keys, why they are needed, and how to access yours is [here](/gogopool/minipool/avalanche-bls-keys).

<figure><img src="/files/a9AMbOnTXNtcbIZRbLmE" alt=""><figcaption><p>Place your BLS Public Key and BLS Signature in the input box as shown, then press Submit.</p></figcaption></figure>

### Step 3: Approve and Deposit GGP

Enter the `GGP` amount to deposit for staking. Although a minimum 10% collateralization ratio of `GGP` is enough, staking beyond 10% is advisable against price fluctuations and maximizes rewards.

An approval process is required for the `GGP` amount you want to stake to be transferred to the staking contract.

<figure><img src="/files/yB4Tke5mDjQAe78eL8JX" alt=""><figcaption><p>Input your GGP amount to stake and click the button. Then, you are prompted to approve the transfer of GGP for staking.</p></figcaption></figure>

After the approval, initiate the staking transaction.

<figure><img src="/files/dto6kJ2xThKjSzoMrBba" alt=""><figcaption><p>After the approval, click “Deposit GGP” to initiate the staking transaction. Then, you are prompted to confirm the transaction.</p></figcaption></figure>

### Step 4: Stake AVAX

Enter the`AVAX` amount to create your minipool. Currently, the amount of `AVAX` that must be deposited by the user to create a minipool on the mainnet is 1000 `AVAX`.

<figure><img src="/files/4t3xlBashSAIPWwCfTHg" alt=""><figcaption><p>Input your AVAX amount and click the Deposit button. Then, you are prompted to confirm the transaction.</p></figcaption></figure>

### Step 5: Minipool Creation

Once you deposit AVAX, your Minipool is created! If there is no queue and sufficient AVAX is available in the liquid staking pool, your Minipool will be launched immediately.

To view the current AVAX balance in the liquid staking pool and the available minipool amount to launch, please [visit our liquidity dashboard](https://flipsidecrypto.xyz/GoGoPool/ggp-protocol-stats-PitGzK?tabIndex=2).

<figure><img src="/files/7F2qJ5FIM6eUYQynvYir" alt=""><figcaption><p>Minipool successfully created! Use the hash to view the transaction on a block explorer. Proceed to the dashboard to view your Minipool.</p></figcaption></figure>

### Step 6: View Your Minipool on the Dashboard

Head to [the dashboard](https://app.gogopool.com/dashboard/) to view detailed information about your Minipool.

<figure><img src="/files/hoqy2abSrhA9yuXcaKBm" alt=""><figcaption><p>The dashboard is useful for keeping up to date with your Minipools.</p></figcaption></figure>

***

{% hint style="warning" %}
Need help? If you encounter any issues or have questions, our support team can assist you. Contact us via our [Discord server](https://discord.com/invite/4fNtjkyuNw) or live chat.
{% endhint %}


# Avalanche BLS Keys

What are they, and why does my Minipool need them?

## What are BLS Keys?

BLS, or [Boneh-Lynn-Shacham](https://en.wikipedia.org/wiki/BLS_digital_signature), is a digital signature scheme that uses keys for secure signing and verification. Unlike traditional signatures, BLS allows combining numerous signatures into a single, compact one, enabling efficient verification of multiple signers simultaneously. This efficient and secure approach makes BLS keys valuable in blockchain systems, decentralized identity solutions, and multi-party computations, where managing numerous signatures or verifications is crucial.

## Why is Avalanche requiring my Node to have them?

[Avalanche](https://www.avax.network/) is rolling out a new feature called [Avalanche Warp Messaging (AWM)](https://docs.avax.network/build/cross-chain/awm/overview). This new feature allows cross-chain communication without any additional trust assumptions apart from the existing validator set, making cross-chain transfers more secure. In order to verify these messages, Avalanche is requiring validator nodes to [hold BLS Keys](https://github.com/ava-labs/avalanchego/blob/6dcd8e8adaeacb6d9e7f46654bfbd93639cbd22a/vms/platformvm/warp/README.md#bls-multi-signatures-with-public-key-aggregation) in order to sign Warp messages.

## How do I acquire my Node’s BLS Public Keys?

Node providers will be required to provide their BLS public keys in order to continue staking.

### One-Click Minipools

If you created your Minipool via the One-Click launcher with ooNodz, then there is nothing you need to do! ooNodz will handle the BLS public keys and provide them to GoGoPool smart contracts, so your node will continue to validate the network with no interruptions.

### Other Node Providers

If you are hosting your node with a node provider, you must ask them for your node’s BLS Public Keys. They should be available somewhere in the provider’s node dashboard.

### Manual Minipools

If you are hosting a node yourself, you can use [this command](https://docs.avax.network/reference/avalanchego/info-api#infogetnodeid) to get your keys.

```bash
curl -X POST --data '{
    "jsonrpc":"2.0",
    "id"     :1,
    "method" :"info.getNodeID"
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/info
```

It should return something like this.

```bash
{
  "jsonrpc": "2.0",
  "result": {
    "nodeID": "NodeID-5mb46qkSBj81k9g9e4VFjGGSbaaSLFRzD",
    "nodePOP": {
      "publicKey": "0x8f95423f7142d00a48e1014a3de8d28907d420dc33b3052a6dee03a3f2941a393c2351e354704ca66a3fc29870282e15",
      "proofOfPossession": "0x86a3ab4c45cfe31cae34c1d06f212434ac71b1be6cfe046c80c162e057614a94a5bc9f1ded1a7029deb0ba4ca7c9b71411e293438691be79c2dbf19d1ca7c3eadb9c756246fc5de5b7b89511c7d7302ae051d9e03d7991138299b5ed6a570a98"
    }
  },
  "id": 1
}
```

The `publicKey` is your BLS Public Key, and `proofOfPossession` is your BLS Signature. Avalanche uses your public key as the signing message.

## For Safe Users

If you are a Gnosis Safe user, you must remain on the signing key page until a threshold of signers also signs, then it will complete. If you do not do this, your signature will never be verified, and your keys won't get updated on your Minipool, which will result being kicked off the network, as well as slashing!


# Protocol


# Litepaper

Our goals and an overview of the protocol.

## GoGoPool: A Permissionless Staking Protocol for Subnets

### **Abstract**

GoGoPool allows Avalanche users to launch a validator node with a minimum of 1100 `AVAX` while providing instant liquidity to stakers. As a permissionless protocol, any individual, business, or project can use the protocol to stake or launch new validator nodes. Our mission is to make launching a custom blockchain as easy as possible by using Avalanche’s subnet architecture. Our vision is to enable the WordPress moment for web3 via open-source tooling, a strong community, and an open-staking protocol.

### **Introduction**

Avalanche aims to be a blazingly fast, eco-friendly, and low-fee platform that any developer may build on. They achieve this with a horizontal scaling technique called **Subnets**.

At a high level, Subnets are a group of validator nodes that come to a consensus on something (typically, a blockchain). This gives an appchain developer Avalanche’s best features for free (consensus algorithm, validator set, liquidity) and allows them to focus on creating a great experience for users without worrying about web3 infrastructure.

The problem is that Subnets are expensive to start, grow and manage. Every validator of a Subnet must also validate the Avalanche Primary Network, which requires paying 2000 `AVAX` as a minimum staking amount and managing your own hardware.

For builders that wish to experiment with building new Subnets on top of Avalanche, the cost of paying 2000 `AVAX` per node and managing all the hardware is prohibitively high. Established projects wanting to run a 5-node blockchain must pay 10,000 `AVAX` upfront before launching.

GoGoPool aims to trivialize the cost of starting, growing, and managing a Subnet with an open staking protocol that has built-in Subnet compatibility - enabling rapid experimentation with new business models and ideas in the web3 ecosystem.

### **Goals**

Our mission is to be the easiest way to launch a Subnet by lowering the cost of staking. This has 3 components:

1. Liquid staking
2. Decentralized and permissionless hardware operators
3. Subnet compatibility

* Democratize and decentralize the current state of Avalanche staking and validation
* Ensure that staking infrastructure and components are as decentralized, trustless, and scalable as possible
* Minimize deposit risk and maximize rewards by socializing staking losses and rewards across the network
* Decentralize protocol development, governance, and security using `GGP` tokenomics to create a healthy, self-sustaining community
* Maximize network rewards by allowing validators and liquid stakers to easily validate Subnets, earning Subnet rewards
* Create a scalable network that can support Avalanche’s projected Subnet growth, both now and in the long-term future
* Trivialize the cost of starting, growing, and managing a Subnet’s infrastructure
* Inspire future projects by being a model example of a web3 protocol, helping proliferate the web3 ethos in the developer community

### **Protocol Overview**

The GoGoPool protocol emphasizes trustlessness and peerlessness wherever possible, to maximize its decentralization, security, and scalability.

There are 3 main components to the protocol: the users, community (tokenomics/DAO), and custom node software.

#### **Users Primer**

There are two main users of the GoGoPool protocol, each with their own use cases.

**Minipool Operators**

They contribute their own hardware to the pool and stake 1000 `AVAX` + a minimum of 100 `AVAX` (in `GGP` tokens). Operators maintain their server infrastructure and are matched with the other 1000 `AVAX` from a deposit pool of liquid stakers. Operators charge a small operating fee (not unlike the existing delegator fee) for the use of the hardware and are also incentivized with `GGP` tokens to maintain good behavior. This enables a Minipool operator to begin staking with less `AVAX` than normally required, earning rewards both from their staked `AVAX` and through operational fees and `GGP` network rewards. Importantly, while Minipools automatically earn compound interest on `AVAX` rewards from network validation, they do not automatically restake `GGP` rewards. However, operators are free to manually restake their accrued `GGP` rewards each month to increase their staked `GGP` amount, enhancing their potential future earnings.

This triple incentive structure allows them to earn much higher rewards than only staking solo, while providing hardware to generate yield for liquid stakers, and de-risks the cost of Subnet development.

**Liquid Stakers**

Liquid Stakers are either individuals or users from an API-integrated business (e.g., a wallet). Stakers deposit `AVAX` into the deposit pool and receive `ggAVAX`, which accrues value over time based on the performance of the protocol. The deposited `AVAX` is automatically matched to node operators for staking.

Stakers are given access to instant liquidity, and are able to use `ggAVAX` in any place `AVAX` could be used. But unlike `AVAX`, `ggAVAX` steadily increases in value over time based on the performance of the pool - while not needing to trust any individual minipool operator (in contrast to the current delegator system, where trust is an explicit requirement).

Anyone can safely become a staker for as little as .01 `AVAX` - including individuals or businesses. In this way, GoGoPool opens up the entire `AVAX` economy by providing much needed liquidity to stakers and DeFi apps in a trustless manner.

GoGoPool uses a mix of smart contracts and DAOs to achieve this level of decentralization despite technical challenges that prevent a pure, trustless solution.

#### **Tokenomics Primer**

There is much room for innovation in community-driven organizations, and GoGoPool plans to be at the forefront.

We have two tokens: `ggAVAX` (liquid staking token described above) and `GGP` (protocol token used for DAO governance, rewards, insurance, and incentivizing long-term behavior).

**ggAVAX**

When a user deposits `AVAX` into the deposit pool, they receive a synthetic derivative token called `ggAVAX`.

`ggAVAX` represents a staker’s deposit plus the rewards it gains over time. This token is considered liquid and can be used like `AVAX` - users can hold it to accrue staking rewards, sell it, or use it in DeFi to earn additional yield. If there is floating `AVAX` in the deposit pool, users will be able to exchange `ggAVAX` back for `AVAX` (which burns the `ggAVAX`, and draws `AVAX` from the deposit pool). Alternatively, they will have the option to list it on any exchange listing the token and exchange it for any token they would like.

**GGP**

`GGP` is an ERC20 token and serves as the protocol token for GoGoPool.

The `GGP` tokens allow Minipool Operators to launch minipools (full Avalanche Validator nodes matched with user funds) for 1000 `AVAX`.

Minipool Operators have to stake a minimum amount of `GGP` tokens to secure their assigned staking funds as insurance of good behavior. At genesis, the minimum will be 10% of their `AVAX` staked amount, but the operator can choose to stake as much as 150%. The higher their `GGP` stake, the higher their monthly `GGP` rewards will be. Minipool Operators can use these `GGP` rewards to launch new validator nodes, increasing their overall yield. In the future, Minipool Operators may restake their monthly `GGP` rewards to request `AVAX` delegation from liquid stakers onto existing minipools.

If a minipool operator has excessively low uptime and causes a loss of rewards for the protocol, stakers are compensated from the `GGP` insurance put up by the Minipool Operator. This socializes the risk of being matched with a bad operator and minimizes any potential losses. Slashed `GGP` can be sold to token holders at a discounted rate, with `AVAX` proceeds awarded to Liquid Stakers.

`GGP` token holders will have the ability to participate in the GoGoPool Protocol DAO, which allows members to propose and vote on a range of governance issues, including the inflation schedule of `GGP`, removing/replacing bad actors, smart contract upgrades, payment of community developers for future work, and rewarding outstanding members of the community (as well as other minor changes to the settings of the protocol).

#### **DAO Primer**

There are two DAOs at play: OracleDAO and ProtocolDAO. These DAOs work together to keep the protocol running in a decentralized and community-owned way.

Because of the open community orientation of this protocol, no platform fees will be charged. Instead, all rewards are maintained by the ProtocolDAO treasury, and losses due to bad behavior are socialized amongst members. This way, all members are guaranteed the maximum possible rewards.

**OracleDAO**

The OracleDAO is initially made up of the core developer team and will be decentralized over time. This DAO operates Rialto (MPC software) and maintains a few important functions for the GoGoPool protocol:

1. Facilitate cross-chain staking: Moving collected funds from the C Chain to the P Chain.
2. Facilitate distribution of staking rewards: Moving rewards from P Chain to C Chain.
3. If no minipool operators are present and the amount of unstaked `AVAX` in the deposit pool is over a decided upon threshold, OracleDAO members may form pools with their own hardware.
4. Serve as an initial price oracle to smart contracts.
5. Further the `GGP` community and protocol in the wider Avalanche community.

To join the OracleDAO, members must stake a sizable sum of `GGP` tokens.

If the majority of members vote that a member of the DAO is not fulfilling their duties appropriately, their stake is burned, and the member is kicked/replaced. Stakes must be refreshed at a decided-upon time interval.

To incentivize good behavior, 10% of the reward `GGP` is paid out to the DAO.

**ProtocolDAO**

Our goal is to have every component of the protocol be configurable by the ProtocolDAO. Anyone with a GGP token has the ability to partake in the ProtocolDAO, proposing and voting on new items. Members of this DAO will be responsible for pushing the limits on what DAO members can and will do and setting the standard for other web3 projects.

The ProtocolDAO will maintain a treasury to pay for security audits and reward community/developer contributions.

Some of the governance factors the ProtocolDAO members have influence over are listed below:

* Depositing funds into the treasury wallet.
* The `GGP` token inflation schedule and rate. At genesis, there will be 0% inflation for 4 years, at which point the DAO can contemplate adding a 2-5% inflation rate to be used as a reward.
* GGP reward distribution between Minipool Operators and DAOs.
* Configure min/max staking amounts, enabling/disabling registration, etc.
* Decide on liquidity mining and bootstrap reward programs
* Proposing and choosing a donation or charitable cause to donate a percentage of AVAX/GGP rewards to. At genesis, the percentage will be 1% annually.
* Blacklisting / whitelisting Subnets.

### **Enabling Subnets & Subnet Compatibility**

Validators of a Subnet must also be a validator for the Avalanche Primary Network. Validators can participate in any arbitrary number of Subnets.

The minimum staking amount for the Avalanche Primary Network is 2,000 `AVAX` for a single validator node and 10,000 `AVAX` for a 5-node subnet. It is cost-prohibitive for a Subnet to start building on top of Avalanche, as they need to bear the cost of running validators for their own network as well as sourcing the `AVAX` required to validate the Primary Network.

GoGoPool gives Subnet operators a way to contact and whitelist minipool operators directly to validate the Subnet. This lets minipool operators earn more yield while getting the Subnet access to validators in a much cheaper and frictionless way.

For Subnets that want to start as a closed system, GoGoPool provides a more effective way of using their AVAX by matching their funds with liquid stakers. Subnets launch non-custodial minipools, able to use the hardware for their own purposes. If this permissioned Subnet wants to explore decentralization, they have a direct path to doing so by utilizing other minipools in the protocol.

Subnets that have specific hardware or validator requirements will be able to select minipool operators based on different attributes that fit the requirements of the Subnet. For example, a Subnet will be able to incentivize minipool operators who are US citizens (if that were a requirement for the Subnet).

Subnets that join the GoGoPool DAO to have a direct say in the future of the protocol roadmap, gain access to early Subnet tooling and features, and interface with liquid stakers and Minipool operators.

### **Acknowledgments**

* The Rocketpool team, for pioneering permissionless staking protocols, before anyone was thinking about it.
* Ava Labs, for creating a flexible, green, and fast L0 and L1 solution with a focus on Developer primitives.
* The GoGoPool Dev team, for seeing and building the dream in the very early days.
* The Ethereum Foundation and Bitcoin for laying the first pieces of a foundation for web3.


# Tokenomics

GoGoPool has two tokens - the liquid staking token stAVAX and the protocol token GGP.

## stAVAX

`stAVAX` is a liquid staking token issued to users who deposit `AVAX` into GoGoPool's staking pool. `stAVAX` represents staked `AVAX` in GoGoPool, and it gains value against `AVAX` thanks to the native Avalanche validation yield and other yield-generating activities.

#### Benefits

* **Earn Staking Rewards**: Holding `stAVAX` means your investment grows over time, mirroring native staking yield and other yield activities.
* **Stay Liquid**: No need to lock `AVAX` to earn yields. You can trade, sell, or use `stAVAX` just like `AVAX`, making it a flexible option for participating in the broader DeFi ecosystem.

## pstAVAX&#x20;

`pstAVAX` is an upcoming non-yield-bearing staking token issued to users who deposit `AVAX` into GoGoPool's staking pool. Compared to `stAVAX` it doesn't accrue any yield and is pegged to `AVAX`  1:1. The yield that is generated by the `AVAX` deposited into `pstAVAX` is instead streamed to `stAVAX` depositors.&#x20;

## GGP

`GGP` is an ERC20 token that serves as GoGoPool's protocol token. `GGP` facilitates users in becoming validators through minipools, combining user-contributed `AVAX` with liquid staking funds. To secure these funds, minipool operators back their commitment with a minimum of 100 `AVAX` worth of `GGP` tokens as collateral.

#### **Key Functions of GGP**

* **Staking and Rewards**: Minipool operators stake `GGP` as a form of insurance, ensuring their commitment to maintaining network uptime and security. The initial minimum stake is set at 10% of the `AVAX` staked amount, with the option to increase up to 150%. A higher stake in `GGP` enhances the minipool operator's potential rewards.
* **Compensation Mechanism**: Should a node operator fail to meet performance standards, resulting in a loss of rewards, the staked `GGP` serves as a compensation pool to affected stakers.
* **Governance Participation**: `GGP` token holders will have the ability to participate in the GoGoPool Protocol DAO, which allows members to propose and vote on a range of governance issues.

### SUPPLY BREAKDOWN & VESTING

**Total Supply:** 22,500,000 GGP

* **GoGoPool Foundation**: 41.42% | The below allocations are subject to change according to DAO voting. Snapshot voting will be used to gauge sentiment, with recommendations executed by the Foundation.
  * DAO Fund: 16.42% | allocated as per the DAO — eg. growth capital, additional grants, liquidity incentives, airdrop schemes, strategic alliances, advisors, etc.
  * Ecosystem Development Grants: 15% | To fund engineering, business development, and marketing.
  * Liquidity Incentives: 10% | To be deployed as the DAO sees fit.
* **Original Team**: 20%
* **Seed Round**: 15.58%
* **GGP Staking Rewards**: 15%\*\*\*
* **Advisors**: 3%
* **Pre-IDO Partner Sale**: 3%
* **Liquidity**: 1%
* **IDO**: 1%

\*\*\*GGP Staking Rewards are split between 3 parties and unlocked when issued:

* 70% to minipool operators
* 10% to Oracle DAO
* 20% to Protocol DAO Treasury

#### **Vesting Following TGE:**

* GoGoPool Foundation: Locked for 3 months, to be deployed under DAO snapshot voting over the following 48 months.
* Original Team: 12-month lock up, 36-month with quarterly vesting.
* Seed Round: 12-month lock, 36-month with quarterly vesting.
* GGP Staking Rewards: 48 months, monthly vesting.
* Advisors: 12-month lock, 36-month with quarterly vesting.
* Pre-IDO Partner Sale:
  * Tickets under 100k USD: minimum 12-month lock with 12-month quarterly vesting.
  * Tickets over 100k USD: 12-month lock, 36-month quarterly vesting.
* Liquidity: Fully unlocked at TGE.
* Avalaunch IDO: Fully unlocked at TGE.

#### Initial Supply: 187,970 GGP

* Liquidity pool—500K ($250K AVAX + \~188K GGP)
* IDO sale: 300k USD—225,000 GGP tokens
* Initial Market Cap (excluding liquidity): \~250K USD

Note: The only day 1 circulating tokens, excluding liquidity, will belong to Avalaunch IDO participants.


# Analytics Explained

The math behind the numbers.

[GoGoPool Analytics dashboards](https://flipsidecrypto.xyz/GoGoPool/-GGP-protocol-stats-PitGzK) provide a clear and brief understanding of GoGoPool's key metrics.

It presents consolidated data from [Flipside](https://flipsidecrypto.xyz/GoGoPool/-GGP-protocol-stats-PitGzK)'s analytical platform, enabling a comprehensive understanding of GoGoPool's operational metrics, including liquid staking performance and minipool growth, contributing to the decentralization of the Avalanche network.

Each section breaks down complex data into accessible insights across four critical areas:&#x20;

1. [Total Deposits](#total-deposits-dashboard)
2. [stAVAX](#ggavax-dashboard)
3. [Minipools](#minipools-dashboard)
4. [GGP](#ggp-dashboard)

## Total Deposits Dashboard

This dashboard presents the total amount of `AVAX` deposited into the GoGoPool protocol.

### Key Metrics

#### **`AVAX` on the Liquid Staking Side**

Displays the total amount of `AVAX` contributed to liquid staking through GoGoPool, offering users the yield on validating while maintaining access to a liquid token `stAVAX`.

#### **`AVAX` on the Minipool Side**

Represents the amount of `AVAX` contributed directly to minipools, which are validators funded via an equal mix of `AVAX` contributed from both the liquid stakers and Minipool operators.

#### **Total `AVAX` in Protocol**

Demonstrates summation of the total `AVAX` held within the entire GoGoPool protocol, combining liquid staking and minipool balances.

### Growth Metrics

#### **90-day Growth in Liquid Staked `AVAX`**

Indicates the growth rate of the total `AVAX` deposits in `stAVAX` liquid staking over the last 90 days.

#### **90-day Growth in Minipool `AVAX`**

Highlights the growth rate of the total `AVAX` deposits in minipools over the last 90 days.

#### **90-day Growth in Total `AVAX`**

Displays the total percentage growth of all `AVAX` within GoGoPool, including both liquid staking and minipools over the last 90 days.

### Protocol TVL (Total Value Locked)

Reports the current value of all `AVAX` and `GGP` staked within GoGoPool.

## stAVAX Dashboard

This dashboard displays specific details of `AVAX` staked through the `stAVAX` liquid staking token, tracking yield performance and associated fees.

### Total APY

Current estimated percentage return on all staked `AVAX`, covering various yields and costs that are explained in the following sections.

$$\text{Total APY} = \text{Base Validation APY} + \text{MEV APY} - \text{Protocol Fee} - \text{Delegation Fee} - \text{Liquidity Fee}$$

### Yield Performance

#### Base Validation Yield

The annualized yield earned from validating activities over the most recent 15-day cycle (GoGoPool Validation Cycles are 15-days). It reflects the validation yield for the latest minipool cycle, which `AVAX` stakers get to participate in on an equal basis with Minipool operators.

$$\text{Base APY} = \left( \left(1 + \frac{\text{AVAX}*{\text{Earned on Latest Minipool Cycle}}}{\text{AVAX}*\text{Base Stake on Latest Minipool Cycle}} \right)^\frac{365}{15} - 1 \right) \times 100%$$

#### MEV Yield

The annualized yield from the last 14-day cycle attributable to Maximal Extractable Value strategies.

$$\text{MEV APY} = \left( \left(1 + \frac{\text{MEV Reward}}{\text{AVAX}\_{\text{Liquid Staking 14 days ago}}} \right)^{\frac{365}{14}} - 1 \right) \times 100%$$

### Fee Structure

#### Protocol Fee

The protocol fee is zero, emphasizing that GoGoPool does not charge protocol-level fees.

$$\text{Protocol Fee} = 0$$

#### Delegation Fee

The delegation fee is calculated based on the delegated `AVAX` rate, the possible minimum commission rate (2%) of the base return. GoGoPool's goal is to sustain a 0% delegation fee, by leveraging deposited `AVAX` to generate base and MEV yields internally instead of delegating `AVAX` to external validators.

$$\text{Delegation Fee} = \left( \frac{\text{AVAX}\_\text{Sent to Delegators}}{\text{AVAX} \_\text{Liquid Staking}} \times \text{Base Yield APY} \times {2%} \right)$$

#### Liquidity Fee

Represented as an opportunity cost rather than an external fee, it is calculated based on the idle `AVAX` compared to the active staking pool, incorporating both base yield and MEV yield to present the cost of liquidity.

$$\text{Liquidity Fee} = \left( \frac{\text{AVAX}*\text{Idle}}{\text{AVAX}*\text{Liquid Staking}} \times \text{(Base Yield APY + MEV Yield APY)} \right)$$

### Exchange Rate, Volume, and Market Activity

* **`AVAX` to `stAVAX` Exchange Rate**: Current and historical rate at which `AVAX` is converted to `stAVAX`.
* **`stAVAX` Volume**: A comparison of trading volumes across different exchanges.

## Minipools Dashboard

The Minipools Dashboard provides a real-time count and historical trend of active minipools, which are critical components of GoGoPool’s staking infrastructure.

### Minipools

#### Total Number of Minipools

Displays the current number of active minipools and a graph showing the change in the number of minipools over time.

#### Reward Dates

* **Rewards Cycle Start**: Marks the beginning of the reward period.
* **Reward Cycle End**: The date when the current reward cycle concludes and distribution begins.
* **Rewards Eligibility**: The date when minipools are evaluated for their current rewards eligibility.
* **Next Rewards Eligibility**: The upcoming date when minipools will be evaluated for their next rewards eligibility.

## GGP Dashboard

A detailed look at GoGoPool's native token, `GGP`, showcasing its price, market valuation, and staking statistics.

### Market Valuation

* **`GGP` Price**: The current trading price for `GGP`, a direct reflection of the market's valuation.
* **`GGP` FDV (Fully Diluted Valuation)**: Represents the total value of all `GGP` tokens at the current market price, assuming all are in circulation.
* **`GGP` Mcap (Market Capitalization)**: The total market value of circulating `GGP` tokens, providing a snapshot of its market size and liquidity.

### Staking Statistics

* **`GGP` Percentage Staked**: The portion of `GGP` tokens currently staked in the protocol.
* **`GGP` Staked**: The total quantity of `GGP` that has been staked and the changes in the amount of staked `GGP` over time.

### Market Activity

* **`GGP` Volume**: A comparison of trading volumes across different exchanges.


# Notifications

Explore how GoGoPool's notification system keeps you informed.

GoGoPool's notification system offers timely alerts on account activities such as upcoming rewards, minipool endings, and collateral levels. It sends timely reminders for scheduled events and provides urgent warnings if collateral falls below set thresholds, helping users maintain their investments and avoid potential penalties.

## Types of Notifications

#### **Scheduled Reminders and Alerts:**

* **Minipool Rewards Reminder:** Receive reminders about upcoming `GGP` rewards for active stakers and minipool operators, ensuring you never miss out on your earnings. This reminder is sent daily and does not repeat until the next occurrence.
* **Minipool Ending Reminder:** Get alerts when your minipool is nearing the end of its term. This reminder is sent daily and does not repeat until the next occurrence.

#### **Urgent Notifications:**

* **Node Health Status Warning**: Receive alerts if your validator's health drops below 90%, prompting you to check and maintain performance above the 80% threshold necessary for rewards.
* **Low Collateral Warning:** Get alerts when your collateral drops below 10%, risking your eligibility for `GGP` rewards. Notifications are checked hourly and repeated once a day as long as the issue continues.&#x20;

{% hint style="info" %}
If your collateral ratio is below 10% once your next Minipool or rewards cycle ends, your active Minipools are at risk of termination, and you may lose eligibility for `GGP` rewards.
{% endhint %}

* **Approaching Low Collateral Warning:** Receive early warnings when your collateral is below 20%, helping you avoid any possible losses. Notifications are checked hourly and repeated every 5 days if the issue continues.

{% hint style="info" %}
Increasing your `GGP` stake enhances your rewards and reduces the risk of termination or reward losses due to negative price volatility.
{% endhint %}

#### **General Protocol Alerts:**

* **General Protocol Alert:** Important updates sent to all subscribers, covering essential protocol developments or urgent news.

## Setting Up Notifications

GoGoPool offers multiple channels to inform you about important updates and events related to your staking activities.

### In-app Notifications

Receive all notifications directly through the in-app notification panel. Protocol-related notifications are displayed under the **Protocol** tab and are accessible without connecting a wallet. When a wallet is connected, custom notifications specific to that wallet are shown under the **My Wallet** tab.

<div align="left"><figure><img src="/files/g4UecGt6EkEYStXfog55" alt=""><figcaption><p>Protocol-related notifications through the in-app panel</p></figcaption></figure> <figure><img src="/files/BnSZzItf3rNk3HzA1Y9T" alt=""><figcaption><p>Wallet-specific custom notifications through the in-app panel</p></figcaption></figure></div>

### Email Notifications

To activate email notifications, connect your wallet in the GoGoPool app and navigate to the notifications setup. Enter your email address to start receiving notifications. Each alert will be directly sent to your inbox, keeping you updated on the specific activities of your connected address and protocol-related updates.

<figure><img src="/files/nZaoGF08u1Vf5yReVzzn" alt=""><figcaption><p>Email subscription</p></figcaption></figure>

{% hint style="info" %}
**Want to Unsubscribe?**\
\
At the bottom of every notification email, you will find a unique link labeled **Unsubscribe**. Clicking this link will immediately unsubscribe you from all future email notifications for that specific email address.
{% endhint %}

### Telegram Notifications

To set up Telegram notifications for real-time updates, follow these steps:

1. **Initiate the Setup**: Click the notification button to navigate to the notifications section. Then, click the **GoGoObserver** button in the in-app notification panel to initiate the setup.
2. **Link to Telegram**: Clicking this button will open the bot in Telegram if the app is installed on your device.
3. **Start Conversation**: If you're setting up for the first time, send a start message or use the provided command to wake up the bot.
4. **Subscribe to Updates**:
   * If your wallet is connected when you access the bot, it will automatically suggest updates for that address.
   * If no wallet is connected or you want to add additional addresses, type `/subscribe <wallet_address>` to start receiving notifications for the specified address.

<div align="left"><figure><img src="/files/MgXfrcljcZr7UvioY6ol" alt="" width="375"><figcaption><p>Starting conversation</p></figcaption></figure> <figure><img src="/files/Rr0WrGjyj0SLb6ubsifb" alt="" width="375"><figcaption><p>Telegram subscription</p></figcaption></figure></div>

5. **Adjust Notification Settings** (Optional):
   * Type `/settings` to customize your notification preferences.
   * By default, all notification types are enabled. You can turn off certain alerts if they are not needed.
6. **List Tracked Addresses** (Optional): To view all the addresses you are currently tracking for notifications, type `/subscriptions` in the chat with the bot.
7. **Unsubscription** (Optional):
   * Use `/unsubscribe` command to unsubscribe from all future Telegram notifications.
   * To unsubscribe from only one wallet, use `unsubscribe <wallet_address>` command.

{% hint style="info" %}
**Join Groups or Track Multiple Addresses**\
\
The bot can be added to groups or track multiple addresses. Use the `/subscribe` command followed by the wallet address to track additional addresses.
{% endhint %}


# COQNet CLIMAX: How to Stake COQ and Become a Validator

Stake COQ and validate COQnet easily.

This guide explains how to stake COQ tokens and become a validator on COQnet via GoGoPool’s [L1 Marketplace (L1M)](https://l1s.gogopool.com/marketplace) without dealing with technical complexities. By following these step-by-step instructions, you can participate in the staking campaign and earn rewards on COQnet.

## Key Concepts on COQ Staking

### Node Availability

The amount of nodes available for staking on COQnet is limited. Here’s how it works:

* Nodes are released in **batches** at different times.
* A user can only stake if nodes are available in the current batch.
* The **Staking Widget** on the COQnet project page shows how many nodes are remaining in the current batch. Once all nodes in a batch are staked, you’ll need to wait for the next batch to be released.

> Keep an eye on the Staking Widget to know when new batches are available.

### Batch Details

* BATCH 1: Early whitelist for community members and builders to give engineering feedback - up to 20 spots
* BATCH 2: Whitelist created from X engagements on announcement post - up to 180 spots
* BATCH 3: Open to all eligible users, first come, first serve - up to 1000 spots

### Wallet Eligibility

To stake COQ, your wallet must meet the following criteria:

* **Chill Factor Score**: Only wallets with a Chill Factor score **above 69,420** can stake.

*The Chill Factor score is based on your wallet’s activity and history within the Avalanche ecosystem. You can check your wallet's Chill Factor score* [*here*](https://frostymetrics.com/chill_factor)*.*

### Staking Limits

Each wallet has the following staking limits:

* You can stake a maximum of once for BATCH1/BATCH2 and three times for BATCH3, meaning you can run up to **three validator nodes** per wallet.
* Once you’ve reached the maximum limit, you won’t be able to stake additional COQ from the same wallet.

### Staking Parameters

Staking on COQnet has the following parameters:

* **APY**: 9000%
* **Staking Duration**: 30 days
* **Staking Amount**: 20,000,000 COQ (fixed and non-changeable)
* **Fees**:
  * **P-Chain PAYG (Pay-as-you-go) Fee**: 1.33 AVAX (the fee of being a L1-only validator on the Avalanche network for one month).
  * **Node Fee**: $40 USD, paid in AVAX (paid to the hardware provider to set up and run a node on users behalf, *subject to change based on AVAX's price*).
* **Rewards**: 147,945,205 COQ per node (claimable after the staking period ends)

## Stake COQ and Become a Validator on COQnet

{% stepper %}
{% step %}

### Visit the L1 Marketplace

* Go to GoGoPool’s [L1 Marketplace](https://l1s.gogopool.com/marketplace) page.
* Explore Layer 1 projects like COQnet by browsing trending projects, top projects, or categories.
  {% endstep %}

{% step %}

### Connect Your Wallet

* Click the **Connect Wallet** button and connect your EVM-compatible wallet (e.g., Core, Rabby, MetaMask).
* Ensure your wallet is connected to the **Avalanche C-Chain** network.
* Ensure your wallet meets the **Chill Factor score** requirement and has sufficient funds:

  * At least **20,000,000 COQ** for staking.

  * Sufficient **AVAX** to cover the P-Chain PAYG fee and node fee.

  > **Note**: Your funds should be on the Avalanche C-Chain.
  > {% endstep %}

{% step %}

### Explore COQnet Marketplace Page

* Click on COQnet to visit its project page.
* On this page, you’ll find:
  * Brief information about COQnet.
  * Links to the project’s socials and whitepaper.
  * Details about the COQ staking campaign (i.e., APY, Total Value Locked (TVL), number of stakers).
* A **Staking Widget** that shows how many nodes are remaining in the current batch and includes a **Stake** button.
  {% endstep %}

{% step %}

### Start the Staking Process

* Click the **Stake** button in the Staking Widget.
* A wizard will appear with the following details:
  * **Staking Amount**: 20,000,000 COQ (fixed and non-changeable).
  * **Staking Duration**: 30 days (fixed and non-changeable).
  * **Staking Summary**: Includes the staking duration, unlock date, reward APY, P-Chain PAYG fee, and node fee.
* Once everything looks good, click **Stake COQ**.
  {% endstep %}

{% step %}

### Complete the Transactions

A series of transactions will appear in your wallet:

* Approve the transfer of COQ tokens from your wallet.
* Confirm the transaction to transfer COQ and AVAX, which will create your validator.

🎉 **Congratulations!** You’re now staking COQ and validating on COQnet.
{% endstep %}
{% endstepper %}

## Next Steps

After the staking period ends, you can claim your rewards. Check the [Managing Your COQ Staking and Rewards on Coqnet](/coqnet/managing-your-coq-staking-and-rewards-on-coqnet) for more information on claiming rewards.

If you encounter any issues, refer to the [GoGoPool Discord](https://discord.gogopool.com/) or contact the team for assistance.


# Managing Your COQ Staking and Rewards on Coqnet

Track, monitor, and claim staking rewards.

Once you’ve staked COQ and rented a node to become a validator on Coqnet, you can track your staking rewards and manage your stakes through the L1 Marketplace. This guide explains how to manage your stakes and rewards.

***

## Manage Your COQ Staking and Rewards

{% stepper %}
{% step %}

### Visit the Coqnet Marketplace Page

* Go to the **Coqnet** project page on the L1 Marketplace.
* The **Staking Widget** will now display two new cards: **My Rewards** and **My Stake**.

> If you haven’t staked yet, follow the [staking process](/coqnet/coqnet-climax-how-to-stake-coq-and-become-a-validator) to become a validator.
> {% endstep %}

{% step %}

### View Your Rewards Details

In the **My Rewards** card, you’ll see:

* **Accrued Rewards**: The total amount of rewards owed for all your active validators.
* **Unlock Date**: The next eligible date to claim rewards from one of your validators.
  {% endstep %}

{% step %}

### View Your Staking Details

In the **My Stake** card, you’ll see:

* **Total Staked COQ**: The total amount of COQ you’ve staked across all nodes.
* **Reward Rate**: The APY for your staking period.
* **Claimable Staked COQ**: The total amount of tokens eligible to be unstaked after the validation period ends.
* **Estimated Rewards**: The projected rewards based on your staked amount and APY.
  {% endstep %}

{% step %}

### Claim and Unstake Rewards

Once the **Unlock Date** has passed, you can claim your rewards.

* Click the **Claim & Unstake** button in the **My Rewards** card.
* If you have multiple claimable balances (from different stakes), select the unlocked balance you’d like to claim.
* Approve two consecutive transactions in your wallet:
  * The first transaction **unstakes** your COQ.
  * The second transaction **claims** your rewards.
    {% endstep %}
    {% endstepper %}

{% hint style="success" %}
Alternatively, you can manage your stakes and rewards from your GoGoPool dashboard by clicking **Dashboard** in the top-right corner of the L1 Marketplace.
{% endhint %}

***

## Conclusion

If you encounter any issues, reach out to GoGoPool support for assistance on [Discord](https://discord.gogopool.com/) or Live Support Chat on the [GoGoPool website](https://www.gogopool.com/).


# Contract Addresses

A repository of all essential contract addresses for user reference.

<table><thead><tr><th width="278.55555555555554">Contract</th><th>Addres</th></tr></thead><tbody><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/utils/WAVAX.sol">WAVAX</a></td><td><a href="https://snowtrace.io/address/0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7"><code>0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/ClaimNodeOp.sol">ClaimNodeOp</a></td><td><a href="https://snowtrace.io/address/0xb42CfaD450B46FDc9cAC5FBF14Bc2e6091AfC35c"><code>0xb42CfaD450B46FDc9cAC5FBF14Bc2e6091AfC35c</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/ClaimProtocolDAO.sol">ClaimProtocolDAO</a></td><td><a href="https://snowtrace.io/address/0x4169CF88c7Ed811E6f6e61917c5b915BeA49476c"><code>0x4169CF88c7Ed811E6f6e61917c5b915BeA49476c</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/MinipoolManager.sol">MinipoolManager</a></td><td><a href="https://snowtrace.io/address/0xc300Bc9B4b690BA7A182126299a0618eCe268Ee7"><code>0xc300Bc9B4b690BA7A182126299a0618eCe268Ee7</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/MinipoolStreamliner.sol">MinipoolStreamliner</a></td><td><a href="https://snowtrace.io/address/0x752AB1dA3f8Fb0e715976BD5C3416a3A8E163aE1"><code>0x752AB1dA3f8Fb0e715976BD5C3416a3A8E163aE1</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/MultisigManager.sol">MultisigManager</a></td><td><a href="https://snowtrace.io/address/0x7fff419c562Dd8b3cf16C335a01CDb37ea1B6a3B"><code>0x7fff419c562Dd8b3cf16C335a01CDb37ea1B6a3B</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/Ocyticus.sol">Ocyticus</a></td><td><a href="https://snowtrace.io/address/0xFfDc3B731c57A7179b90FE7F5c2B5b87a5ad5542">0xFfDc3B731c57A7179b90FE7F5c2B5b87a5ad5542</a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/Oracle.sol">Oracle</a></td><td><a href="https://snowtrace.io/address/0x30fb915258D844E9dC420B2C3AA97420AEA16Db7"><code>0x30fb915258D844E9dC420B2C3AA97420AEA16Db7</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/utils/OneInchMock.sol">OneInchMock</a></td><td><a href="https://snowtrace.io/address/0x25314C5a00004F5B4Fa83C82238Ab879f48B58aA"><code>0x25314C5a00004F5B4Fa83C82238Ab879f48B58aA</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/ProtocolDAO.sol">ProtocolDAO</a></td><td><a href="https://snowtrace.io/address/0xfC3eA32C03B4Be326bcEd178431789F7e2D8051a">0xfC3eA32C03B4Be326bcEd178431789F7e2D8051a</a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/RewardsPool.sol">RewardsPool</a></td><td><a href="https://snowtrace.io/address/0xAA8FD06cc3f1059b6d35870Bbf625C1Bac7c1B1D"><code>0xAA8FD06cc3f1059b6d35870Bbf625C1Bac7c1B1D</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/Storage.sol">Storage</a></td><td><a href="https://snowtrace.io/address/0x1cEa17F9dE4De28FeB6A102988E12D4B90DfF1a9"><code>0x1cEa17F9dE4De28FeB6A102988E12D4B90DfF1a9</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/Staking.sol">Staking</a></td><td><a href="https://snowtrace.io/address/0xB6dDbf75e2F0C7FC363B47B84b5C03959526AecB"><code>0xB6dDbf75e2F0C7FC363B47B84b5C03959526AecB</code></a></td></tr><tr><td>TokenggAVAXImpl</td><td><a href="https://snowtrace.io/address/0x84E71cED65470Fab9D9D2d1a7Eab33e1ddcEb922">0x84E71cED65470Fab9D9D2d1a7Eab33e1ddcEb922</a></td></tr><tr><td>TokenggAVAXProxyAdmin</td><td><a href="https://snowtrace.io/address/0x5313c309CD469B751Ad3947568D65d4a70B247cF"><code>0x5313c309CD469B751Ad3947568D65d4a70B247cF</code></a></td></tr><tr><td>TokenggAVAX</td><td><a href="https://snowtrace.io/address/0xA25EaF2906FA1a3a13EdAc9B9657108Af7B703e3"><code>0xA25EaF2906FA1a3a13EdAc9B9657108Af7B703e3</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/tokens/TokenGGP.sol">TokenGGP</a></td><td><a href="https://snowtrace.io/address/0x69260B9483F9871ca57f81A90D91E2F96c2Cd11d"><code>0x69260B9483F9871ca57f81A90D91E2F96c2Cd11d</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/Timelock.sol">Timelock</a></td><td><a href="https://snowtrace.io/address/0xcd385F1947D532186f3F6aaa93966E3e9C14af41"><code>0xcd385F1947D532186f3F6aaa93966E3e9C14af41</code></a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/Vault.sol">Vault</a></td><td><a href="https://snowtrace.io/address/0xd45Cb6F5AcA41AfAAAeBdBE4EFBA49c1bC41E6BA"><code>0xd45Cb6F5AcA41AfAAAeBdBE4EFBA49c1bC41E6BA</code></a></td></tr><tr><td>Guardian Multisig</td><td><a href="https://snowtrace.io/address/0x6C104D5b914931BA179168d63739A297Dc29bCF3"><code>0x6C104D5b914931BA179168d63739A297Dc29bCF3</code></a></td></tr><tr><td>OonodzHardwareProvider</td><td><a href="https://snowtrace.io/address/0xfE6ca6cD383d1e213f5d1015dD0BB35275E8Fe3E"><code>0xfE6ca6cD383d1e213f5d1015dD0BB35275E8Fe3E</code></a></td></tr><tr><td>ArtifactHardwareProvider</td><td><a href="https://snowtrace.io/address/0xC095ece2C0f315381b4BF6De169FbC219B24194C"><code>0xC095ece2C0f315381b4BF6De169FbC219B24194C</code></a></td></tr><tr><td>SubnetHardwareRentalMapping</td><td><a href="https://snowtrace.io/address/0x8b85CA6E43F5b057793fB7567b4b4667dFf33d0B"><code>0x8b85CA6E43F5b057793fB7567b4b4667dFf33d0B</code></a></td></tr><tr><td>SubnetHardwareRentalMappingImpl</td><td><a href="https://snowtrace.io/address/0xF04aA1700694881761dE6D1CC1C490102FF8A9ed"><code>0xF04aA1700694881761dE6D1CC1C490102FF8A9ed</code></a></td></tr><tr><td>SubnetHardwareRentalMappingAdmin</td><td><a href="https://snowtrace.io/address/0x89cf789e6b622e29ddAF5283cC0C2B1301b9b64D"><code>0x89cf789e6b622e29ddAF5283cC0C2B1301b9b64D</code></a></td></tr><tr><td>CoqnetHardwareRental</td><td><a href="https://snowtrace.io/address/0x7a212fB6b84461CF4f889caB42Ff9E856dB9a6dC"><code>0x7a212fB6b84461CF4f889caB42Ff9E856dB9a6dC</code></a></td></tr><tr><td>CoqnetHardwareRentalImpl</td><td><a href="https://snowtrace.io/address/0x8A2De3cCc35888bBdba2650cF10417B2089Ac366"><code>0x8A2De3cCc35888bBdba2650cF10417B2089Ac366</code></a></td></tr><tr><td>CoqnetHardwareRentalAdmin</td><td><a href="https://snowtrace.io/address/0x19Da5D5e16615a354316b792EF91D2dd43d439F4"><code>0x19Da5D5e16615a354316b792EF91D2dd43d439F4</code></a></td></tr><tr><td>AvalancheHardwareRental</td><td><a href="https://snowtrace.io/address/0xf451171872e9395021316e44D9f5475C90e27848"><code>0xf451171872e9395021316e44D9f5475C90e27848</code></a></td></tr><tr><td>AvalancheHardwareRentalImpl</td><td><a href="https://snowtrace.io/address/0x456A6e49409F137138e2e0255368a3a37876e87B"><code>0x456A6e49409F137138e2e0255368a3a37876e87B</code></a></td></tr><tr><td>AvalancheHardwareRentalAdmin</td><td><a href="https://snowtrace.io/address/0xC7Fef2eac21dDdF9FA332c1fF4cf208599d7A6c6"><code>0xC7Fef2eac21dDdF9FA332c1fF4cf208599d7A6c6</code></a></td></tr><tr><td>Multicall3</td><td><a href="https://snowtrace.io/address/0xcA11bde05977b3631167028862bE2a173976CA11">0xcA11bde05977b3631167028862bE2a173976CA11</a></td></tr><tr><td>CREATE3Factory</td><td><a href="https://snowtrace.io/address/0x9fBB3DF7C40Da2e5A0dE984fFE2CCB7C47cd0ABf">0x9fBB3DF7C40Da2e5A0dE984fFE2CCB7C47cd0ABf</a></td></tr><tr><td>MinipoolStreamlinerAdmin</td><td><a href="https://snowtrace.io/address/0x9484D5da62664D65744De5D2C148c0Ee89416C71">0x9484D5da62664D65744De5D2C148c0Ee89416C71</a></td></tr><tr><td>MinipoolStreamlinerImpl</td><td><a href="https://snowtrace.io/address/0x9484D5da62664D65744De5D2C148c0Ee89416C71">0x746F2c0cf9CDac51E6AA7BC7020F9FDa6ac1ecD8</a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/WithdrawQueue.sol">WithdrawQueue</a></td><td><a href="https://snowtrace.io/address/0x61f908D4992a790A2792D3C36850B4b9eB5849A3">0x61f908D4992a790A2792D3C36850B4b9eB5849A3</a></td></tr><tr><td>WithdrawQueueImpl</td><td><a href="https://snowtrace.io/address/0x4043dA5D66530F70F2ae1dfbEa13D02051b45E6e">0x4043dA5D66530F70F2ae1dfbEa13D02051b45E6e</a></td></tr><tr><td>WithdrawQueueAdmin</td><td><a href="https://snowtrace.io/address/0x6e8fd36d51d159209054dADda7f87Aa4e1aED940">0x6e8fd36d51d159209054dADda7f87Aa4e1aED940</a></td></tr><tr><td>TokenpstAVAXImpl</td><td><a href="https://snowtrace.io/address/0x82E1534a5b9b299028e8939A2Aef5bCBC079B241">0x82E1534a5b9b299028e8939A2Aef5bCBC079B241</a></td></tr><tr><td>TokenpstAVAXAdmin</td><td><a href="https://snowtrace.io/address/0xBc5627e0B497F18dD4a321f57f4D43C1E0E9e190">0xBc5627e0B497F18dD4a321f57f4D43C1E0E9e190</a></td></tr><tr><td><a href="https://github.com/multisig-labs/gogopool/blob/main/contracts/contract/tokens/TokenpstAVAX.sol">TokenpstAVAX</a></td><td><a href="https://snowtrace.io/address/0x6b37756DF77A3798fd4F1476eF48C62bE7e5aAF8">0x6b37756DF77A3798fd4F1476eF48C62bE7e5aAF8</a></td></tr></tbody></table>


# L1 Contract Addresses

Smart contract addresses for node sales systems

This page lists the smart contracts deployed as part of Hypha's validator infrastructure and node sales systems.

## Contract Addresses by Chain

{% content-ref url="/pages/pq0KvLgngnBzC86G7TId" %}
[CX-Chain](/technical-information-and-brand-assets/l1-contract-addresses/cx-chain)
{% endcontent-ref %}

{% content-ref url="/pages/VN7iKkWO53FkC84UdYCS" %}
[Paradise Tycoon](/technical-information-and-brand-assets/l1-contract-addresses/paradise-tycoon)
{% endcontent-ref %}


# CX-Chain

<table><thead><tr><th width="164.52734375">Contract Name</th><th width="429.07421875">Contract Address</th><th width="181.21484375">Deployed On</th></tr></thead><tbody><tr><td>NodeSale</td><td><a href="https://snowtrace.io/address/0xA60A66f6ce0F43B9D36d9C138aEe858fC683CfaA">0xA60A66f6ce0F43B9D36d9C138aEe858fC683CfaA</a></td><td>Avalanche C-Chain</td></tr><tr><td>NodeAsAService</td><td><a href="https://snowtrace.io/address/0xb306C94fd016a9E8DE7c6643a4f16342Dab20b04">0xb306C94fd016a9E8DE7c6643a4f16342Dab20b04</a></td><td>Avalanche C-Chain</td></tr><tr><td>HardwareOperatorLicense</td><td><a href="https://subnets.avax.network/cx/address/0x3059caa2b69d580a4c902e27b42724c620c1d75e">0x3059caa2b69d580a4c902e27b42724c620c1d75e</a></td><td>CX-Chain</td></tr><tr><td>NodeLicense</td><td><a href="https://subnets.avax.network/cx/address/0xc79ac44e2df69ce31c15e4de12f40191c4658ca2">0xc79ac44e2df69ce31c15e4de12f40191c4658ca2</a></td><td>CX-Chain</td></tr><tr><td>NFTStakingManager</td><td><a href="https://subnets.avax.network/cx/address/0x41566f289d79518b7274804699d000dae453c246">0x41566f289d79518b7274804699d000dae453c246</a></td><td>CX-Chain</td></tr></tbody></table>

***


# Paradise Tycoon

<table><thead><tr><th width="164.52734375">Contract Name</th><th width="429.07421875">Contract Address</th><th width="181.21484375">Deployed On</th></tr></thead><tbody><tr><td>BasicLicenseSale</td><td><a href="https://snowtrace.io/address/0xae6A7D4778CC35673FcAE8F09cdFb4AE85607d89">0xae6A7D4778CC35673FcAE8F09cdFb4AE85607d89</a></td><td>Avalanche C-Chain</td></tr></tbody></table>


# API

Details and documentation for accessing and using the Hypha API for developers.

The Hypha API is a decentralized liquid staking protocol built on Avalanche that provides a robust and scalable solution for blockchain data. The API offers a wide range of endpoints that enable users to access various data points, including token prices, staking information, and validator data.

## Available Data

The Hypha (formerly GoGoPool) API provides access to the following data points:

* **Token prices**: Get current and historical token prices, including `GGP`, `AVAX`, and USD prices.
* **Staking information**: Retrieve staking-related data, such as staker information, minipool data, and validator information.
* **Validator data**: Access data on active validators, including their node IDs, staking information, and rewards.
* **Rewards**: Calculate rewards based on `ggpStaked` and `avaxStaked` amounts or retrieve rewards data for a specific address.
* **Metrics**: Retrieve various metrics, such as stAVAX APY, total assets, and staking information.
* **Feature flags**: Get feature flags for the current environment.

### Code Examples

{% tabs %}
{% tab title="cURL" %}
Here's an example of retrieving the current GGP price in AVAX using cURL:

<pre class="language-json"><code class="lang-json"><strong>curl -X GET \\
</strong>  'https://api.gogopool.com/prices' \
  -H 'accept: application/json'
</code></pre>

This will return a JSON response with the current `GGP` price in `AVAX`.
{% endtab %}

{% tab title="Python" %}
Here's an example of retrieving the current token prices using Python:

```python
import requests

response = requests.get('https://api.gogopool.com/prices')

if response.status_code == 200:
    data = response.json()
    print(data)
else:
    print('Error:', response.status_code)
```

This will print the current token prices in JSON format.
{% endtab %}
{% endtabs %}

### API Endpoints

Here are some examples of API endpoints:

* `GET /prices/tj`: Get the current token prices on Trader Joe.
* `GET /ggAvax`: Get the various amounts in the stAVAX Liquid Staking pool.
* `GET /validators`: Get all currently active validators from Glacier API.
* `GET /rewards/byStake`: Calculate the rewards given `ggpStaked` and `avaxStaked` amounts.
* `GET /metrics`: Get the current metrics, such as stAVAX APY and total assets.

For a comprehensive list of API endpoints and parameters, please refer to the [Hypha OpenAPI page](https://api.gogopool.com/docs).


# Security

Audits & Vulnerability Reports

Security is at the core of Hypha’s operations. Our commitment to safeguarding our platform and users is evidenced by the strict security measures and processes we have in place:

* **Audited and Verified**: We've undergone comprehensive security audits by reputable firms, including Quantstamp, Code4Arena, Zellic, and Kudelski Security, to ensure the integrity of our protocol and to identify and address potential vulnerabilities.
* **Proactive Protection**: Our active bug-bounty program encourages white-hat hackers and security researchers to help us maintain the highest security standards by identifying and reporting any potential threats.
* **Trusted by Leaders**: Recognition from leading blockchain entities like SwissBorg, who chose Hypha as an exclusive service provider, validates our security-first approach and the trustworthiness of our services.

## Audits

{% content-ref url="/pages/AbBeFvR9l8ewN7lVoZBs" %}
[Quantstamp Audit](/technical-information-and-brand-assets/security/audits/quantstamp-audit)
{% endcontent-ref %}

{% content-ref url="/pages/mDRLSWhexCXXYZCVE2We" %}
[Code4rena Audit](/technical-information-and-brand-assets/security/audits/code4rena-audit)
{% endcontent-ref %}

{% content-ref url="/pages/d5RVPmCQfVU5AZfBN3IW" %}
[Zellic Audit](/technical-information-and-brand-assets/security/audits/zellic-audit)
{% endcontent-ref %}

{% content-ref url="/pages/YH06MgEKIdlQ8o0fW6mX" %}
[Kudelski Security Audit](/technical-information-and-brand-assets/security/audits/kudelski-security-audit)
{% endcontent-ref %}

## Bug Bounty Program

{% content-ref url="/pages/0Q4pA6gKO4sDZqzhxbDw" %}
[Bug Bounty Program](/technical-information-and-brand-assets/security/bug-bounty-program)
{% endcontent-ref %}

## Vulnerability Reports

{% content-ref url="/pages/wOZDBz4yui0O914nTzeN" %}
[Vulnerability Reports](/technical-information-and-brand-assets/security/vulnerability-reports)
{% endcontent-ref %}


# Audits

Details of our comprehensive security audits by top cybersecurity firms.

Hypha (formerly GoGoPool) has four audits:

<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th align="center"></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td align="center">Code4rena Audit</td><td align="center">December 15th, 2022 to January 3rd, 2023</td><td></td><td><a href="/pages/mDRLSWhexCXXYZCVE2We">/pages/mDRLSWhexCXXYZCVE2We</a></td><td><a href="/files/xa85RvwxseHvEQzndLik">/files/xa85RvwxseHvEQzndLik</a></td></tr><tr><td align="center">Zellic Audit</td><td align="center">November 14th to 29th, 2022</td><td></td><td><a href="/pages/d5RVPmCQfVU5AZfBN3IW">/pages/d5RVPmCQfVU5AZfBN3IW</a></td><td><a href="/files/h4XKKfx46qhiDjWu4pKP">/files/h4XKKfx46qhiDjWu4pKP</a></td></tr><tr><td align="center"></td><td align="center">Kudelski Security Audit<br><br>October 31th, 2022</td><td></td><td><a href="/pages/YH06MgEKIdlQ8o0fW6mX">/pages/YH06MgEKIdlQ8o0fW6mX</a></td><td><a href="/files/9rhJjWfOBYO9nyVS3Qja">/files/9rhJjWfOBYO9nyVS3Qja</a></td></tr><tr><td align="center"></td><td align="center">Quantstamp Audit<br><br>August 2025</td><td></td><td><a href="/pages/AbBeFvR9l8ewN7lVoZBs">/pages/AbBeFvR9l8ewN7lVoZBs</a></td><td><a href="/files/09PRCWiq9Z6bh4P9HOnH">/files/09PRCWiq9Z6bh4P9HOnH</a></td></tr></tbody></table>


# Quantstamp Audit

#### Our Latest Audit

**Protocol:** Hypha Liquid Staking Protocol\
**Auditor:** Quantstamp\
**Completion Date:** August 2025

This audit covers our liquid staking implementation, including the stAVAX vault system and withdrawal queue mechanisms. All findings and recommendations from the audit have been reviewed and addressed by our team.

#### Viewing the Report

The full audit report is available below. It contains technical analysis, findings, and remediation steps taken.

{% file src="/files/avcpQKVUUnNmC8sHgAx8" %}


# Code4rena Audit

**Code4rena**, a leading competitive audit platform, conducted a mitigation review of Hypha (formerly GoGoPool) in February 2023. Their assessment confirmed that improvements were successfully implemented, further strengthening the security of the protocol. The full report can be found [here](https://github.com/code-423n4/2023-02-gogopool-mitigation-contest).


# Zellic Audit

**Zellic**, a leading smart contract security firm, conducted an audit of Hypha (formerly GoGoPool)’s core contracts. Their review highlighted strong code quality and testing coverage, while also identifying several issues of high and medium severity that have since been addressed.

This audit further strengthens the security and reliability of the Hypha platform. The full report can be found [here](https://github.com/Zellic/publications/blob/master/GoGoPool%20-%20Zellic%20Audit%20Report.pdf).


# Kudelski Security Audit

Hypha (formerly GoGoPool) has been audited by Kudelski Security, a leader in tailored cybersecurity solutions for global enterprises and public sector institutions. Known for its innovative approach and rich heritage in cybersecurity, Kudelski Security has a vast portfolio of patents that underscore its commitment to addressing complex security challenges.

This audit ensures that Hypha meets the highest security standards, enhancing the safety and trust of our platform. The audit report can be found [here](https://assets-global.website-files.com/62f90a8443126c2ee50f4c4e/643ee88bf91b375b39ba2613_Kudelski_multisig_labs_report_1.1.pdf).


# Bug Bounty Program

Join our efforts to secure Hypha by participating in our bug bounty challenges.

To further enhance our commitment to security, Hypha participates in a bug bounty program hosted on Immunefi. This platform allows security researchers and ethical hackers to help us identify and resolve potential vulnerabilities, ensuring the highest level of security for our users.

We invite security enthusiasts to contribute to our platform's safety by participating in our bug bounty program. For details on the program and how to participate, please visit our page on Immunefi here: [Hypha Bug Bounty Program](https://immunefi.com/bug-bounty/gogopool/)


# Vulnerability Reports

Reported Vulnerabilities and Fixes

## November 23, 2023 - URL Rewrite

### Severity - Medium

Reported via the [Hypha Discord](https://discord.gg/CkXS83M85V), this vulnerability was discovered by [0xTeam](https://github.com/0xteam). **No user funds were directly at risk.** This vulnerability stemmed from an unsanitized input in the Next.js SDK tunnel endpoint, a part of the 'tunnel' feature in Sentry. It would allow attackers to send HTTP requests to arbitrary URLs and reflect the response back to the user. The primary concern was the insufficient restrictions on the 'o' query parameter, which could enable attackers to redirect requests and potentially execute malicious scripts. The vulnerability had the potential to significantly impact users. Malicious actors could exploit it to load pages with scripts in the backend, enabling them to connect to users' Web3 wallets. This could result in unauthorized transactions, registration of fake tokens, or even the rewriting of false airdrop or giveaway pages to siphon user funds.

### Mitigation

The problem was mitigated by simply updating the Sentry NextJS Plugin. To mitigate further risk in the future, Sentry is being removed from our frontend site, effectively immediately. We thank 0xTeam for their responsible disclosure and an appropriate bounty will be paid.

### Links

* [Original Report](https://ethsec.blog/0xteam/7b38ea96083fe5e424c78ec63f9298c2)
* [Mitigation Commit](https://github.com/multisig-labs/app.gogopool.com/commit/33f9309a4b77373360ad052b442262e86091963b)


# Brand Kit

needs work

{% file src="/files/ET94o2GX36SgqKoDYsD7" %}

{% file src="/files/LS2yTdStnfTqtrkxxMeD" %}


