Skip to content

Conversation

@louissaadgo
Copy link
Contributor

Zealous Swap (Kasplex) — Pools adapter for DefiLlama yield-server
Pulls per-pool TVL (USD) and APR directly from our public API.

Endpoint used: https://kasplex.zealousswap.com/v1/pools
Notes:

  • We use apr from our API as apyBase (already annualized %).
  • If apr is missing, we fall back to fee APR from volume * feeRate.
  • We include apyReward only if our API reports a positive farmApr.
  • Only emit pools with hasUSDValues === true and tvl > 10000 to avoid noise.

@llamatester
Copy link

The zealousswap adapter exports pools:

Test Suites: 1 passed, 1 total
Tests: 46 passed, 46 total
Snapshots: 0 total
Time: 0.262 s
Ran all test suites.

Nb of pools: 6
 

Sample pools:
┌─────────┬──────────────────────────────────────────────────────┬───────────┬───────────────┬───────────────┬────────────────────┬────────────────────┬───────────────────┬──────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬─────────────────────────────────────────┬──────────────────────────┬────────────────────┐
│ (index) │ pool                                                 │ chain     │ project       │ symbol        │ tvlUsd             │ apyBase            │ apyReward         │ rewardTokens                                     │ underlyingTokens                                                                               │ url                                     │ poolMeta                 │ volumeUsd1d        │
├─────────┼──────────────────────────────────────────────────────┼───────────┼───────────────┼───────────────┼────────────────────┼────────────────────┼───────────────────┼──────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────┼────────────────────┤
│ 0       │ '0x4ae2074b784c70b33D71CC20429BeA5d5A2b4Dd7-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-ZEAL'   │ 304089.0553747279  │ 5.843238832741441  │ 53.96499135560566 │ [ '0xb7a95035618354D9ADFC49Eca49F38586B624040' ] │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xb7a95035618354D9ADFC49Eca49F38586B624040' ] │ 'https://app.zealousswap.com/liquidity' │ 'Zealous Swap spot pool' │ 16280.666509740598 │
│ 1       │ '0x3e6Bc9C48A5958f6FB68bEC51Acb41B0d9bD2566-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-NACHO'  │ 251827.2779510693  │ 1.9119065111698845 │ 33.05185103224406 │ [ '0xb7a95035618354D9ADFC49Eca49F38586B624040' ] │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0x9a5a144290dffA24C6c7Aa8cA9A62319E60973D8' ] │ 'https://app.zealousswap.com/liquidity' │ 'Zealous Swap spot pool' │ 3456.0818814418726 │
│ 2       │ '0xa338224F3C317c3111daD44ef17CF0922021A34b-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-KBOY'   │ 17985.89628260324  │ 0.1812702562193356 │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xf399D8A2c0e9C657D15522a352Fb9246255f9DE0' ] │ 'https://app.zealousswap.com/liquidity' │ 'Zealous Swap spot pool' │ 40.628             │
│ 3       │ '0x17e35AB8E73ECbB0A319915CDE576bd7A6E4212B-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-KASPY'  │ 16592.71469577391  │ 28.505057798451077 │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0x58AC23950E046801521d31158D7C4E721F49BAd7' ] │ 'https://app.zealousswap.com/liquidity' │ 'Zealous Swap spot pool' │ 1591.8137397468204 │
│ 4       │ '0xE3eFb6e4fcE9B71406aa77d4d3208C1b15836846-kasplex' │ 'kasplex' │ 'zealousswap' │ 'KASPER-WKAS' │ 11858.671185985673 │ 150.8203431293489  │ null              │ []                                               │ [ '0x1F3Ce97f8118035dba7FBCd5398005491Cf45603', '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e' ] │ 'https://app.zealousswap.com/liquidity' │ 'Zealous Swap spot pool' │ 15153.117028864674 │
│ 5       │ '0x625daE0d1aCf52bC327A1DCac3Aed7B0af479a3f-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-BORK'   │ 11654.17011038552  │ 0.0872317189266953 │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xaa4be785F78D11F8ACdC926B2E9cA8d460fC7dF1' ] │ 'https://app.zealousswap.com/liquidity' │ 'Zealous Swap spot pool' │ 4.642086197022085  │
└─────────┴──────────────────────────────────────────────────────┴───────────┴───────────────┴───────────────┴────────────────────┴────────────────────┴───────────────────┴──────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────────────────────────────────┴──────────────────────────┴────────────────────┘

@slasher125
Copy link
Collaborator

hi,

tvl > 10000 to avoid noise.

pls remove, we handle this server side

  • poolMeta seems to be constant, in which case it doesn't really add any information. please remove
  • pls fetch as much info as possible form on chain calls/subgraphs

@llamatester
Copy link

The zealousswap adapter exports pools:

Test Suites: 1 passed, 1 total
Tests: 417 passed, 417 total
Snapshots: 0 total
Time: 0.336 s
Ran all test suites.

Nb of pools: 59
 

Sample pools:
┌─────────┬──────────────────────────────────────────────────────┬───────────┬───────────────┬───────────────┬────────────────────┬──────────────────────┬───────────────────┬──────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬─────────────────────────────────────────┬────────────────────┐
│ (index) │ pool                                                 │ chain     │ project       │ symbol        │ tvlUsd             │ apyBase              │ apyReward         │ rewardTokens                                     │ underlyingTokens                                                                               │ url                                     │ volumeUsd1d        │
├─────────┼──────────────────────────────────────────────────────┼───────────┼───────────────┼───────────────┼────────────────────┼──────────────────────┼───────────────────┼──────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────────────────────────┼────────────────────┤
│ 0       │ '0x4ae2074b784c70b33D71CC20429BeA5d5A2b4Dd7-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-ZEAL'   │ 309933.381026405   │ 4.93111785376913     │ 54.28424471008007 │ [ '0xb7a95035618354D9ADFC49Eca49F38586B624040' ] │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xb7a95035618354D9ADFC49Eca49F38586B624040' ] │ 'https://app.zealousswap.com/liquidity' │ 14170.145865171879 │
│ 1       │ '0x3e6Bc9C48A5958f6FB68bEC51Acb41B0d9bD2566-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-NACHO'  │ 253699.9720143951  │ 3.2871670954503878   │ 33.65057421458542 │ [ '0xb7a95035618354D9ADFC49Eca49F38586B624040' ] │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0x9a5a144290dffA24C6c7Aa8cA9A62319E60973D8' ] │ 'https://app.zealousswap.com/liquidity' │ 4293.87226155477   │
│ 2       │ '0xa338224F3C317c3111daD44ef17CF0922021A34b-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-KBOY'   │ 18019.813562989242 │ 2.004447526372374    │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xf399D8A2c0e9C657D15522a352Fb9246255f9DE0' ] │ 'https://app.zealousswap.com/liquidity' │ 64.87169807876217  │
│ 3       │ '0x17e35AB8E73ECbB0A319915CDE576bd7A6E4212B-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-KASPY'  │ 16993.91966512842  │ 19.487673740029276   │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0x58AC23950E046801521d31158D7C4E721F49BAd7' ] │ 'https://app.zealousswap.com/liquidity' │ 1296.9047759853213 │
│ 4       │ '0xE3eFb6e4fcE9B71406aa77d4d3208C1b15836846-kasplex' │ 'kasplex' │ 'zealousswap' │ 'KASPER-WKAS' │ 12223.640116664192 │ 287.09024535859686   │ null              │ []                                               │ [ '0x1F3Ce97f8118035dba7FBCd5398005491Cf45603', '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e' ] │ 'https://app.zealousswap.com/liquidity' │ 17428.529890742455 │
│ 5       │ '0x625daE0d1aCf52bC327A1DCac3Aed7B0af479a3f-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-BORK'   │ 11760.571442144466 │ 0.0872317189266953   │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xaa4be785F78D11F8ACdC926B2E9cA8d460fC7dF1' ] │ 'https://app.zealousswap.com/liquidity' │ 4.684467949547116  │
│ 6       │ '0x35BD7B17156bD3b81903Cda786252709Cbef9741-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-WOLFY'  │ 6710.656188389643  │ 0.000858504088550301 │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xAF109de38A3E9c78260D8f02016dD1CB2FA2d168' ] │ 'https://app.zealousswap.com/liquidity' │ 58.36              │
│ 7       │ '0x7F74B7cc44c062b9e2cAe9115Ca57bAF0b2a9906-kasplex' │ 'kasplex' │ 'zealousswap' │ 'KASBTC-WKAS' │ 3641.625327524316  │ 65.29504451880189    │ null              │ []                                               │ [ '0x237172754F092D959F5cC5e0279E40C8c00b4334', '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e' ] │ 'https://app.zealousswap.com/liquidity' │ 663.813930918403   │
│ 8       │ '0x0ba0B2Ecfa44Ff2f505fCC35D26f56243cF255dE-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-KROAK'  │ 3574.2747367493685 │ 7.9225756963417275   │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xAb65A7c4e93D97EDefD6D845635b3146F576205C' ] │ 'https://app.zealousswap.com/liquidity' │ 152.81594396876022 │
│ 9       │ '0x9bEd56C4432A8ebC88C60372aBC504083EA34F81-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-KEIRO'  │ 2860.586043511761  │ 11.598734233222483   │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0x98508dA68180e3c23beE5685F14ad2dA5195da12' ] │ 'https://app.zealousswap.com/liquidity' │ 74.0153797598409   │
└─────────┴──────────────────────────────────────────────────────┴───────────┴───────────────┴───────────────┴────────────────────┴──────────────────────┴───────────────────┴──────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────────────────────────────────┴────────────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama

@louissaadgo
Copy link
Contributor Author

pls fetch as much info as possible form on chain calls/subgraphs

Kasplex is a new Layer 2 built on Kaspa and is only one month old. Since the network currently lacks subgraph support and native stablecoins, we developed our own custom indexers. Our API connects directly to these indexers to retrieve on-chain data. In addition, Zealous Swap uses a modular fee model where each swap can have its own fee structure in basis points. Because of this flexibility, implementing an APR calculation here would be complex and could make the integration too heavy.

@slasher125
Copy link
Collaborator

@louissaadgo lets at least fetch tvl values using our sdk

@llamatester
Copy link

The zealousswap adapter exports pools:

Test Suites: 1 passed, 1 total
Tests: 424 passed, 424 total
Snapshots: 0 total
Time: 0.338 s
Ran all test suites.

Nb of pools: 60
 

Sample pools:
┌─────────┬──────────────────────────────────────────────────────┬───────────┬───────────────┬───────────────┬────────────────────┬────────────────────┬───────────────────┬──────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬─────────────────────────────────────────┬────────────────────┐
│ (index) │ pool                                                 │ chain     │ project       │ symbol        │ tvlUsd             │ apyBase            │ apyReward         │ rewardTokens                                     │ underlyingTokens                                                                               │ url                                     │ volumeUsd1d        │
├─────────┼──────────────────────────────────────────────────────┼───────────┼───────────────┼───────────────┼────────────────────┼────────────────────┼───────────────────┼──────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────────────────────────┼────────────────────┤
│ 0       │ '0x4ae2074b784c70b33D71CC20429BeA5d5A2b4Dd7-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-ZEAL'   │ 312008.0476885102  │ 1.8562896087290077 │ 54.56970086079488 │ [ '0xb7a95035618354D9ADFC49Eca49F38586B624040' ] │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xb7a95035618354D9ADFC49Eca49F38586B624040' ] │ 'https://app.zealousswap.com/liquidity' │ 6698.574791187166  │
│ 1       │ '0x3e6Bc9C48A5958f6FB68bEC51Acb41B0d9bD2566-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-NACHO'  │ 248943.02770733502 │ 1.9737175852635114 │ 34.71335787110946 │ [ '0xb7a95035618354D9ADFC49Eca49F38586B624040' ] │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0x9a5a144290dffA24C6c7Aa8cA9A62319E60973D8' ] │ 'https://app.zealousswap.com/liquidity' │ 3487.5678247184956 │
│ 2       │ '0xa338224F3C317c3111daD44ef17CF0922021A34b-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-KBOY'   │ 17905.12518941784  │ 1.0355997838678632 │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xf399D8A2c0e9C657D15522a352Fb9246255f9DE0' ] │ 'https://app.zealousswap.com/liquidity' │ 122.54811673820927 │
│ 3       │ '0x17e35AB8E73ECbB0A319915CDE576bd7A6E4212B-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-KASPY'  │ 16719.157878325022 │ 7.324076476464608  │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0x58AC23950E046801521d31158D7C4E721F49BAd7' ] │ 'https://app.zealousswap.com/liquidity' │ 977.2683909953057  │
│ 4       │ '0xE3eFb6e4fcE9B71406aa77d4d3208C1b15836846-kasplex' │ 'kasplex' │ 'zealousswap' │ 'KASPER-WKAS' │ 12322.490813496064 │ 109.54875976936006 │ null              │ []                                               │ [ '0x1F3Ce97f8118035dba7FBCd5398005491Cf45603', '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e' ] │ 'https://app.zealousswap.com/liquidity' │ 11879.267182239975 │
│ 5       │ '0x625daE0d1aCf52bC327A1DCac3Aed7B0af479a3f-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-BORK'   │ 9443.105808739638  │ 17.745163043054287 │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xaa4be785F78D11F8ACdC926B2E9cA8d460fC7dF1' ] │ 'https://app.zealousswap.com/liquidity' │ 969.8897129733989  │
│ 6       │ '0x35BD7B17156bD3b81903Cda786252709Cbef9741-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-WOLFY'  │ 6357.211451844963  │ 11.268010513511264 │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xAF109de38A3E9c78260D8f02016dD1CB2FA2d168' ] │ 'https://app.zealousswap.com/liquidity' │ 471.48875856185305 │
│ 7       │ '0x7F74B7cc44c062b9e2cAe9115Ca57bAF0b2a9906-kasplex' │ 'kasplex' │ 'zealousswap' │ 'KASBTC-WKAS' │ 3727.6718138769997 │ 22.369654568215868 │ null              │ []                                               │ [ '0x237172754F092D959F5cC5e0279E40C8c00b4334', '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e' ] │ 'https://app.zealousswap.com/liquidity' │ 718.4004402266954  │
│ 8       │ '0x0ba0B2Ecfa44Ff2f505fCC35D26f56243cF255dE-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-KROAK'  │ 3497.0211544838467 │ 3.9208434479242356 │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0xAb65A7c4e93D97EDefD6D845635b3146F576205C' ] │ 'https://app.zealousswap.com/liquidity' │ 56.946706501360794 │
│ 9       │ '0x9bEd56C4432A8ebC88C60372aBC504083EA34F81-kasplex' │ 'kasplex' │ 'zealousswap' │ 'WKAS-KEIRO'  │ 2847.225794395771  │ 2.9234633259724987 │ null              │ []                                               │ [ '0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e', '0x98508dA68180e3c23beE5685F14ad2dA5195da12' ] │ 'https://app.zealousswap.com/liquidity' │ 57.84936498099711  │
└─────────┴──────────────────────────────────────────────────────┴───────────┴───────────────┴───────────────┴────────────────────┴────────────────────┴───────────────────┴──────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────────────────────────────────┴────────────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama

@louissaadgo
Copy link
Contributor Author

@slasher125 Now we are fetching reserves on-chain & prices using Defillama's price feeds to calculate TVL

@slasher125 slasher125 merged commit d84ae5a into DefiLlama:master Oct 29, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants