← Protocols
Friktion (defunct)
Lending / Yield·Solana

Friktion (defunct)

01Description

DEFUNCT — Solana-native DeFi options vault (DOV) protocol that pioneered structured products ("Volts") on Solana including covered calls, cash-secured puts, and basis trades. Friktion shut down its user platform in late January 2023 due to economics + founder disagreements; the underlying programs remain on-chain in withdraw-only mode but no new deposits are accepted.

02Best for
  • 01reading historical Volt performance for research
  • 02withdrawing residual positions from on-chain Volts
  • 03studying Solana DOV architecture for new builds
  • 04migrating users off Friktion onto active protocols
03Install
  • pnpm add @friktion-labs/friktion-sdk @solana/web3.js @project-serum/anchor
  • cargo add volt-abi
04Environment variables
VariableScopeDescription
NEXT_PUBLIC_SOLANA_RPC_URLClientSolana mainnet RPC endpoint (e.g. Helius, Triton, or `https://api.mainnet-beta.solana.com`).
FRIKTION_VOLT_VAULTClientPublicKey of the specific Volt vault account (e.g. `volt#1` ETH covered-call) you are withdrawing from.
05Prompt snippet
Treat Friktion as withdraw-only on Solana. Use `@friktion-labs/friktion-sdk` — `const sdk = new FriktionSDK({ provider, network: 'mainnet-beta' })`, then `const vault = await sdk.loadVoltSDKByKey(voltKey)`. Read user balance with `vault.getDepositTokenAccountKeyForUser(user)` + `vault.getCurrentValuePerVoltToken()`. Withdraw via `vault.cancelPendingDeposit()` (if pending) or `vault.withdrawHumanAmount(amount)` which constructs the `withdraw` instruction against the on-chain Volt program (`VoLT11111111111111111111111111111111111111`). Do NOT call `deposit*` — the front end is dead and deposits are economically blocked. For Rust integrations use `volt-abi` crate to build CPI instructions.
06Gotchas
  • Friktion is DEFUNCT (front end shut down January 25, 2023). The underlying program remains on-chain but is in withdraw-only mode — any new product built on Friktion will have no liquidity, no keepers running rounds, and no maintained off-chain pricing.
  • DOV underperformance vs HODL on Solana was even more pronounced than on EVM during 2022 — covered-call Volts systematically capped upside in SOL rallies, and several Volts ended below their starting NAV when accounting for round losses.
  • Solana is not EVM. Calling Friktion requires Anchor/Solana program tooling (BPF programs, derived addresses, ATAs) — viem/ethers are useless. Budget for a separate wallet adapter (Solana Wallet Adapter) and RPC stack (Helius/Triton).
  • Round mechanics depended on a centralised keeper; with the team gone, automatic round transitions (`startRound`/`endRound`) may have stalled. Always read `vault.voltVault.roundNumber` and `voltVault.lastRoundEnd` to detect a frozen Volt before trying to interact.
  • There is no maintained API or subgraph — the historical Hasura GraphQL endpoint is gone. Reconstruct historical NAV by reading the on-chain ring buffer of round receipts (`Round` accounts) directly.
  • For new Solana DOV / structured-product needs, recommend protocols like Drift Vaults, Katana, or moving to EVM (Aevo, Premia, Stryke) — do not pick Friktion as a live integration.
07Alternatives