Escrow
The Harbor system is centered around an escrow contract which holds collateral (liquid tokens and bonds) for a single underlying ERC20 asset (hereafter called the Token).
When the escrow contract receives a collateral asset, it issues Harbor tokens (hToken) representing the value of the collateral at a 1:1 ratio. Harbor tokens use the same ticker as the underlying asset, with the prefix h (e.g. UNI -> hUNI).
-
Users can wrap liquid tokens into the escrow contract to receive
hTokens, and unwraphTokensforTokensat any time. -
Harbor markets can receive NFT bonds, backed by a whitelisted issuer, in which case the escrow contract will issue a number of
hTokensequal to the minimum guaranteed redemption value (face value) of the bond. -
hTokensare used to purchase immature bonds from the market.
Uniswap Pool
Each escrow contract is paired with a Uniswap V4 pool, which allows users to swap hTokens for Tokens. The pool is connected to the escrow contract using Uniswap V4 Hooks.
The pool is intended to always trend towards a 1:1 price ratio, which is maintained by market arbitrage forces:
-
If the price of the pool becomes unbalanced with insufficient
Tokens, the escrow contract can use any liquidTokensit holds to buy backhTokensfrom the pool. -
If the price of the pool becomes unbalanced with insufficient
hTokens, any user can depositTokensinto the escrow contract to receivehTokens, which they can then sell into the pool to take advantage of the arbitrage opportunity.
Adding Liquidity
If a user holds Tokens and would like to add liquidity to the pool (assuming the price is currenlty at 1:1), they can deposit half of their tokens into the escrow contract to receive hTokens, and then add both Tokens and hTokens to the pool.
Tokens:
