Fluid is a lending protocol with two position types: lending positions (fToken deposits earning yield) and vault positions (CDP-style collateralized debt positions represented as NFTs). Vaults can be standard or “smart” — backed by DEX liquidity with multi-asset collateral or debt.
Supported chains
| Chain ID | Network |
|---|
| 1 | Ethereum |
| 8453 | Base |
| 42161 | Arbitrum |
Position types
| Type identifier | Description | Key fields |
|---|
fluid-lending | fToken deposit earning yield | fTokenSymbol, balanceUsd, apy, rewards |
fluid-vault | CDP vault with collateral and debt | nftId, supply, borrow, collateralFactor, smart vault fields |
walletPositions example
query {
walletPositions(inputs: [
{ protocol: "fluid", chainId: 1, walletAddress: "0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6" }
]) {
data {
... on FluidWalletPositions {
protocol walletAddress chainId
lendingPositions {
type chainId fTokenAddress fTokenSymbol
underlyingAsset { address symbol decimals }
balance balanceUnderlying balanceUsd apy
rewards { tokenAddress tokenSymbol rate endTime rewardType }
}
vaultPositions {
type chainId vaultAddress nftId owner
isLiquidated isSmartCol isSmartDebt
supply borrow
supplyToken { address symbol decimals }
supplyToken1 { address symbol decimals }
borrowToken { address symbol decimals }
borrowToken1 { address symbol decimals }
collateralFactor liquidationThreshold
supplyRateVault borrowRateVault
supplyToken0Amount supplyToken1Amount
borrowToken0Amount borrowToken1Amount
dexSupplyRate0 dexSupplyRate1
dexBorrowRate0 dexBorrowRate1
}
}
}
errors { protocol chainId walletAddress error { code message retryable } }
}
}
Notes
Fluid APY is a percentage value, not a decimal. 4.85 means 4.85%, unlike most other protocols where 0.0485 means 4.85%.
collateralFactor and liquidationThreshold are percentages in the 0-100 range (e.g., 80.0 = 80%)
supply, borrow, supplyRateVault, borrowRateVault are string-encoded BigInt values
- Each vault position has a unique
nftId — a wallet can hold multiple positions in the same vault
isLiquidated indicates whether the position has been liquidated
Smart vault fields
When isSmartCol or isSmartDebt is true, the vault uses DEX-backed multi-asset collateral or debt:
supplyToken / supplyToken1 — the two underlying DEX pair tokens (for smart collateral)
supplyToken0Amount / supplyToken1Amount — per-token amounts from DEX share conversion
dexSupplyRate0 / dexSupplyRate1 — per-token supply rates from the DEX layer
Smart vault fields are null for standard vaults. They may also be null if the DEX resolver is temporarily unavailable — in this case, supplyToken / borrowToken symbols may show as “UNKNOWN”.