# Upheaval

**What is Upheaval DEX?**

Upheaval DEX is a decentralized exchange built on HyperEVM, designed to become the launchpad, liquidity hub, and gateway for the Hyperliquid ecosystem. More than just a trading venue, Upheaval combines token launches, deep liquidity, and fiat on-ramps into one platform, making it the core growth engine for HyperEVM.

***

### Core Functions

**Token Jumppad (coming soon)**

Projects launching through Upheaval use a bonding-curve model that guarantees fairness and transparency. Liquidity raised during the launch is automatically seeded into the DEX, ensuring active markets from day one and protecting participants from thin liquidity.

**Liquidity Hub**

Upheaval acts as a central liquidity layer for HyperEVM assets. It aggregates orders and routes trades to provide users with the highest possible output while reinforcing market depth across the ecosystem.

\
**Points & Rewards**

All activity on Upheaval — whether trading, providing liquidity, or holding tokens — earns Upheaval Points. These points convert into $UPHL at the end of each season, the governance and utility token of the protocol. This system ensures that the most aligned and active users are the ones most rewarded.\
\
**Aggregator**\
\
Cross-Chain Market Swap, Upheaval Aggregator finds the best execution price across our pools and major liquidity sources across HyperEVM. Swap from any chain including BNB chain, Solana and more. Trade anywhere, anytime. Fully optimized.<br>

**$UPHL Token**

The native token of Upheaval powers governance and ecosystem incentives. Holders benefit from staking, decision-making, and alignment with the protocol’s long-term growth.\
\
**$PUP Token**\
\
The meme and community token launched by Upheaval. 0 team allocation, 0 funds raised, 0 insiders.

**Multichain Swap**

Upheaval is building a seamless cross-chain swap feature that connects HyperEVM to other ecosystems. This unlocks true interoperability, allowing users to move assets in and out of HyperEVM with ease while giving Hyperliquid-native projects exposure to broader liquidity.

\
**Fiat-to-Crypto Gateway**

One of the most important upgrades coming to Upheaval is the ability to purchase HyperEVM assets directly with fiat currency. Instead of requiring third-party exchanges or complicated bridges, new users will be able to enter the ecosystem with a credit card or bank transfer, dramatically lowering the barrier to entry for retail and institutional participants.

***

### Why Upheaval Matters

**User-Aligned**

A share of protocol fees flows into the Upheaval Assistance Fund (UAF), designed to support HyperEVM projects, bootstrap liquidity, and strengthen the ecosystem.<br>

**High-Yield Liquidity Pools**

Liquidity providers on Upheaval often enjoy some of the highest APR pools across HyperEVM. These incentives both reward contributors and create a stronger foundation for sustainable trading.

***

### Summary

Upheaval DEX is more than just a place to trade. It is the onboarding gateway, launchpad, and liquidity backbone of HyperEVM, combining native token growth, cross-chain access, and fiat entry points into a single ecosystem.

As Hyperliquid continues to expand, Upheaval is positioned to play a critical role in making HyperEVM accessible to millions of new users — from crypto-native traders to those entering the space for the very first time.<br>


# Season 2 Points

### **S2 Points Allocation (Daily Fixed Supply of 5,000,000)** <a href="#id-700b" id="id-700b"></a>

Total Upheaval points allocated daily: 5,000,000

35%: Allocate to LP fees generated by LP contributors on HyperEVM Upheaval dex. Eg, if total fees earned is $1,000 today and you earned $100 in fees, you get 10% of the points in this pool.

35%: Allocate to swappers based on fees paid. If you paid $100 in fees, the total fees paid on our protocol is $1,000, you get to earn 10% of the points in this pool. This applies to tradings paid on Hypercore for $PUP and $UPHL ticker when trading via Based Terminal (our partner).

20%: PUP & UPHL spot token holders across both HyperCore and HyperEVM. Locked UPHL is included in this pool too. This excludes PUP & UPHL LPs.

10%: Based on your TVL contribution proportionate to the total TVL which are in range. All LPs in all tiers and all pairs qualify (includes PUP & UPHLP LPs), regardless of fees generated.

<figure><img src="/files/4FX4ovAi7w0g9FO8a9ay" alt=""><figcaption></figcaption></figure>


# Liquidity

Add liquidity and earn yields when users trade - <https://upheaval.fi/liquidity><br>

<figure><img src="/files/a2S4Ne8lBt1OhHvilKeo" alt=""><figcaption></figcaption></figure>

Upheaval v3 Liquidity Providers form positions by depositing token pairs into a specific, narrow price range rather than across the entire price spectrum. This concentrated liquidity allows LPs to use their capital more efficiently, earning higher fees for trades that occur within their chosen range. When the market price moves outside of the LP’s set range, their liquidity becomes inactive and earns no fees until the price moves back into that range.

Step-by-Step Breakdown of How It Works:

1. Select a Token Pair

   The LP chooses a pair of HyperEVM tokens they want to provide liquidity for, like HYPE/USDT0.
2. Choose a Price Range

   Upheaval v3 allows LPs to specify a very narrow price range.
3. Deposit Tokens

   The LP deposits the two tokens into the pool within that selected price range.
4. Earn Fees

   When a trader makes a swap within the price range of the LP’s position, the LP earns a share of the trading fees. The more liquid the pool is at a given price, the more efficient it is for traders, leading to deeper liquidity.
5. Monitor and Adjust

   The LP’s position remains active and earning fees only as long as the market price of the tokens stays within their chosen range.

   * If the price moves outside the range: The LP’s liquidity becomes “out of the market” and no longer earns fees.
   * If the price moves back into the range: The LP’s liquidity becomes active again, and they can start earning fees.

***

<figure><img src="/files/6FF13Fvy0k5stXQLiAvI" alt=""><figcaption></figcaption></figure>

#### Key Concepts

* Concentrated Liquidity

  The core feature of v3, allowing LPs to focus their capital into a smaller price range for more efficient capital use.
* Price Ranges

  LPs define specific minimum and maximum prices (ticks) within which their liquidity will be active.
* Fee Tiers

  LPs can choose from different fee tiers for a given pool, such as 0.25%, 1.00% etc, to match the expected volatility of the token pair.
* Capital Efficiency

  LPs can achieve higher returns with less capital compared to v2, but this comes with the increased risk of their position being inactive if the price moves out of range.

***

**Providing liquidity is not without risk, as you may be exposed to impermanent loss.**

Impermanent loss (IL) happens when you provide liquidity to a decentralized exchange (DEX) and the price of the tokens you deposited changes compared to when you first added them.

Because liquidity pools use automated market maker (AMM) formulas (like constant product: *x·y = k*), your tokens are constantly rebalanced as traders swap in and out. This means you might end up with more of the token that went down in value and less of the one that went up.

If you had just held the tokens in your wallet (“HODL”), your portfolio might be worth more than what you can withdraw from the pool. The difference between these two values is the impermanent loss.

It’s called “impermanent” because:

* If the token prices return to the same ratio as when you deposited, the loss disappears.
* But if you withdraw while prices are still diverged, the loss becomes realized.

Liquidity providers are compensated with trading fees (and sometimes extra incentives), which can offset or even exceed impermanent loss.

Example (simplified):

* You provide HYPE and USDC at $10/HYPE.
* Later, HYPE goes to $100.
* The pool rebalances, so you end up holding less HYPE and more USDC.
* Compared to just holding HYPE+USDC, your LP position is worth less — that’s impermanent loss.


# Swap Aggregator

Aggregator: The Execution Layer\
\
The Upheaval Aggregator introduces a new era of cross-chain trading — giving you the freedom to swap assets seamlessly across multiple networks, all within the HyperEVM ecosystem.

<figure><img src="/files/3U5aK1nJZQxEtWcuF1Bu" alt=""><figcaption></figcaption></figure>

Powered by advanced routing and aggregation technology, the Upheaval Aggregator automatically scans liquidity across our own pools as well as major decentralized exchanges and liquidity sources on HyperEVM. It then finds the best possible execution price, ensuring every trade is efficient, cost-effective, and optimized in real time.

With Cross-Chain Market Swap, users can now:

* Trade from any chain — including BNB Chain, Solana, Ethereum, Arbitrum, and more.
* Bridge and swap in a single step, eliminating the need for manual cross-chain transfers.
* Access deeper liquidity and tighter spreads through aggregated routing.
* Save on gas and slippage, with smart execution paths powered by Li.Fi Protocol.

No more juggling between wallets, networks, or bridges.

Just one seamless experience — trade anywhere, anytime, fully optimized.

The Upheaval Aggregator makes multi-chain trading as easy and efficient as trading on a single chain — giving you the best prices, lowest friction, and ultimate convenience across the entire HyperEVM ecosystem.\
\
By aggregating all pools and venues, every swap routes through Upheaval by default. Protocol fees scale in direct proportion to Hyperliquid’s growth. Projects do not need to attract users one by one. The aggregator automatically surfaces their pools and routes trades into them, guaranteeing usage for every token that launches.Traders get best execution and better fills than anywhere else, keeping capital sticky within the ecosystem. As Hyperliquid expands, the aggregator can extend into other venues, ensuring Upheaval sits at the center of liquidity flow\.All these fees will eventually go back to our protocol token holders, aka [$UPHL](https://x.com/search?q=%24UPHL\&src=cashtag_click)holders.


# Limit Order / TWAP

<figure><img src="/files/g8bQkT0SXNhXPeuPdk0z" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/zS3OUOT0YZpUnMDm4CwR" alt=""><figcaption></figcaption></figure>

#### Smart Trading Tools

Take control of your trading strategy with Smart Trading Tools — designed to bring precision, automation, and efficiency to your trades on HyperEVM.

Our suite of Limit Orders and TWAP Orders, powered by HyperEVM smart contracts, allows you to execute strategies seamlessly without constant monitoring.

***

**Limit Orders**

Set your desired entry or exit price, and let the protocol execute automatically once the market reaches your target.

* No need to watch the charts 24/7 — your trade executes trustlessly on-chain.
* Helps you capture ideal price levels with zero manual intervention.
* Fully non-custodial — funds remain in your wallet until the trade is triggered

<https://upheaval.fi/swap#limit>\
<https://upheaval.fi/swap#twap>


# Fiat <> Crypto (coming soon)

Fiat On-Ramp: Capital Inflows Unlocked\
\
DeFi native liquidity is circular. The same money rotates across farms and tokens. To expand the system, new capital must come in from outside. That is what the Fiat On-Ramp delivers.\
Fiat inflows break the zero sum cycle and inject fresh money into Hyperliquid. A user can go from cash to stable to LP position in one click, massively lowering friction to provide liquidity.\
\
First time users can buy tokens or join JumpPad launches directly, without bridges or onboarding complexity. Fiat inflows feed directly into the AMM and governance flywheel, strengthening depth and value capture.\
\
Fiat rails transform Upheaval into the gateway for the next billion in liquidity.


# PUP NFT (coming soon)


# Jumppad (coming soon)

### 1. JumpPad: Permissionless Token Ignition

JumpPad is the front door to Hyperliquid’s token economy. It is where new assets are born and where liquidity flow begins. Hyperliquid’s first true launch ignition system ensures there is always something new to trade. Speculators get their action, builders get their launchpad, and communities get their rallying point.\
\
Each JumpPad launch comes with automatic liquidity routing directly into Upheaval’s pools, so trading begins instantly with real depth. Price discovery curves allow early buyers to set the tone, but instead of collapsing into illiquidity, tokens transition into AMM pools where they can mature into stable markets.Unlike meme-only launchpads, JumpPad tokens can immediately compete for emissions through veUPHL governance, giving even small communities a path to grow liquidity long term. Every launch, whether serious or playful feeds volume, fees, and demand for UPHL.<br>

<figure><img src="/files/lcvOUMDMqs2LJW0M5SiY" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ZJbYSfF4lLrM126A9Nmn" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/zPt70sIARJnwR1Yp1kwF" alt=""><figcaption></figcaption></figure>


# veUP Governance (coming soon)

veUP Governance: The Bribe Flywheel (Coming soon)


# Portfolio


# Bridge

<figure><img src="/files/tflQb0KtFIvmtmmo4Gqw" alt=""><figcaption></figcaption></figure>

<https://upheaval.fi/bridge> - bridge between Spot on Hyperliquid and HyperEVM.\ <br>


# Analytics

<figure><img src="/files/48SEYv2b4WiHUkNKpk2k" alt=""><figcaption></figcaption></figure>

#### Analytics Dashboard

The [Analytics page](https://upheaval.fi/analytics) provides a clear overview of Upheaval’s performance and key protocol metrics. It allows the community to track the impact of airdrops, trading activity, and protocol growth in real time.

* Airdrop Tracking: Visualizes how tokens from past distributions have been claimed, locked, withdrawn, or burned, giving transparency into circulating supply and user participation.
* Trading Volume: Highlights overall market activity and adoption of the exchange.
* Fee Generation: Displays the cumulative fees earned across all trades, offering insight into liquidity provider rewards and ecosystem health.
* Protocol Revenue: Breaks down protocol-level fees, reflecting sustainable growth and the resources available to support future development.

By consolidating these insights into one dashboard, users can understand how Upheaval is evolving, how value flows through the system, and how their participation contributes to the broader ecosystem.


# UIP

### The Upheaval-Improvement-Proposals (UIPs)

Upheaval is built as a protocol to be upgraded over time. As of project launch, we have **2 confirmed UIPs** which will serve as the core tenets of the project. The goal of the first 2 UIPs are to solve:

1\. Token demand, supply, graduation and price discovery issues.

2\. Liquidity flywheel to guarantee thick token liquidity on Hyperliquid.

**UIP-1:** This consists of a Bonding curve token launchpad with an in-built 3 step graduation program for tokens launched on Hyperliquid. The aim is to solve token listing issues on Hypercore to ensure that tokens go through a transparent graduation programme for Hypercore listings. This uniquely solves for insider trading problem, and allows for only quality listings on Hyperliquid hypercore.

**UIP-2:** This is a liquidity improvement proposal aimed at ensuring tokens that hit graduation requirements receive liquidity support through Upheaval’s spot market-making algorithms on Hypercore. All protocol fees earned on Upheaval goes towards ensuring tokens that hit graduation requirements will receive UIP-2 support.

*Learn more about the UIPs below.*

### UIP-1: Bonding curve launch <a href="#id-7230" id="id-7230"></a>

In today’s token economy, token holders crave volatility at every touchpoint of a token’s launch. Token launch platforms such as Pump.fun have uniquely catered to this via a bonding curve style launch — to huge success. Part of our design is inspired and improved based on that. We employ the use of a unique bonding curve math to ensure users get the early stage project volatility that they are used to today. As Upheaval grows, our implementation allows us to perform tweaks to the bonding curve at each juncture to optimise for the best trading experience. The aim of the bonding curve implementation is mainly to keep up with the existing times of matching product to user expectations of today.

### UIP-1: The 3 step graduation programme <a href="#id-423d" id="id-423d"></a>

In the next bits, the 3-step graduation programme is arguably the most important piece for which we can uniquely solve insider issues, while ensuring proper token flywheels for each of the projects launched via Upheaval.

Firstly, tokens that hit a minimum 70k USD market cap get to graduate from the bonding curve and onto the Upheaval DEX that employs XYK curve pricing mechanisms. This allows for a constant product price discovery mechanism after a token has gained the initial traction on the Upheaval bonding curve product. The users who participated in the original bonding curve are the liquidity providers to ensure the first proper listing on Upheaval.

Secondly, once tokens hit a 75mil market cap target, the Upheaval protocol will automatically acquire a **spot-listing on Hyperliquid’s Central-Limit-Order-Book (*****CLOB*****)**. This creates a situation where CLOB traders on Hyperliquid gain access to the token and are able to provide liquidity/or spot buy the token in a familiar CEX-like environment.

In this manner, we rapidly increase the distribution of the project’s tokens to future willing holders of the project in a trustless manner. There is no need to have opaque requirements from listing managers on current CEX exchanges where listings happen only after supply has been cornered — which essentially is a result of capitulation from early token holders. Also, this runs in converse to how most tokens are currently immediately listed on Perpetual markets on Binance/Bybit (before the spot market). We have all observed how this has been catasrophic for project tokens as Perpetual markets tend to create infinite supply upon willing token holders. The net result is a spiral of capitulation as everyone exits during a perpetual listing event. Many great projects have been destroyed as a result of this. By bringing back the trusted and true method of creating a healthy spot environment for newly launched tokens, we aim to build the wealth effect for each and every single project that is launched via our protocol. This will be a true net win against current shady practices.

Thirdly, once tokens hit a healthier market cap range of 250m market cap, the Upheaval protocol will activate HIP-3 to acquire a perpetual listing on Hyperliquid’s perpetual markets. Only when a token has proper spot distribution and strong market cap, does it make sense for there to be a perpetual listing to enhance the available liquidity for the token. Tokens that are able to get to this stage tend to stay strong. This allows Upheaval to build a strong flywheel for token projects where each token that hit requirements get a much needed boost at each juncture. Most importantly, everything is built to be trustless and is fully meritocratic. No longer do we need to have project founders chummy-ing up with listing managers, or having to pay huge token allocations to CEX-es for listing.

### UIP-2: Protocol-owned-liquidity for Spot tokens <a href="#c0c8" id="c0c8"></a>

When tokens graduate from Upheaval AMM, they will be launched on Hypercore spot CLOB books where there tends to be marginal liquidity. UIP-2 is a market-making proposal where protocol fees accrued under Upheaval’s DEX is used to market-make for the graduated spot tokens. This ensures tokens have ample liquidity to price discover on Hyperliquid’s spot books. More importantly, Upheaval has a third step graduation for tokens to be listed on HIP-3. UIP-2 also covers market-making on Hyperliquid’s HIP-3 perpetual DEX.\
\
**UIP-3**

One of the most powerful parts of Upheaval is the graduation pathway between HyperEVM and HyperCore. New tokens can launch in the more experimental environment of HyperEVM, build liquidity and community through JumpPad and the Liquidity Hub, and then graduate onto HyperCore once they reach scale. This ensures HyperEVM remains the arena for innovation and rapid iteration, while HyperCore houses the projects that have proven depth, volume, and staying power. The graduation flow creates a natural lifecycle for tokens, turning speculation into sustainable markets across the entire Hyperliquid stack.This ties directly into UIP-3, the next major governance proposal. The upcoming vote on UIP-3 is not just procedural, it is the trigger that moves us from design to delivery. Once UIP-3 passes, implementation begins, unlocking the mechanisms that cement this graduation system and align emissions, incentives, and routing logic across both HyperEVM and HyperCore. UIP-3 will be the policy backbone that formalizes Upheaval’s vision into reality.


# UAF (Upheaval Assistance Fund)

**Upheaval Assistance Fund & UIP-3**

The role of $PUP and $UPHL tokens will be revealed in due time for UIP-3. The goal is to accelerate the rate of revenue growth while giving back 90% to token holders by use of the UAF. At the same time, UAF will be utilised extensively within UIP-3 to accelerate the growth of the ecosystem, representing a powerful virtuous cycle that perpetuates.\
\
95% of trading fees have been used to accumulate $PUP tokens as our means of supporting $PUP token holders. A total of 2.3mil $PUP tokens has been accumulated over 7 days (dated 21st september), which represents 0.32% of token supply (At current prices about 500,000 PUP tokens are acquired daily). \
\
Current top holder accounts for 2.61% of token supply. This is a commitment that 90% of all trading fees generated on $PUP trading will be used to acquire $PUP tokens for the UAF. As trading volume increases over the weeks, we anticipate this $PUP acquisition to ramp up, which acts as a rising price floor for the $PUP token. \
\
As a data point, Upheaval Hypercore has generated over $200,000 in fees in the past 7 days. We expect $UPHL listing next week on Hypecore to also help accumuate even more fees on the protocol. We are more than just a Dex on HyperEVM.


# Contracts

| Contract Name                      | Address                                    |
| ---------------------------------- | ------------------------------------------ |
| MasterChefV3                       | 0xbA9a848Fe634337292F93D2f4bc96a94e1c60E01 |
| SmartRouter                        | 0xD4AD13fd4F42D3f2e0945fAa7A18dd043b3f9Fb0 |
| SmartRouterHelper                  | 0x4b748E8fad0Ab2a9592e8d15dd024B8C3fAa4F00 |
| MixedRouteQuoterV1                 | 0xaF7FD5BB87E52B4631232b3460fC1F032202Cb59 |
| QuoterV2                           | 0xcfD659E7b46211D250b1c9D5Cffb32b3B9eaCd3B |
| TokenValidator                     | 0xb6BFe8ee4DcD579E760439140aD05d20F5DCE552 |
| UpheavalV3Factory                  | 0x2566163ea012C9E67c1C7080e0a073f20B548030 |
| UpheavalV3PoolDeployer             | 0xDcF0ba9A0AE5B7574849152546f961f5ef0EEeD6 |
| SwapRouter                         | 0xf49A33dF1Bb5DA03B85396a768666523c1b7Eb9e |
| V3Migrator                         | 0x30816D58BD24e7Abd7022d9C7CB996F20F15C4fB |
| TickLens                           | 0xe936e56090e491e94C299159e6EF947bF8A99d96 |
| NonfungibleTokenPositionDescriptor | 0x4f97be2f529d1947EB5595F3ECB64676E9937980 |
| NonfungiblePositionManager         | 0xC8352A2EbA29F4d9BD4221c07D3461BaCc779088 |
| UpheavalInterfaceMulticall         | 0x72de71d8f6ec47a9a0530B5282F342Bb9eaEf677 |
| UpheavalV3LmPoolDeployer           | 0x6E3C4DD13A506aAC276E531E9406c74ecf1067Ca |


# Security Audit

Upheaval AMM DEX code is a clean fork off PancakeSwap v3 code which is battle tested. Smart contract code on Upheaval is verified and fully open sourced. Link to [Relevant Audits](https://docs.pancakeswap.finance/welcome-to-pancakeswap/audits) on PCS.\
\
Our contracts are fully open sourced too and we are partnered with [BlockSec](https://blocksec.com/).\
\
Link to Upheaval audits: [here](https://github.com/blocksecteam/audit-reports/blob/main/solidity/blocksec_upheaval_v1.0-signed.pdf)

<figure><img src="/files/97AliF7jvLmBhsMy468F" alt=""><figcaption></figcaption></figure>


# Fees

In our V3 dex, liquidity is represented by non-fungible positions. As a liquidity provider, you continue to earn a share of trading fees.

When you supply tokens to a liquidity pool, you’ll receive Liquidity Provider NFTs that represent your position and entitle you to a portion of the fees.\
\
In V3, liquidity providers can decide the exact price range where they want to deploy liquidity. Each time you add tokens to a pool, a new non-fungible liquidity position is created with its own custom parameters.

These liquidity positions are represented as NFTs. They are transferable and reflect ownership of both the deposited assets and the trading fees they generate.\
\
Trading fees in V3 are not automatically reinvested into your position. Instead, you can manually claim them from the position’s detail page.\
\
You can also withdraw your funds at any time by removing your liquidity.\
\
**Active Liquidity and Price Ranges**

In V3, liquidity providers can set their positions to supply liquidity only within a chosen price range. If the market price moves outside that range, the position converts entirely into one of the two tokens and becomes inactive.

When a position is inactive, it no longer contributes liquidity to the pool and does not earn trading fees.

***

Similar to Pancakeswap, our fees structure are the same\
\
Whenever someone trades on Upheaval, for each hop (swap) in each Exchange V3 liquidity pool, depending on the liquidity pool fee tier, the trader pays a fee ranging from 0.01% to 1%. Their fee rates and fee breakdowns are shown as follows:\
\
**Fee Component**\
67% - LP providers\
33% - Treasury<br>

For example, in a 0.25% fee tier pool:

* Among all the active (in-range) liquidity positions, there are a total of 10 HYPE and 10 PUP tokens.
* Someone trades 1 HYPE for 1 PUP.
* Someone else trades 1 PUP for 1 HYPE.
* The liquidity providers who are in the range providing active liquidity earned a total of 0.0017 HYPE and 0.0017 PUP from the trades.
* Positions with price ranges that are not covering the current price, therefore being inactive, will not contribute to trading or earn any fees.


# Brand Asset

{% file src="/files/B4ohPJ4kVWMIfXonriIS" %}


# API implementation

This script queries the Upheaval Finance DEX subgraph to fetch detailed position data for a given pool. It retrieves pool information, active positions, and position snapshots from the last 7 days, then organizes and displays the results with per-user breakdowns and summary statistics.

<https://raw.githubusercontent.com/upheaval-defi/khype/refs/heads/main/fetch-pairs-positions.js>

```
/**
 * thBILL Pool Position Snapshots Fetcher
 * =======================================
 * 
 * This script fetches and displays current position snapshots for any pool
 * from the Upheaval Finance DEX subgraph.
 * 
 * WHAT IT DOES:
 * -------------
 * 1. Fetches all current positions for the thBILL pool
 * 2. Gets position snapshots from the last 7 days
 * 3. Shows detailed position data including liquidity, deposits, withdrawals, and fees
 * 4. Groups and displays data by position and user
 * 5. Provides summary statistics
 * 
 * 
 * OUTPUT FORMAT:
 * --------------
 * The script prints organized data showing:
 * - Pool information (tokens, addresses)
 * - Current positions with their owners
 * - Position snapshots with detailed metrics
 * - Summary statistics
 * 
 * USAGE:
 * ------
 * Run directly: `node fetch-pair-positions.js`
 * 
 * @date 2025-09-11
 */

const POOL_ID = '<YOUR_POOL_ID>';
const SUBGRAPH_URL = 'https://api.upheaval.fi/subgraphs/name/upheaval/exchange-v3';

// Get timestamp for 7 days ago
function getSevenDaysAgo() {
  const sevenDaysAgo = new Date();
  sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7);
  return Math.floor(sevenDaysAgo.getTime() / 1000);
}

// GraphQL query to fetch pool information
const POOL_INFO_QUERY = `
  query GetPoolInfo($poolId: String!) {
    pool(id: $poolId) {
      id
      token0 {
        id
        name
        symbol
        decimals
      }
      token1 {
        id
        name
        symbol
        decimals
      }
      feeTier
      liquidity
      sqrtPrice
      tick
      observationIndex
      volumeUSD
      txCount
      totalValueLockedUSD
    }
  }
`;

// GraphQL query to fetch current positions for the pool
const CURRENT_POSITIONS_QUERY = `
  query GetCurrentPositions($poolId: String!) {
    positions(
      where: {
        pool: $poolId,
        liquidity_gt: "0"
      }
      orderBy: liquidity
      orderDirection: desc
      first: 1000
    ) {
      id
      owner
      liquidity
      depositedToken0
      depositedToken1
      withdrawnToken0
      withdrawnToken1
      collectedFeesToken0
      collectedFeesToken1
      tickLower {
        tickIdx
      }
      tickUpper {
        tickIdx
      }
      pool {
        id
        token0 {
          id
          name
          symbol
        }
        token1 {
          id
          name
          symbol
        }
      }
    }
  }
`;

// GraphQL query to fetch position snapshots for the pool
const POSITION_SNAPSHOTS_QUERY = `
  query GetPositionSnapshots($poolId: String!, $timestamp: BigInt!) {
    positionSnapshots(
      where: {
        pool: $poolId,
        timestamp_gte: $timestamp
      }
      orderBy: timestamp
      orderDirection: desc
      first: 1000
    ) {
      id
      owner
      pool {
        id
        token0 {
          id
          name
          symbol
        }
        token1 {
          id
          name
          symbol
        }
      }
      position {
        id
        tickLower {
          tickIdx
        }
        tickUpper {
          tickIdx
        }
      }
      blockNumber
      timestamp
      liquidity
      depositedToken0
      depositedToken1
      withdrawnToken0
      withdrawnToken1
      collectedFeesToken0
      collectedFeesToken1
      transaction {
        id
      }
    }
  }
`;

async function fetchPoolInfo() {
  try {
    console.log(`Fetching pool information for ${POOL_ID}...`);
    
    const response = await fetch(SUBGRAPH_URL, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/graphql-response+json, application/json',
      },
      body: JSON.stringify({
        query: POOL_INFO_QUERY,
        variables: {
          poolId: POOL_ID
        }
      })
    });

    const data = await response.json();
    
    if (data.errors) {
      throw new Error('GraphQL errors: ' + JSON.stringify(data.errors));
    }

    if (!data.data.pool) {
      throw new Error(`Pool ${POOL_ID} not found`);
    }

    return data.data.pool;

  } catch (error) {
    console.error('Error fetching pool info:', error);
    throw error;
  }
}

async function fetchCurrentPositions() {
  try {
    console.log(`Fetching current positions for pool ${POOL_ID}...`);
    
    const response = await fetch(SUBGRAPH_URL, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/graphql-response+json, application/json',
      },
      body: JSON.stringify({
        query: CURRENT_POSITIONS_QUERY,
        variables: {
          poolId: POOL_ID
        }
      })
    });

    const data = await response.json();
    
    if (data.errors) {
      throw new Error('GraphQL errors: ' + JSON.stringify(data.errors));
    }

    console.log(`Found ${data.data.positions.length} current positions with liquidity > 0`);
    return data.data.positions;

  } catch (error) {
    console.error('Error fetching current positions:', error);
    throw error;
  }
}

async function fetchPositionSnapshots() {
  try {
    const sevenDaysAgoTimestamp = getSevenDaysAgo();
    
    console.log(`Fetching position snapshots for pool ${POOL_ID}...`);
    console.log(`Time range: Last 7 days (since ${new Date(sevenDaysAgoTimestamp * 1000).toISOString()})`);
    
    const response = await fetch(SUBGRAPH_URL, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/graphql-response+json, application/json',
      },
      body: JSON.stringify({
        query: POSITION_SNAPSHOTS_QUERY,
        variables: {
          poolId: POOL_ID,
          timestamp: sevenDaysAgoTimestamp.toString()
        }
      })
    });

    const data = await response.json();
    
    if (data.errors) {
      throw new Error('GraphQL errors: ' + JSON.stringify(data.errors));
    }

    console.log(`Found ${data.data.positionSnapshots.length} position snapshots`);
    return data.data.positionSnapshots;

  } catch (error) {
    console.error('Error fetching position snapshots:', error);
    throw error;
  }
}

function formatTokenAmount(amount) {
  if (!amount || amount === '0') return '0';
  const numAmount = parseFloat(amount);
  if (numAmount === 0) return '0';
  
  if (numAmount >= 1) {
    return numAmount.toFixed(6);
  } else {
    return numAmount.toFixed(12);
  }
}

function displayPoolInfo(pool) {
  console.log('\n=== POOL INFORMATION ===');
  console.log(`Pool ID: ${pool.id}`);
  console.log(`Token0: ${pool.token0.name} (${pool.token0.symbol}) - ${pool.token0.id}`);
  console.log(`Token1: ${pool.token1.name} (${pool.token1.symbol}) - ${pool.token1.id}`);
  console.log(`Fee Tier: ${pool.feeTier}`);
  console.log(`Current Liquidity: ${pool.liquidity}`);
  console.log(`Current Tick: ${pool.tick}`);
  console.log(`Total Value Locked USD: $${parseFloat(pool.totalValueLockedUSD || 0).toFixed(2)}`);
  console.log(`Volume USD: $${parseFloat(pool.volumeUSD || 0).toFixed(2)}`);
  console.log(`Transaction Count: ${pool.txCount}`);
}

function displayCurrentPositions(positions, pool) {
  console.log('\n=== CURRENT POSITIONS (Active Liquidity) ===');
  
  if (positions.length === 0) {
    console.log('No active positions found in this pool');
    return;
  }

  // Group positions by owner
  const positionsByOwner = {};
  positions.forEach(position => {
    const owner = position.owner;
    if (!positionsByOwner[owner]) {
      positionsByOwner[owner] = [];
    }
    positionsByOwner[owner].push(position);
  });

  Object.entries(positionsByOwner).forEach(([owner, userPositions]) => {
    console.log(`\n👤 Owner: ${owner} (${userPositions.length} positions)`);
    
    userPositions.forEach((position, index) => {
      console.log(`\n  📍 Position ${index + 1}:`);
      console.log(`     Position ID: ${position.id}`);
      console.log(`     Liquidity: ${position.liquidity}`);
      console.log(`     Tick Range: ${position.tickLower.tickIdx} to ${position.tickUpper.tickIdx}`);
      console.log(`     Deposited ${pool.token0.symbol}: ${formatTokenAmount(position.depositedToken0)}`);
      console.log(`     Deposited ${pool.token1.symbol}: ${formatTokenAmount(position.depositedToken1)}`);
      console.log(`     Withdrawn ${pool.token0.symbol}: ${formatTokenAmount(position.withdrawnToken0)}`);
      console.log(`     Withdrawn ${pool.token1.symbol}: ${formatTokenAmount(position.withdrawnToken1)}`);
      console.log(`     Collected Fees ${pool.token0.symbol}: ${formatTokenAmount(position.collectedFeesToken0)}`);
      console.log(`     Collected Fees ${pool.token1.symbol}: ${formatTokenAmount(position.collectedFeesToken1)}`);
    });
  });

  // Summary statistics
  const totalLiquidity = positions.reduce((sum, p) => sum + parseFloat(p.liquidity), 0);
  console.log(`\n📊 CURRENT POSITIONS SUMMARY:`);
  console.log(`   Total Active Positions: ${positions.length}`);
  console.log(`   Unique Owners: ${Object.keys(positionsByOwner).length}`);
  console.log(`   Total Liquidity: ${totalLiquidity.toFixed(0)}`);
  console.log(`   Average Liquidity per Position: ${(totalLiquidity / positions.length).toFixed(0)}`);
}

function displayPositionSnapshots(snapshots, pool) {
  console.log('\n=== POSITION SNAPSHOTS (Last 7 Days) ===');
  
  if (snapshots.length === 0) {
    console.log('No position snapshots found in the last 7 days');
    return;
  }

  // Group snapshots by position ID
  const snapshotsByPosition = {};
  snapshots.forEach(snapshot => {
    const positionId = snapshot.position?.id;
    if (positionId) {
      if (!snapshotsByPosition[positionId]) {
        snapshotsByPosition[positionId] = [];
      }
      snapshotsByPosition[positionId].push(snapshot);
    }
  });

  // Sort positions by activity level
  const sortedPositions = Object.entries(snapshotsByPosition)
    .sort(([, a], [, b]) => b.length - a.length);

  sortedPositions.forEach(([positionId, positionSnapshots]) => {
    const firstSnapshot = positionSnapshots[0];
    const owner = firstSnapshot.owner;
    
    console.log(`\n🎯 Position ID: ${positionId}`);
    console.log(`   Owner: ${owner}`);
    console.log(`   Snapshots: ${positionSnapshots.length}`);
    
    if (firstSnapshot.position?.tickLower && firstSnapshot.position?.tickUpper) {
      console.log(`   Tick Range: ${firstSnapshot.position.tickLower.tickIdx} to ${firstSnapshot.position.tickUpper.tickIdx}`);
    }

    // Show recent snapshots (max 3)
    const recentSnapshots = positionSnapshots.slice(0, 3);
    recentSnapshots.forEach((snapshot, index) => {
      const date = new Date(parseInt(snapshot.timestamp) * 1000);
      console.log(`\n   📸 Snapshot ${index + 1} - ${date.toISOString()}`);
      console.log(`      Block: ${snapshot.blockNumber}`);
      console.log(`      Liquidity: ${snapshot.liquidity}`);
      console.log(`      Deposited ${pool.token0.symbol}: ${formatTokenAmount(snapshot.depositedToken0)}`);
      console.log(`      Deposited ${pool.token1.symbol}: ${formatTokenAmount(snapshot.depositedToken1)}`);
      console.log(`      Withdrawn ${pool.token0.symbol}: ${formatTokenAmount(snapshot.withdrawnToken0)}`);
      console.log(`      Withdrawn ${pool.token1.symbol}: ${formatTokenAmount(snapshot.withdrawnToken1)}`);
      console.log(`      Fees ${pool.token0.symbol}: ${formatTokenAmount(snapshot.collectedFeesToken0)}`);
      console.log(`      Fees ${pool.token1.symbol}: ${formatTokenAmount(snapshot.collectedFeesToken1)}`);
    });

    if (positionSnapshots.length > 3) {
      console.log(`   ... and ${positionSnapshots.length - 3} more snapshots`);
    }
  });

  // Overall summary
  const uniqueOwners = new Set(snapshots.map(s => s.owner)).size;
  console.log(`\n📊 SNAPSHOTS SUMMARY:`);
  console.log(`   Total Snapshots: ${snapshots.length}`);
  console.log(`   Unique Positions: ${sortedPositions.length}`);
  console.log(`   Unique Owners: ${uniqueOwners}`);
  console.log(`   Most Active Position: ${sortedPositions[0]?.[0]} (${sortedPositions[0]?.[1].length} snapshots)`);
}

// Main execution
async function main() {
  try {
    console.log(`\n🔍 FETCHING DATA FOR POOL: ${POOL_ID}\n`);
    
    // Fetch all data
    const [poolInfo, currentPositions, positionSnapshots] = await Promise.all([
      fetchPoolInfo(),
      fetchCurrentPositions(),
      fetchPositionSnapshots()
    ]);
    
    // Display all information
    displayPoolInfo(poolInfo);
    displayCurrentPositions(currentPositions, poolInfo);
    displayPositionSnapshots(positionSnapshots, poolInfo);
    
    console.log('\n✅ Data fetch complete!\n');
    
    return {
      poolInfo,
      currentPositions,
      positionSnapshots
    };
    
  } catch (error) {
    console.error('Failed to fetch pool position data:', error);
  }
}

// Export functions for use in other modules
if (typeof module !== 'undefined' && module.exports) {
  module.exports = {
    fetchPoolInfo,
    fetchCurrentPositions,
    fetchPositionSnapshots,
    displayPoolInfo,
    displayCurrentPositions,
    displayPositionSnapshots,
    POOL_ID,
    SUBGRAPH_URL,
    main
  };
}

// Run if this file is executed directly
if (typeof require !== 'undefined' && require.main === module) {
  main();
}
```


# 21/09/2025 - Upheaval Season 2

<figure><img src="/files/Fd096rW2N4IIqVSnsKFP" alt=""><figcaption></figcaption></figure>

Dear Upheaval community,

2 days ago, Upheaval survived its first ever “JellyJelly” incident. Malicious rumours were spread to not only erode trust in our ability to deliver, but also to serve to actively undermine what we set out to do: To Upheave the norm, to create transparent processes for tokens, to remove backroom deals – community first. It really begs the question; what are they afraid of? That said, we simply soldier on. Today, we are back at above 90m TVL.

We have also just secured the $UPHL ticker which represents UPheaval on HyperLiquid.

Press enter or click to view image in full size

<figure><img src="https://miro.medium.com/v2/resize:fit:933/0*bS9eXdfE5v5dnMXj" alt="" height="454" width="700"><figcaption></figcaption></figure>

### Season 2 <a href="#id-8aa4" id="id-8aa4"></a>

Season 1 was all about rewarding early users who truly cared enough to read about our goals as a team and protocol; in short, onboarding. With Season 2, we’re entering Phase 2: sustainability and growth. This means points and future token allocations will now be issued only to users who contribute meaningfully to the health of the protocol.

### **S2 Points Allocation (Daily Fixed Supply of 5,000,000)** <a href="#id-700b" id="id-700b"></a>

Season 2 has started. Season 2 requirements for **the time being** will be similar to Season 1, including TVL in range, $PUP and $UPHL spot holdings on HyperEVM & HyperCore.

We will transit to this new system below over time, across few phases, letting our users ease into the new system which will deliver maximum efficiency for our protocol.

This will be the end game for Season 2 which will be implemented around early october which we will officially announce:

Total Upheaval points allocated daily: 5,000,000

35%: Allocate to LP fees generated by LP contributors on HyperEVM Upheaval dex. Eg, if total fees earned is $1,000 today and you earned $100 in fees, you get 10% of the points in this pool.

35%: Allocate to swappers based on fees paid. If you paid $100 in fees, the total fees paid on our protocol is $1,000, you get to earn 10% of the points in this pool. This applies to both trading done on HyperEVM Upheaval dex and trading done on HyperCore for $PUP and $UPHL ticker when trading via Based Terminal (our partner).

20%: Distributed to all PUP & UPHL spot token holders across both HyperCore and HyperEVM. Locked UPHL is included in this pool too using the boosted amount. This excludes PUP & UPHL LPs.

10%: Based on your TVL contribution proportionate to the total TVL which are in range. All LPs in all tiers and all pairs qualify (includes PUP & UPHLP LPs), regardless of fees generated.

#### Why the Change? <a href="#id-26f4" id="id-26f4"></a>

Season 1 was the foundation. Season 2 maximizes efficiency by rewarding only those strengthening the ecosystem. Our focus is now on sustainability, protocol revenue, and treasury accumulation. All this in preparation for UIP-3.

### UIP-3 <a href="#baca" id="baca"></a>

After $UPHL launchpad & airdrop, we will conduct the first ever governance proposal to vote into effect UIP-3. This is an improvement proposal built to accelerate protocol fundamentals. More information will be made on this shortly. In the mean-time, an Upheaval Assistance Fund (UAF) has been setup to acquire $PUP and $UPHL tokens (Address: 0xa3b39938Ee168650aD096b98d6D30a499B1B5c2C).

Press enter or click to view image in full size

<figure><img src="https://miro.medium.com/v2/resize:fit:933/1*EIQ_zDt9b1CX8--EcZo3Hw.png" alt="" height="81" width="700"><figcaption><p>Top #1 HyperEVM token in volume on HyperCore spot consistenty</p></figcaption></figure>

Based on 1 week trading volume, 95% of trading fees have been used to accumulate $PUP tokens as our means of supporting $PUP token holders. A total of 2.3mil $PUP tokens has been accumulated over 7 days, which represents 0.32% of token supply (At current prices about 500,000 PUP tokens are acquired daily). Current top holder accounts for 2.61% of token supply. This is a commitment that 90% of all trading fees generated on $PUP trading will be used to acquire $PUP tokens for the UAF. As trading volume increases over the weeks, we anticipate this $PUP acquisition to ramp up, which acts as a rising price floor for the $PUP token. As a data point, Upheaval Hypercore has generated over $200,000 in fees in the past 7 days. We expect $UPHL listing next week on Hypecore to also help accumuate even more fees on the protocol. We are more than just a Dex on HyperEVM.

### Upheaval Assistance Fund & UIP-3 <a href="#id-7290" id="id-7290"></a>

The role of $PUP and $UPHL tokens will be revealed in due time for UIP-3. The goal is to accelerate the rate of revenue growth while giving back 90% to token holders by use of the UAF. At the same time, UAF will be utilised extensively within UIP-3 to accelerate the growth of the ecosystem, representing a powerful virtuous cycle that perpetuates.

We will be releasing our roadmap shortly.

– Firelord


# 17/09/2025 - Upheaval TGE & S2

<figure><img src="/files/F2eSCovBKBVOxYVbc4YP" alt=""><figcaption></figcaption></figure>

gUP,

In one of the most anticipated events of the year on Hyperliquid, Upheaval protocol will be conducting its TGE after one of the shortest points program in crypto history (\~20 days). In the span of < 1 month, the protocol has achieved a few key milestones:

* Top DEX TVL on Hyperliquid with \~150m USD in TVL (generating close to $80k USD daily revenue, and increasing 20%-30% day on day)
* Top 5 largest revenue protocol on Hyperliquid, excluding Hyperliquid itself (by Defillama data — by including spot deployer fees)
* 3rd most traded spot asset on Hyperliquid core: $PUP (averaging over $30k USD daily in trading revenue on one asset alone)

Press enter or click to view image in full size

<figure><img src="https://miro.medium.com/v2/resize:fit:933/1*LjQOMrUP_lgcvCzfRmW5MQ.png" alt="" height="147" width="700"><figcaption><p><a href="https://app.hyperliquid.xyz/trade">https://app.hyperliquid.xyz/trade</a></p></figcaption></figure>

It bears reminding that Upheaval is more than a DEX. The goal of Upheaval is to become the de-facto deployer of quality HyperEVM assets onto Hypercore. This extends into perpetual listings of the same quality HyperEVM assets onto HIP-3. The Upheaval protocol uniquely solves the following:

* Communal deployment of quality HyperEVM assets on Hyperliquid core for CLOB traders to trade: Even when spot deployment gets expensive, Upheaval will be able to front the cost of asset deployment on behalf of quality projects and tokens.
* Provides clear graduation crtieria for assets to attain listings on Hyperliquid which eradicates insider issues.
* Liquidity issues on newly listed assets: Our incentive system coupled with our UIP-2 allows us to create a positive cycle where assets listed via Upheaval are able to attain good trading volume and good liquidity.

### TGE: Airdrop & Launchpad <a href="#id-4115" id="id-4115"></a>

With the above done, let’s now talk about detailed $xyz (redacted) tokenomics which transparently shows how token allocations are used to grow the protocol.

#### Token Generation Event <a href="#d094" id="d094"></a>

* **4% (40,000,000 tokens) allocated for launchpad on Based**

— Out of the 4% of the total token supply for sale, 50% will be set aside exclusively for our esteemed $PUP holders. For every dollar of $PUP you hold in Hypercore Spot and HyperEVM during the launchpad period, you can commit a dollar in $HYPE. This is our way of rewarding loyal holders in our ecosystem to ensure they get exclusive access to the launchpad. The other half will be set aside for public allocation where any users with Hype holdings can participate.

— A total of 4% of the token supply will be allocated for launchpad. Target raise is $800,000, with max raise of $3.2mil USD. Each token is priced at $0.02 initially. With higher demand, the token will be priced higher. At $3.2mil USD max raise, token price will be maximally capped at $0.08. This is a linear function where the higher the amount raised, the higher the starting price. E.g. If 2mil was raised, starting price is $0.05.

***Number has been updated as of 21st September: token price will be between $0.01 to $0.036 approximately to provide higher upside for users via a lower initial marketcap***

Formula: *startingTokenPrice = raisedAmount / numberOfTokensRaised*\
\
— Airdrop follows an overflow format where commitment amounts can be higher than $3.2mil USD, ($100mil USD even). This does not increase the price of the launchpad token beyond the max cap price. However, your allocation will decrease when the launchpad oversubscribes. Read this to learn more > [Overflow Method](https://basedapp.gitbook.io/docs/launchpad/overflow)

#### Airdrop Event <a href="#id-755c" id="id-755c"></a>

* **20% (200,000,000 tokens) allocated for Season 1 Airdrop**, out of which (as shown below in the diagram):\
  \- 15% of airdrop allocated to $PUP holders both spot holders on Hypercore and HyperEVM\
  \- 40% of airdrop allocated to Based XP holders\
  \- 45% of airdrop allocated to Upheaval Points holders

The Upheaval team is pioneering a new airdrop format with the Based team. A boosted airdrop is created with unique game theoretic design meant to reward loyal users. Watch out for the Based article to learn more about it.

Press enter or click to view image in full size

<figure><img src="https://miro.medium.com/v2/resize:fit:933/1*0R-oJz7KTePFUivk0xTZTw@2x.jpeg" alt="" height="394" width="700"><figcaption></figcaption></figure>

### Season 2 airdrop <a href="#id-507f" id="id-507f"></a>

Upon TGE, Upheaval will begin Season 2 airdrop system with objective targets. Upheaval points will be issued to the following activities:

* Liquidity providers on Upheaval V3 and V2 DEX
* Traders of $PUP and $XYZ markets (and future HyperEVM markets)
* Traders on Upheaval’s HIP-3 DEX
* UP & PUP Token holders

***The exact breakdown will not be disclosed and is subject to adjustments as deemed necessary by the team to best support the overall growth of the protocol.***

### The Hyperliquid flywheel <a href="#id-9d8d" id="id-9d8d"></a>

The Upheaval protocol handles liquidity on HyperEVM, alongside spot + perp listings on HyperEVM. Our partner BasedOneX handles distribution of these listings to their active trader community of >10k MAU (which is still growing quickly).

Also, our partner RubiFi handles market-making on listed assets. This tri-partite partnership uniquely creates a flywheel to bring Hyperliquid and these 3 protocols to greater heights.

#### Some key thoughts: <a href="#a6bd" id="a6bd"></a>

* **Short points program:** We believe that we have strong product market fit. Strong PMFs do not require endless points program. The shorter the points program, the more likelihood that our $XYZ token lands in the hands of people who are not only early, but also cared enough to take a deep-dive into understanding our protocol and what we do before it even becomes consensus. A good strong product will perpetuate into consensus eventually.
* **Season 2 airdrop:** This incentive system is modelled after some of the greatest in the industry (e.g. Ethena, Hyperliquid). Users who stay on are rewarded for their belief. In fact, season 2 is designed with different goals than season 1. Season 1 was all about explosive growth in TVL. Season 2 is about optimising for key protocol metrics that provide Upheaval with the growth it seeks for.
* **Fee switch:** Upheaval has plans of enabling fee-switch for the protocol following clear objective criteria which are met. This is to be discussed in the future for $XYZ governance.

### Conclusion <a href="#id-5655" id="id-5655"></a>

Upheaval aims to democratise the listing process and to deepen Hyperliquid trading liquidity on Spot + Perp assets. This provides a strong foundation where users on BasedOneX can gain access to quality tradeable assets. Distribution + Liquidity is king. Our job is to ensure traders gain access to quality assets. This removes the need for clunky “Binance Alpha/XYZ CEX Alpha” products where transparency is arguable. All tokens and runners on Upheaval are purely organic with no insider advantage as there are simple yet clear listing requirements.

To House All of Finance, we need to create a fair, transparent, organic process for token listing to build trust with traders. It is an eventuality that Hyperliquid’s spot market will take a big chunk out of incumbents. To participate early in Upheaval is to take a shot on the belief that Hyperliquid > CEX.

Let’s Upheave the norm together.

Hyperliquid

\- Firelord


# 07/09/2025 - Upheaving the norm

<figure><img src="/files/ZiztffrqLIOs6vZptaSh" alt=""><figcaption></figcaption></figure>

After months of building, we are proud to unveil the Upheaval protocol built on Hyperliquid, designed uniquely to marry the narratives of today with the mechanics of the morrow. Upheaval is built as a protocol to ensure the fairest and most decentralized token launch across Hyperliquid, across all narratives. We uniquely solve exchange listing problems, where we have the age-old problem of Binance/Bybit/Meteora insiders cornering tons of supply before listing and ultimately using retail as exit liquidity. The solving of these problems is only possible on Hyperliquid with Upheaval.fi.

Press enter or click to view image in full size

<figure><img src="https://miro.medium.com/v2/resize:fit:933/1*tYm0zXJ9kfnBXnV_ZS6IEA.png" alt="" height="360" width="700"><figcaption><p>How our name originated</p></figcaption></figure>

### The Upheaval-Improvement-Proposals (UIPs) <a href="#d9f0" id="d9f0"></a>

Upheaval is built as a protocol to be upgraded over time. As of project launch, we have **2 confirmed UIPs** which will serve as the core tenets of the project. The goal of the first 2 UIPs are to solve:

1\. Token demand, supply, graduation and price discovery issues.

2\. Liquidity flywheel to guarantee thick token liquidity on Hyperliquid.

**UIP-1:** This consists of a Bonding curve token launchpad with an in-built 3 step graduation program for tokens launched on Hyperliquid. The aim is to solve token listing issues on Hypercore to ensure that tokens go through a transparent graduation programme for Hypercore listings. This uniquely solves for insider trading problem, and allows for only quality listings on Hyperliquid hypercore.

**UIP-2:** This is a liquidity improvement proposal aimed at ensuring tokens that hit graduation requirements receive liquidity support through Upheaval’s spot market-making algorithms on Hypercore. All protocol fees earned on Upheaval goes towards ensuring tokens that hit graduation requirements will receive UIP-2 support.

*Learn more about the UIPs below.*

### UIP-1: Bonding curve launch <a href="#id-7230" id="id-7230"></a>

In today’s token economy, token holders crave volatility at every touchpoint of a token’s launch. Token launch platforms such as Pump.fun have uniquely catered to this via a bonding curve style launch — to huge success. Part of our design is inspired and improved based on that. We employ the use of a unique bonding curve math to ensure users get the early stage project volatility that they are used to today. As Upheaval grows, our implementation allows us to perform tweaks to the bonding curve at each juncture to optimise for the best trading experience. The aim of the bonding curve implementation is mainly to keep up with the existing times of matching product to user expectations of today.

### UIP-1: The 3 step graduation programme <a href="#id-423d" id="id-423d"></a>

In the next bits, the 3-step graduation programme is arguably the most important piece for which we can uniquely solve insider issues, while ensuring proper token flywheels for each of the projects launched via Upheaval.

Firstly, tokens that hit a minimum 70k USD market cap get to graduate from the bonding curve and onto the Upheaval DEX that employs XYK curve pricing mechanisms. This allows for a constant product price discovery mechanism after a token has gained the initial traction on the Upheaval bonding curve product. The users who participated in the original bonding curve are the liquidity providers to ensure the first proper listing on Upheaval.

Secondly, once tokens hit a 75mil market cap target, the Upheaval protocol will automatically acquire a **spot-listing on Hyperliquid’s Central-Limit-Order-Book (*****CLOB*****)**. This creates a situation where CLOB traders on Hyperliquid gain access to the token and are able to provide liquidity/or spot buy the token in a familiar CEX-like environment.

In this manner, we rapidly increase the distribution of the project’s tokens to future willing holders of the project in a trustless manner. There is no need to have opaque requirements from listing managers on current CEX exchanges where listings happen only after supply has been cornered — which essentially is a result of capitulation from early token holders. Also, this runs in converse to how most tokens are currently immediately listed on Perpetual markets on Binance/Bybit (before the spot market). We have all observed how this has been catasrophic for project tokens as Perpetual markets tend to create infinite supply upon willing token holders. The net result is a spiral of capitulation as everyone exits during a perpetual listing event. Many great projects have been destroyed as a result of this. By bringing back the trusted and true method of creating a healthy spot environment for newly launched tokens, we aim to build the wealth effect for each and every single project that is launched via our protocol. This will be a true net win against current shady practices.

Thirdly, once tokens hit a healthier market cap range of 250m market cap, the Upheaval protocol will activate HIP-3 to acquire a perpetual listing on Hyperliquid’s perpetual markets. Only when a token has proper spot distribution and strong market cap, does it make sense for there to be a perpetual listing to enhance the available liquidity for the token. Tokens that are able to get to this stage tend to stay strong. This allows Upheaval to build a strong flywheel for token projects where each token that hit requirements get a much needed boost at each juncture. Most importantly, everything is built to be trustless and is fully meritocratic. No longer do we need to have project founders chummy-ing up with listing managers, or having to pay huge token allocations to CEX-es for listing.

### UIP-2: Protocol-owned-liquidity for Spot tokens <a href="#c0c8" id="c0c8"></a>

When tokens graduate from Upheaval AMM, they will be launched on Hypercore spot CLOB books where there tends to be marginal liquidity. UIP-2 is a market-making proposal where protocol fees accrued under Upheaval’s DEX is used to market-make for the graduated spot tokens. This ensures tokens have ample liquidity to price discover on Hyperliquid’s spot books. More importantly, Upheaval has a third step graduation for tokens to be listed on HIP-3. UIP-2 also covers market-making on Hyperliquid’s HIP-3 perpetual DEX.

### Problems that Upheaval solve <a href="#id-889c" id="id-889c"></a>

#### Price Discovery Issues <a href="#cabc" id="cabc"></a>

Hyperliquid spot tokens often struggle with weak price action. The main reason is the CLOB mechanism, which limits proper price discovery for illiquid markets. In immature markets, this leads to sharp over-extensions both up and down — leaving many traders exposed to unnecessary losses.

CLOBs work perfectly for mature assets like BTC, ETH, HYPE, and SOL, where liquidity is deep. But for newly launched tokens, once liquidity dries up, prices tend to collapse.

This is where AMMs matter. Constant-product pricing creates a more consistent trading experience and allows tokens to discover their value naturally over time. Passive liquidity is especially important in the early stages of building a community. Only once liquidity becomes abundant should tokens graduate to CLOBs for broader adoption.

#### Mismatch with Market Demand <a href="#id-94fc" id="id-94fc"></a>

In today’s attention-driven, volatility-seeking market, traders want excitement without chaos. Our product is built to meet those needs — delivering consistency while tapping into the volatility that keeps traders engaged.

#### High Spot Listing Costs <a href="#a2da" id="a2da"></a>

Spot listings on Hyperliquid currently cost around $40k through the Dutch auction process. As $HYPE velocity accelerates, these costs could easily rise 2x–5x. Serious projects need an efficient way to access listings without being priced out. Upheaval serves as that communal proxy, using trading fees to secure listings on behalf of the ecosystem.

#### **Perpetual Listing Barriers** <a href="#id-9355" id="id-9355"></a>

Perpetual listings are equally critical, as they bring deeper liquidity and long-term sustainability for tokens. But activating HIP-3 is a complex process, not available to everyone. Upheaval provides the vessel to make perpetual listings accessible for strong projects.

#### Opaque & Unfair Listing Practices <a href="#e912" id="e912"></a>

Today’s listing practices are often opaque, costly, and questionable in fairness. Upheaval solves this by introducing clear targets, removing middlemen, preventing supply cornering — and ultimately strengthening Hyperliquid for the entire community.

### Mission <a href="#id-0034" id="id-0034"></a>

Upheaval is a statement. Upheaval is a movement. We are looking to disrupt current token listing practices and to stay true to the Hyperliquid mission to house all of finance in an equitable manner. Token launches should never be done at the expense of the holders who truly believe in the projects. It is time to create the age of believing, and no longer do we capitulate to the ones who profit at our expense.

Hyperliquid

*Firelord*\
*Upheaval Founder*


