Meme Tokens Surge on Solana Blockchain Despite Market Volatility

Generated by AI AgentCoin World
Tuesday, Jul 15, 2025 8:22 am ET3min read

In the current market cycle, meme tokens have taken the lead, with public figures, including presidents and leaders of major countries, entering the scene. The project pump.fun was launched on the

blockchain in January 2024, allowing users to create tokens quickly and cheaply. However, most meme tokens experience rapid growth followed by even faster declines, sometimes ending with a simple rug pull.

When transferring liquidity from the launchpad to a decentralized exchange (DEX), and as the community grows, the price development should generally follow a predictable pattern. However, in reality, the market operates on a zero-sum game principle, and the use of liquidity pools on DEXs and the ability to sell without a matching counter-order distorts the balance between supply and demand.

Ideas on how to improve this situation came from analyzing algorithmic stablecoins, particularly Terra Luna. In the case of UST’s price falling below $1, the Debase algorithm was triggered, allowing traders to exchange 1 UST for 1 LUNA. During this process, UST was burned while new LUNA was minted. Conversely, when UST’s price rose above $1, the Rebase algorithm activated, where LUNA was burned and new UST was minted. However, the entire ecosystem faced the so-called "death spiral," rooted in the endogenous (on-chain) nature of its collateral. Despite differences in algorithms, projects like Basis Cash and Empty Set Dollar repeated the same mistake — relying on internal collateral led them to similar issues and eventual collapse.

In contrast, the example of DAI shows that exogenous (off-chain) collateral can also be vulnerable: when ETH crashed by nearly 50% in a single day, the system was put at risk. Yet, it was precisely the use of external collateral that made it possible to stabilize the situation afterward — through emergency issuance of the MKR token and intervention by the community.

After comparing the two types of collateral, it was concluded that in order to support the price, it is necessary to create a separate pool with short liquidity, independent from the long pool. This could work as follows: along with transferring liquidity to the DEX, liquidity is also added to the protocol specifically for opening short positions. From there, several scenarios are possible: both pools grow, indicating someone is opening a short position, which increases market transparency. If demand exceeds supply, it’s a natural market situation. Similarly, when supply exceeds demand, it’s also part of normal market dynamics. In the case of a sharp change in the long pool, a rebalancing algorithm can be activated, returning the price to equilibrium through the participation of the short pool, without an seller.

For the rebalancing algorithm to function, the following are required: defining what percentage of price change over a given time period will be considered an “abnormal” market fluctuation, setting up continuous price monitoring, and when the specified conditions are met, executing rebalancing, limiting its size to a single cycle up to a certain percentage in order to protect the system from manipulation.

In this article, one of the key components of this mechanism — creating a short liquidity pool for EVM-compatible blockchains using Solidity — is explored. The protocol will handle user funds, importing OpenZeppelin’s Ownable and ReentrancyGuard contracts, as well as a contract for fetching asset prices from

. For simplicity, WBTC and WETH tokens on the Mainnet will be used, though ideally, the list of available tokens should be defined when deploying the smart contract. To make the contract more extensible, a mapping for supported tokens will be added, where the key is the token’s address and the value is the address of the corresponding Chainlink price feed contract. A utility function for adding values to the mapping will also be implemented, enhancing security by preventing updating the contract address for a token that has already been added.

To store positions, a mapping will be used where the key is the user’s address, and the value is an array of structs containing the token address, opening and closing prices, position size, and current status (open, closed, or liquidated). In this protocol, prices will be denominated in USD, so an internal function for value normalization will be needed. To obtain the opening price in USD, the oracle will be queried for the current ETH price and the token price, normalize both values, and then calculate the position size. If all checks pass, the position will be added to the mapping and an event will be emitted using emit.

To unify the logic for closing and liquidating positions, a modifier will be created that checks the current status of the position. A helper function will also be created to calculate the withdrawal amount and the closing price. When closing a position, there are two possible scenarios: if the user is eligible to receive funds back, the closing price will be set and funds will be withdrawn to the user. If the position must be liquidated, the position will be marked as liquidated without transferring funds. As a placeholder for the closing price in case of liquidation, the maximum uint256 value can be used. This implementation is simplified, so it would be better to add automation using Chainlink or Gelato for periodic price checks and automatic liquidation when necessary. To support this, the liquidation function should accept the user’s address as a parameter to specify which position needs to be liquidated.

In conclusion, a hypothesis about a short liquidity pool has been shared, and a basic implementation in Solidity for the Ethereum blockchain has been proposed. If anyone finds this idea interesting, it would be glad to see it become part of a larger project. The full code is available on GitHub.