← Protocols
Fjord Foundry
01Description

Multi-chain token-sale platform centered on Liquidity Bootstrapping Pools (LBPs) with both 'Buy and Sell' and 'Buy Only' modes, plus fixed-price and tiered sales. LBP contracts (`FjordAuction`, `FjordAuctionFactory`, `FjordStaking`, `FjordPoints`) are open-source — covered by the Cyfrin/2024-08-fjord competitive audit. Supports Ethereum, Base, Arbitrum, Polygon, Optimism, BSC, Avalanche, and Solana.

02Best for
  • 01fair-launch LBP token sales with buy-only mode
  • 02fixed-price and tiered token sales
  • 03multi-chain launches (EVM + Solana)
  • 04FJO staking for platform alignment
  • 05creator-side LBP orchestration with anti-sniper config
03Install
  • pnpm add viem wagmi @balancer-labs/sdk
04Environment variables
VariableScopeDescription
EVM_RPC_URLServerMainnet RPC for the chain the Fjord auction is deployed on (Ethereum, Base, Arbitrum, etc.).
FJORD_AUCTION_ADDRESSClientDeployed `FjordAuction` contract address for the specific sale (read from the auction's Fjord page at TGE).
FJORD_AUCTION_FACTORY_ADDRESSClientOptional — `FjordAuctionFactory` address if your app needs to enumerate or create auctions.
05Prompt snippet
Fjord does not ship a first-party JS SDK — interact directly with `FjordAuction` and `FjordAuctionFactory` contracts via viem/wagmi. To buy into an LBP, read `startTime`, `endTime`, `startWeights`, `endWeights`, and current pool balances, compute the spot price from the Balancer-style weighted-pool formula, then call `swap` (Buy-and-Sell mode) or `buy(amountIn, minAmountOut, deadline)` (Buy-Only mode). For staking-side flows, use `FjordStaking.stake(uint256)` and `FjordPoints.claim()` to earn FJO points. Track auction state via on-chain events (`Buy`, `Sell`, `WeightsUpdated`) — there is no first-party indexer, so use Goldsky/Envio/SimpleHash subgraphs.
06Gotchas
  • LBP weight-schedule manipulation is possible if the auction owner retains admin keys — verify `owner()` is renounced or held by a multisig before users participate; read `startWeights` and `endWeights` on-chain, not from the UI.
  • 'Buy Only' mode disables sells: users cannot exit until auction end; communicate this clearly or you will get angry users when slippage gets brutal near `endTime`.
  • Multi-chain — the same project may run separate auctions on Base + Ethereum; bridging post-listing requires LayerZero/Across/Stargate adapters that may not exist at launch.
  • Anti-sniper: Fjord auctions sometimes set per-tx max buy or per-wallet caps; revert messages are generic, so probe `maxPerWallet` / `maxPerTx` from the contract first.
  • KYC is sometimes required at the UI level for compliance but not enforced on-chain; if you re-expose Fjord's contracts in your own UI, you assume the geofencing burden.
  • Solana auctions use a separate program (not a Balancer fork) — the EVM `FjordAuction` ABI does NOT apply to Solana sales; route Solana via the Solana program IDL only.
  • Rug/scam filter: Fjord vets but does not guarantee project quality; surface audit status, team disclosure, and tokenomics before letting users commit.
07Alternatives