LINK TO POINTS TRACKING SCRIPT: https://github.com/Pendle-Finance-Periphery/pendle-generic-balance-fetcher/tree/main

<aside> 💡

In the future if you would like to have your pool’s LP as collateral, you must use this script for your points tracking as it will help us to autoforward LP rewards to these users accurately

</aside>

Things that the script has taken into account:

1. Mechanism on Pendle

<aside> 💡

TLDR: PT forgoes all points, YT and LP earns points. To learn more about the mechanism of Pendle, refer to this page. Pools will stop earning points upon maturity, so YT and LP users will not earn additional points after maturity of a pool.

</aside>

2. Methodology of the Script

<aside> 💡

You can test out the script by using any of the pools available on Pendle.

</aside>

<aside> 💡

5% of the points earned from YT to our treasury wallet will be taken from existing users. So if a user was supposed to earn 100 points, 95 points will be allocated to them and 5 points will be allocated to treasury.

</aside>

3. How to Fill Up the Script? Using Ethena USDe 31July2025 as Example:

  1. Go to https://github.com/Pendle-Finance-Periphery/pendle-generic-balance-fetcher/tree/main and fork the code.

  2. In the fork, configure the contract addresses in https://github.com/Pendle-Finance-Periphery/pendle-generic-balance-fetcher/blob/main/src/configuration.ts

    Script.png

  3. You need to update the SY, YT and LP addresses. To find the relevant contract addresses, go to your pool’s market page → click on specs which is next to the pool’s name. You could then find the relevant addresses from the table.

    image.png

  4. Given the information from USDe 31Jul2025, Update the following information from Step 2 to:

    import { CHAINS, PoolConfiguration } from './types';
    
    export const CHAIN = CHAINS.ETHEREUM;
    
    export const POOL_INFO: PoolConfiguration = {
      SY: '0xb47cbf6697a6518222c7af4098a43aefe2739c8c',
      YT: '0x733ee9ba88f16023146ebc965b7a1da18a322464',
      LPs: [
        {
          address: '0x9df192d13d61609d1852461c4850595e1f56e714',
          deployedBlock: 21920466
        }