Synthèse automatique
Expose via l'API Krystal les données de pools de liquidité DeFi, de vaults et de positions LP, ainsi que la construction de transactions LP (zap-in, zap-out, compound, rebalancement) sur plus de 13 blockchains.
Points forts
- Couvre tout le cycle de vie d'une position LP : découverte des pools, ouverture, ajout de liquidité, retrait, compounding et ajustement de range.
- Documente les spécificités multi-chaînes, notamment nftMintAddress et buildTx=true pour Solana contre une signature directe du txData sur EVM.
- Signale les cas limites utiles, comme liquidityPercent=0 pour ne réclamer que les frais sans retirer le principal.
- Distingue explicitement les paramètres de slippage (swapSlippage, liquiditySlippage, withdrawSlippage) propres à chaque action.
Limites
- Les exemples sont des appels curl qui renvoient des txData bruts : la signature et l'envoi via un provider web3 restent entièrement à la charge de l'utilisateur.
- Le calcul des ticks alignés sur le tickSpacing du pool et l'évaluation du risque des vaults ne sont pas automatisés.
- La documentation est éclatée en nombreux fichiers de référence (reference/lp-actions/*, vaults, positions) qu'il faut consulter un par un.
À utiliser lorsqu'il faut interroger des pools ou des positions LP, ou construire une transaction DeFi (zap-in, zap-out, compound, rebalancement) via l'API Krystal sur EVM ou Solana.
À éviter si vous cherchez des données de marché générales, des échanges spot, ou une exécution on-chain clé en main sans gestion de provider web3.
Analyse de sécurité
PrudenceThe skill is primarily API documentation for a DeFi service and contains no destructive, obfuscated, or exfiltration behavior. However, it explicitly guides agents through building, signing, and sending financial transactions, so it warrants caution rather than being fully safe.
- •Instructs agents to sign and send `txData` for real on-chain DeFi transactions; this is financially sensitive and should require explicit user confirmation.
- •Uses network API calls and `curl` examples for legitimate pool/vault data retrieval, but still requires network access.
- •No private-key handling or secret exfiltration is specified, but transaction signing must be handled by a secure wallet/provider.
Exemples
Use the Krystal API to list the top liquidity pools across all chains, then show me the TVL, volume and APR for the best Base pools.Zap out my Uniswap v3 position tokenId 12345 on Base with liquidityPercent=0 so I only claim the fees, swapping them to USDC, and build the txData.Rebalance my LP position tokenId 12345 on Arbitrum: fetch the pool tickSpacing from Pool Detail, pick a new range around the current price, and build the adjust-range transaction.name: krystal-defi-api description: Provides DeFi liquidity pool data, vault management, user positions, and LP transaction-building via the Krystal API. Use for pool analytics (TVL/volume/APR), listing positions (including single-position lookup by positionId), and LP actions like zap-in, zap-out (including fee-claim via liquidityPercent=0), swap-and-increase, adjust-range (rebalance), and compound across chains like Ethereum, BSC, Polygon, Arbitrum, Base, and Solana.
Krystal API
DeFi liquidity pool explorer and transaction API supporting 13+ blockchains.
Quick Start
Base URL: https://api.krystal.app
# Get top pools across all chains
curl "https://api.krystal.app/all/v2/lp_explorer/top_pools?skipCheckAutomation=true"
# Get pool details
curl "https://api.krystal.app/all/v1/lp_explorer/pool_detail?chainId=8453&poolAddress=0x..."
Instructions
Finding Pools
- Use Top Pools to discover high-performing pools
- Use Pool Detail for specific pool information
- Use Pool Chart for liquidity distribution visualization
Creating LP Positions
- Get pool details including
tickSpacingfrom Pool Detail - Calculate tick range aligned with pool's tick spacing
- Use Zap In to build the transaction
- Sign and send
txDatausing a web3 provider
Increasing Liquidity (Swap and Increase)
- Get position
tokenIdfrom User Positions (for Solana, also passnftMintAddress) - Use Swap and Increase with
tokenInAddress,amountIn,swapSlippage, andliquiditySlippage - Set
fundFromOwner=trueandisVault=truewhen adding to a Krystal auto-farm vault position - Sign and send
txDatausing a web3 provider (same as Zap In)
Withdrawing LP Positions (Zap Out)
- Get position
tokenIdfrom User Positions (for Solana, also passnftMintAddress) - Use Zap Out with
targetToken,liquidityPercent,swapSlippage, andwithdrawSlippage- Set
liquidityPercent = 0to claim only fees (principal stays in the pool; claimed tokens are swapped totargetToken) - Use
0 < liquidityPercent ≤ 1to withdraw principal liquidity (plus any fees) totargetToken
- Set
- Sign and send
txDatausing a web3 provider (same as Zap In)
Compounding Fees into a Position
- Get position
tokenIdfrom User Positions (for Solana, also passnftMintAddress) - Use Compound with
swapSlippageandliquiditySlippageto reinvest unclaimed fees back into the same position - Set
isVault=truewhen compounding a Krystal auto-farm vault position - Sign and send
txDatausing a web3 provider
Rebalancing Positions (Adjust Range)
- Get position
tokenIdfrom User Positions (for Solana, also passnftMintAddress) - Get pool
tickSpacingfrom Pool Detail and choose newnewTickLowerandnewTickUpperaligned with it - Use Adjust Range with
swapSlippage,liquiditySlippage, andwithdrawSlippage - On EVM chains, sign and send
txDatadirectly. On Solana, call withbuildTx=truefirst to gettxData, then sign and send it.
Exploring Vaults
- Use Vaults to list available vaults
- Filter by
category(ALL_VAULT,NEW_VAULT,BOOST_VAULT) andisAutoFarmVaultto narrow results - Evaluate vaults by
tvl,apr,riskScore, andvaultSecurities - Use Vault Profile Stats to get a wallet's aggregate vault statistics (owned, joined, yields, PnL)
Viewing Positions
- Use User Positions to list a wallet's liquidity positions
- Check
statsByChain["all"]for aggregate portfolio metrics (total PnL, APR, unclaimed fees) - Filter by
chainIdsorpositionStatus(open/closed) to narrow results - Evaluate individual positions by
pnl,apr,impermanentLoss,compareWithHodl, andstatus(IN_RANGE/OUT_RANGE) - Use
refreshAll=truefor fresh on-chain data (slower) or omit for cached data (faster)
Wallet Operations
- Use Token Search to get user's token balances
- Select input token for swap/zap operations
Key Conventions
- Always use
skipCheckAutomation=truefor faster responses - Monetary values: Returned as strings to preserve precision
- APR values: Returned as numbers (percentages)
- Native tokens: Use NativeTokenAddress placeholders
- Amounts: Always in wei (smallest unit)
Endpoints Reference
| Endpoint | Purpose | |----------|---------| | Top Pools | Discover pools by TVL, volume, APR | | Pool Detail | Get pool info, tick spacing, incentives | | Pool Chart | Liquidity distribution and price history | | Zap In | Build swap + mint transaction | | Swap and Increase | Add liquidity to existing position (swap + increase) | | Zap Out | Build withdraw + swap transaction | | Compound | Reinvest unclaimed fees into existing position | | Adjust Range | Rebalance position to new tick range | | User Positions | List wallet LP positions & stats | | Vaults | List shared & auto-farm vaults | | Token Search | Query wallet token balances |
Types Reference
See types.md for complete type definitions:
Core Types: Token, Pool, PoolDetail, ChainId, LPProtocolAlias
Chart Types: PoolChartData, Tick, PricePoint
Transaction Types: TxData, ZapTxInfo, SwapAmount
Position Types: UserPosition, PositionChainStats, PositionTokenAmount, PositionPool
Vault Types: Vault, VaultOwner, VaultSecurity, VaultStats
Wallet Types: WalletToken, TokenBalance
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/krystal-defi-api-ms1aw4xq/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/krystal-defi-api-ms1aw4xq' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/krystal-defi-api-ms1aw4xq/download' --output '.skill-downloads/krystal-defi-api-ms1aw4xq/SKILL.md.part' && mv '.skill-downloads/krystal-defi-api-ms1aw4xq/SKILL.md.part' '.skill-downloads/krystal-defi-api-ms1aw4xq/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/krystal-defi-api-ms1aw4xq/SKILL.md' && test -s '.skill-downloads/krystal-defi-api-ms1aw4xq/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/krystal-defi-api' && cp -R '.skill-downloads/krystal-defi-api-ms1aw4xq' '.claude/skills/krystal-defi-api'Cursor
test -f '.skill-downloads/krystal-defi-api-ms1aw4xq/SKILL.md' && test -s '.skill-downloads/krystal-defi-api-ms1aw4xq/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/krystal-defi-api' && cp -R '.skill-downloads/krystal-defi-api-ms1aw4xq' '.cursor/skills/krystal-defi-api'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/krystal-defi-api-ms1aw4xq'openskills read 'krystal-defi-api-ms1aw4xq'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/krystal-defi-api-ms1aw4xq/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.