Euclidprotocol

Euclidprotocol virtual pools

Euclid Protocol uses virtual pools in its Virtual Settlement Layer (VSL) to tally token-pair liquidity across integrated chains. Applications can query pair details, reserves, liquidity status, pending swaps, and pending liquidity additions. Separate contract permissions govern changes to voucher balances (virtual asset balances recorded on the VSL) and the release of underlying assets from native-chain escrows.

· updated

Reading a pair's liquidity

Token-pair details
Identify the two assets whose liquidity the virtual pool accounts for.
Liquidity status and current reserves
Report the pair's overall liquidity status and each token's current reserve total across integrated chains.
Pending swaps and liquidity additions
Expose operations tracked as pending alongside the pool's reserve information.

A pending record alone does not establish a completed change to reserves.

The underlying assets remain in escrows on individual chains. An aggregate reserve total therefore does not, by itself, establish how much of a token is held in the escrow on a particular destination chain. In the CosmWasm escrow interface, the State query reports the token and total amount stored in that escrow.

Permissions for changing liquidity

For a liquidity addition, a Virtual Liquidity Pool (VLP) contract spends a user's voucher balances through approvals. Swaps and liquidity removals use voucher transfers for their internal movement of value. These operations update virtual accounting without requiring the underlying assets to move across chains at every routing hop.

Only the router can mint or burn voucher balances. Reading virtual-pool information does not itself grant spending approval or router authority, so an application displaying a pool's reserves has a different responsibility from a contract changing balances.

Graphic: Permissions for changing liquidity (Euclidprotocol virtual pools)
Visual summary: Permissions for changing liquidity.

View full-size image

Native-chain smart contracts handle pool creation and communicate with the VSL through the Euclid Messaging Protocol (EMP). EMP carries Euclid messages between the VSL and integrated chains. The VSL consolidates virtual pools and performs swap calculations; the native-chain contracts handle the corresponding actions in their own environments.


Pool state and destination-chain delivery

For a successful swap whose output is requested as underlying assets, the computation result passes through the router to the receiving chain's factory. That factory triggers the escrow to release funds to the specified destination address. A pool query provides accounting information; a reserve value or pending-swap entry alone does not establish that the destination-chain release has completed.

An application can monitor voucher activity through on-chain events and balance queries. In the documented factory swap flow, an error acknowledgement leads to a refund and reversal of state changes. Users cannot execute messages directly on the CosmWasm escrow. Neither a pooled reserve total nor a pending record establishes an individual transfer's completion time.

Visual summary: Euclidprotocol virtual pools - Pool state and destination-chain delivery

View full-size image

Interpreting a pending liquidity addition

A pending addition can support a projection of reserves after completion while the reported current reserves remain a separate observation.

Diagram: Interpreting a pending liquidity addition (Euclidprotocol virtual pools)
Diagram: Interpreting a pending liquidity addition.

View full-size image

All amounts and operation states in this example are hypothetical. A token-pair pool reports current reserves of 293 units of token X and 586 units of token Y. A pending liquidity addition would credit another 43 X and 86 Y to those reserves if completed. Assume neither credit is included in the reported current figures.

If the addition completes with those reserve credits and no other reserve changes occur, the projected totals are 293 + 43 = 336 units of X and 586 + 86 = 672 units of Y. Changing either credited amount changes that token's projected total by the same amount.

An application can display 336 X and 672 Y as conditional projected reserves while retaining 293 X and 586 Y as the current values reported by the query.