Add Liquidity
Follow these five steps to begin earning as a Liquidity Provider.
Step 1: Navigate to the Pool
Find your desired token pair (e.g., WETH/USDC) within the SKNK Hub Dashboard and click the "Add Liquidity" button.

Step 2: Enter Amounts
Input the amount for one token. The Hub uses a smart balancing algorithm to automatically calculate the required amount of the paired token.

Step 3: Approve & Confirm
If this is your first time interacting with these tokens, you'll perform a one-time approval.
- Approve Tokens: Click "Approve" for each token. This grants the smart contract permission to interact with your wallet.
- Confirm Supply: Review your rates and click "Add liquidity".
If you use your own wallet, keep an eye on your wallet (MetaMask, Rabby, etc.) to sign the transaction. Ensure you have a small amount of native gas tokens to cover the network fee.
Your LP Tokens (Receipts)
Once the transaction is confirmed, the Hub instantly mints LP Tokens to your wallet.
These tokens represent your ownership share of the pool.
Summary Table
| Action | Outcome |
|---|---|
| Deposit | Tokens enter the Liquidity Pool |
| Receive | LP Tokens (Your "Receipt") |
| Earn | Proportionate share of 0.3% trading fees and house proceeds |
Smart Contracts
Ensure spending allowances are set on selected tokens prior to calling router functions.
The SLPRouter contract streamlines the process of adding liquidity into an existing pair. Unlike pool creation, the price is already set and tokens must be added based on this existing ratio. The quote() helper can be used to query for a correct ratio based on a given token input.
function quote(
uint256 amountA,
uint256 reserveA,
uint256 reserveB
) external pure returns (uint256 amountB);
function addLiquidity(
address tokenA,
address tokenB,
uint256 amountADesired,
uint256 amountBDesired,
uint256 amountAMin,
uint256 amountBMin,
address to,
uint256 deadline
)
external
returns (uint256 amountA, uint256 amountB, uint256 liquidity);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);