Skip to main content

1:1 Stable Pools

The 1:1 Stable Pools are designed to facilitate cross-chain liquidity transfers of stablecoins, ETH, and other 1:1 traded assets across chains. Unlike traditional models that use separate pools for each chain pair, the 1:1 Stable Pools leverage a unified liquidity pool.

These pools are governed by the Delta Algorithm, offering guaranteed finality, high capital efficiency, and a seamless user experience.

Overview of the Delta Algorithm

The Delta Algorithm enables transactions using native assets without the need for intermediate or wrapped tokens. The Algorithm supports a unified liquidity pool across multiple chains, ensuring guaranteed finality and cross-chain composability.

Formulas and Liquidity Calculations

The Delta Algorithm is based on the concept of soft-partitioned liquidity, where each liquidity pool is conditionally divided among all connected chains.

Let:

  • asa_s - current size of the liquidity pool on the local chain S
  • bs,db_{s,d} - liquidity balance available for transfers from chain S to chain D
  • ws,dw_{s,d} - weight that describes the portion of liquidity allocated for transfers between chains S and D

The goal of the Algorithm is to maintain the following relationship:

bs,das×ws,db_{s,d} ≈ a_s × w_{s,d}

When a user initiates a transfer of tt units of liquidity from chain S to chain D, the Algorithm checks whether there are enough funds on chain D to complete the transfer. If the balance is insufficient, the transfer is rejected i.e., If bs,d<brtb_{s,d} <br t, then the transfer is rejected.

If the balance is sufficient, the transfer is accepted, and the liquidity is updated:

asas+ta_s ← a_s + t
bs,dbs,dtb_{s,d} ← b_{s,d} - t

Next, the Delta Algorithm redistributes liquidity to restore the balance between connected chains using the following steps:

  1. The difference (diffs,xdiff_{s,x}) between the current balance and the desired balance is calculated:
diffs,x=max(0,as×ws,x(lkbx,s+cs,x))diff_{s,x} = max(0, a_s × w_{s,x} - (lkb_{x,s} + c_{s,x}))
  1. This difference is distributed among all connected chains proportionally to their weights.

If the total amount of redistributed liquidity is less than the current transaction (tt), the remaining amount (tt') is also distributed proportionally to the weights:

cs,xcs,x+diffs,x+t×ws,xc_{s,x} ← c_{s,x} + diff_{s,x} + t' × w_{s,x}

Example 1: Transfer from Chain X to Chain Y

Let:

  • aX=100a_X = 100
  • wX,Y=0.5w_{X,Y} = 0.5
  • user initiates a transfer of t=40t = 40 from chain X to chain Y
  1. The balance on Y is checked: bX,Y=60b_{X,Y} = 60, which is greater than 40, so the transfer is not rejected.

  2. The balance on X is updated:

aX100+40=140a_X ← 100 + 40 = 140
bX,Y6040=20b_{X,Y} ← 60 - 40 = 20
  1. The liquidity redistribution is calculated:

Let:

  • lkbY,X=50lkb_{Y,X} = 50
  • cX,Y=20c_{X,Y} = 20

Since the weights are equal, the remainder is evenly split:

cX,Y20+20=40c_{X,Y} ← 20 + 20 = 40

Example 2: Transfer from Chain Y to Chain Z

  1. The balance on Z is checked: bY,Z=40b_{Y,Z} = 40, which is greater than 30, so the transfer is not rejected.

  2. The balance on Y is updated:

aY100+30=130a_Y ← 100 + 30 = 130
bY,Z4030=10b_{Y,Z} ← 40 - 30 = 10
  1. The liquidity redistribution is calculated:
cY,X=60×0.620=16c_{Y,X} = 60 × 0.6 - 20 = 16
cY,Z=60×0.410=14c_{Y,Z} = 60 × 0.4 - 10 = 14

Thus, the total amount of liquidity that is redistributed is 30, and these amounts are recorded as credits for future transfers.

Cross-Chain Composability

The Delta Algorithm allows cross-chain swaps within a single transaction.

All these operations can be performed within a single transaction, significantly simplifying the process for the user.