---
# System prepended metadata

title: Timeswap Liquidity Addition URL
tags: [parsing, user side app restrictions, url]

---

# Background
Recently Timeswap Team is engaged in a lot of external partners communication for gathering liquidity for collaborative pools.

# Problem Statement
Sending a generic link to partners results in miscommunication for Lend/Add Liquidity.
Where Partners are specifically asked to Add Liquidity and they do a Lend transaction instead.


# Team flow for external partners communication for Add Liquidity
1. Business Team creates pool from [timeswap-liquidity.vercel](https://timeswap-liquidity.vercel.app/)
2. Deployed pool is sent to [Backend](https://api.timeswap.io) for storage.
3. Tech Team is asked to make the pool live
    **Internal**
    * Tech Team finds the pool and pushes it to dummy Prod using [timeswap-liquidity-private.vercel](https://https://timeswap-liquidity-private.vercel.app/)
4. Now the pool is availabe for business team to test on [timeswap-liquidity.vercel](https://timeswap-liquidity.vercel.app/)
5. After testing the pool Business Team asks for this pool to be deployed to a new link consisting of **just this pool** 
    * **Reason** : This makes it easier for partners to navigate through the website for add liquidity.

6. Partners are sent the link in hopes to do **Add Liquidity Transaction** 
    * **Problem** : It has been seen that Partners regularly do **lend transaction** on the pool whereas the were asked to do Add Liquidity


# Frontend Solution for the same

## URL parsing

Single point of contact for all partner communications is very important to ensure consistencty.

Thus we introduce a single link for the same

### timeswap-liquidity.vercel.app

This link will consist of all the pools available throughout Timeswap.

Moreover, it will allow for custom links such as

**Custom Link :** https://timeswap-liquidity.vercel.app/?poolId=<PoolId>&feature=<AddLiquidity>

* Any Pool made with Create Pool on this link will be live directly on this branch
* Market's page will have a "copy link to pool" button that does as mentioned. 

    
Upon opening this Custom link only Add liquidity feature will be available on the pool who's poolId is sent

Only this pool will be shown moreover, only this chain will be available.

baseURL = https://timeswap-liquidity.vercel.app/
More Features :
    
    baseURL/?poolId=<PoolId>&feature=addliquidity,markets
    shows markets tab and add liquidity tab
    
    
    baseURL/?poolId=<PoolId>&feature=addliquidity,lend
    shows lend tab and add liquidity tab
    
    baseURL/?poolId=PoolId1,PoolId2&feature=addliquidity,borrow
    shows borrow tab and add liquidity tab for pools having PoolId1 and PoolId2
    
    
### Drawbacks of this approach :
    
If a partner removes the query params -> ?poolId=<PoolId>&feature=addliquidity,lend ,
while copying / playing around with the link they'll be shown the complete list of pools live
as on https://timeswap-liquidity.vercel.app  which might be overwelming.
    
    
**Results**
This will allow to solve the poblem within **4hrs implementation** and will save numerous hours of front and back inbetween the **Tech Team** and **Business Team**.
    

Optimal Solution includes backend sided restrictions based on random Id passed as query params contact @heemank for more on the same.