Swap / DEX·EVM · Solana
Fjord Foundry
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.
- 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
- pnpm add viem wagmi @balancer-labs/sdk
| Variable | Scope | Description |
|---|---|---|
| EVM_RPC_URL | Server | Mainnet RPC for the chain the Fjord auction is deployed on (Ethereum, Base, Arbitrum, etc.). |
| FJORD_AUCTION_ADDRESS | Client | Deployed `FjordAuction` contract address for the specific sale (read from the auction's Fjord page at TGE). |
| FJORD_AUCTION_FACTORY_ADDRESS | Client | Optional — `FjordAuctionFactory` address if your app needs to enumerate or create auctions. |
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.
- ⚑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.