Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
corepack enable

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
corepack enable

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

Expand Down Expand Up @@ -54,7 +54,7 @@ jobs:
corepack enable

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

Expand Down
6 changes: 3 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 11 additions & 4 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,14 @@
flake-utils.url = "github:numtide/flake-utils";
};

outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
outputs =
{
self,
nixpkgs,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
overlays = [ ];
pkgs = import nixpkgs {
Expand All @@ -21,9 +27,10 @@
# Nodejs
pkgs.nodePackages.typescript-language-server
pkgs.nodejs_22
pkgs.nodePackages.yarn
pkgs.yarn-berry
];
packages = [ ];
};
});
}
);
}
9 changes: 8 additions & 1 deletion pages/restake/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,12 @@
"join_a_pool": "Join a Liquid Staking Pool",
"lst-rewards": "Incentives",
"lst-assets": "Supported Assets",
"lst_developers": "Developer Docs"
"lst_developers": "Developer Docs",
"-- liquid restaking": {
"type": "separator",
"title": "Liquid Restaking"
},
"lrt-concepts": "Introduction to Liquid Restaking",
"lrt-vs-lst": "Liquid Restaking vs. Liquid Staking",
"lrt_developers": "Developer Docs"
}
12 changes: 11 additions & 1 deletion pages/restake/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,12 @@ Tangle's core staking infrastructure is composed of three major pieces. The firs
title: "Liquid Staking",
description: "Explore Tangle's liquid staking protocols for validator-specific staking operations and liquid staked tokens (LSTs).",
link: "../restake/lst-concepts"
}
},
{
title: "Liqued Restaking",
description: "Learn about how to build a LRT (Liquid Restaking Token) vaults and how to use it for restaking.",
link: "../restake/lrt-concepts"
},
]} />

## Nominated Staking
Expand All @@ -41,3 +46,8 @@ Users deposit assets into the restaking infrastructure by depositing into a pool
Tangle includes a variety of liquid staking protocol implementations for partner projects and blockchain ecosystems, providing the restaking infrastructure with unique liquid staking tokens to be used in securing new services. The tokens Tangle takes an active part in developing and leveraging bear the prefix `tg...`. The `tg` LST protocols are stake operation specific liquid staking protocols. By stake operation, we mean a unique staking action that exists separate to another, such as staking on Validator A versus Validator B or staking on Vault A or Vault B for an arbitrary staking protocol. These examples would create `tgXYZ_A` and `tgXYZ_B` liquid staked tokens which are not fungible with respect to one another.

In doing so, Tangle's LST protocol creates a plethora of new LSTs and a well-defined pool in the restaking infrastructure. Validators, node operators, and vaults of various protocols have unique assets to represent their operations, and Tangle's liquid staking tokens provides these communities with additional product opportunities for leveraging those assets and actions.

## Liquid Restaking

Liquid Restaking Tokens (LRTs) are used to restake any assets into the restaking infrastructure.
LRT in the nutshell is a way where you take any asset (usually an already staked asset, like stETH) and stake it again by depositing it into a the Tangle Restaking infrastructure and receive extra rewards for doing so.
53 changes: 53 additions & 0 deletions pages/restake/lrt-concepts.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Liquid Restaking on Tangle Network

## Introduction

Liquid restaking allows users to participate in restaking while simultaneously maintaining liquidity of their assets.
This mechanism is implemented through smart contracts that define their own liquid restaking mechanics while proxying calls to the underlying staking system. This allows users to stake their tokens, earn rewards, and maintain liquidity without being subject to traditional staking lock-up periods.

## Core Concepts

### Delegation Vaults

Delegation vaults are the backbone of liquid restaking on Tangle Network. These vaults:

- Allow users to deposit tokens which are then delegated to Tangle operators running blueprint services
- Issue shares (liquid tokens) representing the user's deposited assets
- Handle the complexities of managing deposits, unstaking, and withdrawals
- Rewards distribution and claiming.

### Liquid Tokens

When users deposit assets into a liquid restaking vault, they receive shares in return. These shares:

- Represent ownership of the underlying staked assets
- Can be transferred or traded while the underlying assets remain staked
- Serve as a claim ticket for both the original deposit and earned rewards
- Do not automatically increase in value like traditional LSTs but instead provide access to claim rewards

### Multi-step Withdrawal Process

The withdrawal process in liquid restaking involves multiple steps:

1. **Schedule Unstake**: User initiates the unstaking process from the operator
2. **Execute Unstake**: The unstaking request is processed after the unbonding period
3. **Schedule Withdrawal**: User requests to withdraw their assets from the vault
4. **Execute Withdrawal**: The final withdrawal is processed, returning assets to the user

This process ensures orderly exits while maintaining the security of the network.

### Rewards Distribution

Liquid restaking vaults use an accumulator-based system for tracking and distributing rewards:

- Each reward token has a global accumulator tracking rewards-per-share over time
- User positions are tracked by snapshots recording their share balance and last claim point
- Rewards are calculated based on the difference between current and last-seen accumulator values
- This system ensures fair distribution regardless of when users entered the pool or how many shares they hold

### Operator Delegation

Vaults will automatically delegate deposited assets to selected Tangle operators who:

- Run blueprint services on the network
- Generate rewards through their participation
8 changes: 8 additions & 0 deletions pages/restake/lrt-vs-lst.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## Liquid Restaking Tokens (LRT) vs Liquid Staking Tokens (LST)

| Feature | LRT (Tangle Network) | LST (Traditional) |
| ---------------- | -------------------------------------------- | ------------------------------------ |
| Primary Function | Enables restaking across multiple Blueprints | Provides liquidity for staked assets |
| Risk Profile | Shared security across services | Single network exposure |
| Reward Sources | Multiple Services rewards + staking yields | Base chain staking rewards |
| Use Cases | Cross-service validation, Blueprint creation | Trading, lending, DeFi integrations |
4 changes: 4 additions & 0 deletions pages/restake/lrt_developers/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"intro": "Introduction",
"lrt-vault": "Creating a LRT on Tangle"
}
11 changes: 11 additions & 0 deletions pages/restake/lrt_developers/intro.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Building LRT on Tangle Network

Tangle Multi-Asset Delegations (MADs) pallet precompile provides information about the current state of the Tangle network restaking functionality.
A precompiled contract is native Substrate code that has an Ethereum-style address and can be called using the Ethereum API, like any other smart contract.
The precompiles allow you to call the Substrate runtime directly which is not normally accessible from the Ethereum side of Tangle.

### How to use the precompile

We have a detailed page about the [Multi-Asset Delegation Precompile](../../developers/precompiles/features/multi-asset-delegation.mdx).

In the next page, we will have a tutorial about how to use this precompile to build a LRT on Tangle.
Loading