id,language,protocol,category,name,description,code,imports_or_contract,notes
1,clarity,alex,swap,swap-helper,"Swap tokens via Alex","(contract-call? .amm-swap-pool-v1-1 swap-helper .token-wstx .age000-governance-token u100000000 u100000000 u1000000 u1)","SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-swap-pool-v1-1","Use factors to maintain price ratios; dx is input amount; min-dy is minimum output"
2,clarity,alex,pool,get-pool-details,"Get pool info","(contract-call? .amm-swap-pool-v1-1 get-pool-details .token-wstx .age000-governance-token)","SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-swap-pool-v1-1","Returns balance-x balance-y pool-token total-supply"
3,clarity,alex,liquidity,add-to-position,"Add liquidity to Alex","(contract-call? .amm-swap-pool-v1-1 add-to-position .token-wstx .age000-governance-token u100000000 u100000000 u1000000)","SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-swap-pool-v1-1","Factors determine price impact; returns LP tokens"
4,clarity,velar,swap,swap-exact-tokens,"Swap on Velar","(contract-call? .univ2-router swap-exact-tokens-for-tokens u1000000 u950000 (list .token-a .token-b))","SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-router","Path can include multiple hops; min-out protects against slippage"
5,clarity,velar,liquidity,add-liquidity,"Add liquidity to Velar","(contract-call? .univ2-router add-liquidity .token-a .token-b u1000000 u1000000 u900000 u900000)","SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-router","Min amounts protect against front-running; returns LP tokens"
6,clarity,velar,liquidity,remove-liquidity,"Remove liquidity from Velar","(contract-call? .univ2-router remove-liquidity .token-a .token-b u1000000 u900000 u900000)","SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-router","Burns LP tokens; returns underlying tokens"
7,clarity,bitflow,swap,swap-stx-for-token,"Swap STX for tokens","(contract-call? .swap-helper-v1-03 swap-helper .wstx .token-out u1000000 u950000)","SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.swap-helper-v1-03","Helper contract simplifies multi-hop swaps"
8,clarity,bitflow,swap,swap-token-for-stx,"Swap tokens for STX","(contract-call? .swap-helper-v1-03 swap-helper .token-in .wstx u1000000 u950000)","SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.swap-helper-v1-03","Automatically finds best route"
9,clarity,zest,supply,supply-asset,"Supply collateral to Zest","(contract-call? .pool-v1-0 add-asset u0 .sbtc u1000000)","SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.pool-v1-0","Pool ID 0 is main pool; receives interest-bearing tokens"
10,clarity,zest,borrow,borrow-asset,"Borrow from Zest","(contract-call? .pool-v1-0 drawdown u0 .lp-token u500000)","SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.pool-v1-0","Requires collateral; interest accrues per block"
11,clarity,zest,info,get-pool-data,"Get Zest pool info","(contract-call? .pool-v1-0 get-pool u0)","SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.pool-v1-0","Returns total-supplied total-borrowed interest-rate"
12,clarity,stackingdao,stake,deposit,"Stake STX for stSTX","(contract-call? .stacking-dao-core-v1 deposit u100000000)","SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.stacking-dao-core-v1","Liquid stacking; stSTX auto-compounds rewards"
13,clarity,stackingdao,unstake,withdraw,"Unstake stSTX for STX","(contract-call? .stacking-dao-core-v1 withdraw u100000000)","SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.stacking-dao-core-v1","Burns stSTX; may have cooldown period"
14,clarity,boost,boost,boost-stx,"Boost STX earnings","(contract-call? .pox-fast-pool-v2 delegate-stx u100000000 pox-addr)","SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.pox-fast-pool-v2","Fast Pool variant with higher APY"
15,clarity,faktory,swap,swap-tokens,"Swap on Faktory","(contract-call? .faktory-v2-01 swap .token-in .token-out u1000000 u950000)","SPTF1TGKT2AF5EJ0ZN56T87J14XSRFR9JFPFG2QV.faktory-v2-01","Meme token DEX; high slippage possible"
16,javascript,alex,swap,alex-swap-tx,"Build Alex swap transaction","const txOptions = { contractAddress: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM' contractName: 'amm-swap-pool-v1-1' functionName: 'swap-helper' functionArgs: [contractPrincipalCV(tokenXAddress tokenXName) contractPrincipalCV(tokenYAddress tokenYName) uintCV(100000000) uintCV(100000000) uintCV(amountIn) uintCV(minAmountOut)] network }; const tx = await makeContractCall(txOptions)","import { makeContractCall contractPrincipalCV uintCV } from '@stacks/transactions'","Factors are pool-specific; query pool details first"
17,javascript,velar,swap,velar-swap-tx,"Build Velar swap transaction","const path = [contractPrincipalCV('SP...', 'token-a') contractPrincipalCV('SP...', 'token-b')]; const txOptions = { contractAddress: 'SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1' contractName: 'univ2-router' functionName: 'swap-exact-tokens-for-tokens' functionArgs: [uintCV(amountIn) uintCV(minAmountOut) listCV(path)] network }; const tx = await makeContractCall(txOptions)","import { makeContractCall uintCV listCV contractPrincipalCV } from '@stacks/transactions'","Path supports multi-hop swaps; calculate min-out with slippage tolerance"
18,javascript,velar,liquidity,velar-add-liquidity-tx,"Add liquidity to Velar via SDK","const txOptions = { contractAddress: 'SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1' contractName: 'univ2-router' functionName: 'add-liquidity' functionArgs: [contractPrincipalCV(tokenAAddr tokenAName) contractPrincipalCV(tokenBAddr tokenBName) uintCV(amountA) uintCV(amountB) uintCV(minA) uintCV(minB)] network }; const tx = await makeContractCall(txOptions)","import { makeContractCall uintCV contractPrincipalCV } from '@stacks/transactions'","Set min amounts to ~2% less to handle price movements"
19,api,alex,info,alex-pool-info,"Get Alex pool info via API","const response = await fetch('https://api.alexlab.co/v1/pool_tokens'); const pools = await response.json(); const pool = pools.find(p => p.token0 === tokenX && p.token1 === tokenY)","fetch or axios","Returns reserve0 reserve1 totalSupply volume24h"
20,api,velar,info,velar-pool-info,"Get Velar pool info via API","const response = await fetch('https://api.velar.co/v1/pools'); const pools = await response.json(); const pool = pools.find(p => p.pair === `${token0}-${token1}`)","fetch or axios","Returns liquidity volume24h priceChange24h"
21,javascript,bitflow,swap,bitflow-swap-tx,"Build Bitflow swap transaction","const txOptions = { contractAddress: 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9' contractName: 'swap-helper-v1-03' functionName: 'swap-helper' functionArgs: [contractPrincipalCV(tokenInAddr tokenInName) contractPrincipalCV(tokenOutAddr tokenOutName) uintCV(amountIn) uintCV(minAmountOut)] network }; const tx = await makeContractCall(txOptions)","import { makeContractCall uintCV contractPrincipalCV } from '@stacks/transactions'","Helper auto-routes through best pools"
22,javascript,stackingdao,stake,stackingdao-deposit-sdk,"Deposit to StackingDAO via SDK","const txOptions = { contractAddress: 'SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG' contractName: 'stacking-dao-core-v1' functionName: 'deposit' functionArgs: [uintCV(amountMicroStx)] network }; const tx = await makeContractCall(txOptions); const broadcast = await broadcastTransaction({ transaction: tx network })","import { makeContractCall uintCV broadcastTransaction } from '@stacks/transactions'","Receive stSTX at 1:1 ratio; stSTX value increases over time from rewards"
23,api,stackingdao,info,stackingdao-exchange-rate,"Get stSTX exchange rate","const response = await fetch('https://api.stackingdao.com/v1/info'); const info = await response.json(); const exchangeRate = info.stx_per_ststx","fetch or axios","Returns current STX/stSTX exchange rate and APY"
24,javascript,slippage,calculate-min-amount-out,"Calculate minimum output with slippage","function calculateMinOut(expectedAmount slippagePercent) { return Math.floor(expectedAmount * (1 - slippagePercent / 100)) }","None","Common slippage: 0.5-2%; use higher for volatile pairs"
25,api,aggregator,get-best-route,"Find best swap route across DEXs","const response = await fetch(`https://api.stacksswap.xyz/v1/route?from=${tokenIn}&to=${tokenOut}&amount=${amount}`); const route = await response.json(); console.log(route.path route.expectedOutput route.priceImpact)","fetch or axios","Aggregator finds optimal path across Alex Velar Bitflow"