Sdy pools are a type of smart contract that implements the StableSwap invariant, allowing tokens to be traded among each other. Curve pools come in a variety of forms, including plain pools, lending pools and metapools.
Plain pools (Curve-style): These are the simplest form of Curve pool, which simply encapsulate the StableSwap invariant for two or more tokens. The source code for these pools is available on GitHub.
Lending pools: These are a more sophisticated form of Curve pool, in which the wrapped tokens are paired against underlying tokens, and the underlying token is lent out on some protocol. Liquidity providers of these pools receive interest generated on the wrapped tokens in addition to fees from token swaps in the pool.
Notional pooling: This is a technique used by decentralized companies to pool their subsidiaries’ credit and debit balances together without actually transferring any funds. This allows the company to avoid bank charges related to cash transfers, and to reinvest interest income from the pooled assets at the end of each month.
Defi Yield Protocol: This pool lets users stake DYP tokens in exchange for a fixed interest rate, enabling them to earn up to 50% APR with no impermanent loss. In addition, the staking pool also features an integrated reinvest function, automatically distributing DYP holders’ staked earnings back into the staking pool to compound their gains.
The amplification co-efficient (“A”) determines how tolerant a pool is to imbalanced token prices. A higher value means that the pool will be more likely to accept a trade when assets are in short supply, while a lower value indicates that the pool will be less tolerant of a trade when there is an imbalance of tokens.
Amplification pooling is a great option for decentralized companies, since it avoids the use of cash transfers between accounts and does not require a long-term commitment from the parent company. However, amplification pooling does not offer as much liquidity as liquid pools and may not be suitable for all companies.
Pools that accept new pool and admin fees are capped at the constants MAX_FEE and MAX_ADMIN_FEE, respectively. These fees do not take effect immediately, but they can be applied to the pool after it has been committed by the owner. This method is callable only by the ownership admin and can not be performed before transfer_ownership_deadline, which is the timestamp of the current block delayed by admin_actions_delay.
In addition to the constants mentioned above, every pool has a private attribute N_COINS that is the number of LP tokens that are available for trading within the pool at any given time. This value is fetched from the underlying base pool using get_base_pool_virtual_price and can only be accessed if the pool’s virtual price has been cached for 10 minutes.
The amplification co-efficient is an important factor in the scalability of pools, as it enables a pool to scale up when necessary. Moreover, it ensures that liquidity providers receive a share of pool transaction fees proportional to the amount of tokens they provide. In turn, this enables them to earn a high yield for their tokens while at the same time providing liquidity to other users of the protocol.