Interacciones LP

Creando Transacciones LP

Agregar Liquidez / Acuñar sFLP

const addLiquidityAndStake = async () => {
    const usdcInputAmount = new BN(1_000_000); // $1
    
    // this can be any other token available in the pool, for instance SOL, BTC and ETH
    const usdcCustody = POOL_CONFIG.custodies.find(c => c.symbol === 'USDC')!;
    const slippageBps: number = 800 // 0.8%
    let instructions: TransactionInstruction[] = []
    let additionalSigners: Signer[] = []

    await flashClient.loadAddressLookupTable(POOL_CONFIG)

    // flash-sdk version >= 2.31.6
    const { amount: minLpAmountOut, fee } = await flashClient.getAddLiquidityAmountAndFeeView(usdcInputAmount, POOL_CONFIG.poolAddress, usdcCustody.custodyAccount, POOL_CONFIG);

    const minLpAmountOutAfterSlippage = minLpAmountOut
        .mul(new BN(10 ** BPS_DECIMALS - slippageBps))
        .div(new BN(10 ** BPS_DECIMALS))

    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 400_000 }) // addLiquidity

    const addLiquidityAndStakeData = await flashClient.addLiquidityAndStake('USDC', usdcInputAmount, minLpAmountOutAfterSlippage, POOL_CONFIG);
    instructions.push(...addLiquidityAndStakeData.instructions)
    additionalSigners.push(...addLiquidityAndStakeData.additionalSigners)

    const flpStakeAccountPK = PublicKey.findProgramAddressSync(
        [Buffer.from('stake'), flashClient.provider.publicKey.toBuffer(), POOL_CONFIG.poolAddress.toBuffer()],
        POOL_CONFIG.programId
    )[0]

    const refreshStakeInstruction = await flashClient.refreshStake('USDC', POOL_CONFIG, [flpStakeAccountPK])

    instructions.push(refreshStakeInstruction)

    const trxId = await flashClient.sendTransaction([setCULimitIx, ...instructions])

    console.log('addLiquidityAndStake trx :>> ', trxId);
}

Agregar Liquidez de Capitalización / Acuñar FLP

Remover Liquidez / Quemar sFLP

Remover Liquidez de Capitalización / Quemar FLP

Obtener precios de tokens FLP/sFLP

1.) Usando SDK (Integración Avanzada)

2.) Usando API (Rápido y Fácil)

Consulta el siguiente endpoint para obtener datos de precio para todos los pools:

✅ Formato de Respuesta (Ejemplo)

La respuesta es un objeto JSON que contiene un array de pools, cada uno representando un pool FLP único. Aquí está lo que significa cada clave:

Campo
Descripción

poolAddress

La dirección única en cadena del pool de liquidez

aum

Activos bajo gestión (en USD) para este pool

flpTokenSymbol

Símbolo para el token FLP de capitalización (ej., FLP.1, FLP.2)

sFlpTokenSymbol

Símbolo para el token FLP en stake (ej., sFLP.1, sFLP.2)

flpDailyApy

APY diario para token FLP de capitalización (auto-reinvertido)

flpWeeklyApy

APY semanal para token FLP de capitalización

flpWeeklyApr

APR semanal para token FLP de capitalización (sin capitalización)

sFlpDailyApr

APR diario para token FLP en stake (sin capitalización)

sFlpPrice

Precio actual del token FLP en stake

flpPrice

Precio actual del token FLP de capitalización

sFlpPriceWithYield

Precio derivado del token sFLP si el rendimiento se incluye en la valuación

🔎 Cómo Usar

Para obtener precios de tokens:

  • Coincide el flpTokenSymbol (ej., "FLP.1") o poolAddress para identificar tu pool deseado.

  • Usa flpPrice para el token FLP de capitalización y sFlpPrice para la versión en stake.

Este es el método más fácil para frontends y dashboards que necesitan precios en tiempo real y datos de rendimiento sin configurar el SDK o consultar la blockchain.

Última actualización

¿Te fue útil?