# Table of Contents - [Welcome | Flying Tulip Docs](#welcome-flying-tulip-docs) - [Search the documentation](#search-the-documentation) - [Brand Kit | Flying Tulip Docs](#brand-kit-flying-tulip-docs) - [Audits & Responsible Disclosure | Flying Tulip Docs](#audits-responsible-disclosure-flying-tulip-docs) - [Smart Contracts | Flying Tulip Docs](#smart-contracts-flying-tulip-docs) - [pFT | Flying Tulip Docs](#pft-flying-tulip-docs) - [FT Token | Flying Tulip Docs](#ft-token-flying-tulip-docs) - [ftYieldWrapper | Flying Tulip Docs](#ftyieldwrapper-flying-tulip-docs) - [PutManager | Flying Tulip Docs](#putmanager-flying-tulip-docs) - [Glossary | Flying Tulip Docs](#glossary-flying-tulip-docs) - [Capital Allocation | Flying Tulip Docs](#capital-allocation-flying-tulip-docs) - [Contract Addresses | Flying Tulip Docs](#contract-addresses-flying-tulip-docs) - [Technical Appendix | Flying Tulip Docs](#technical-appendix-flying-tulip-docs) - [Flying Tulip | Flying Tulip Docs](#flying-tulip-flying-tulip-docs) - [Intent Whitelist | Flying Tulip Docs](#intent-whitelist-flying-tulip-docs) - [Supporter Whitelist | Flying Tulip Docs](#supporter-whitelist-flying-tulip-docs) - [Public Capital Allocation | Flying Tulip Docs](#public-capital-allocation-flying-tulip-docs) - [Risks, Security, Audits | Flying Tulip Docs](#risks-security-audits-flying-tulip-docs) - [Multisigs | Flying Tulip Docs](#multisigs-flying-tulip-docs) - [Futures | Flying Tulip Docs](#futures-flying-tulip-docs) - [Insurance | Flying Tulip Docs](#insurance-flying-tulip-docs) - [Lend | Flying Tulip Docs](#lend-flying-tulip-docs) - [Spot | Flying Tulip Docs](#spot-flying-tulip-docs) - [ftUSD | Flying Tulip Docs](#ftusd-flying-tulip-docs) - [Token | Flying Tulip Docs](#token-flying-tulip-docs) - [Roadmap | Flying Tulip Docs](#roadmap-flying-tulip-docs) - [Flying Tulip Product Suite | Flying Tulip Docs](#flying-tulip-product-suite-flying-tulip-docs) --- # Welcome | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/#__docusaurus_skipToContent_fallback) On this page This hub connects you to everything you need to understand, use, and build with Flying Tulip's DeFi ecosystem. Whether you're a curious newcomer, an active user, or a developer looking to integrate with our protocols, you'll find the resources you need right here. Our documentation is designed to make advanced DeFi concepts accessible to everyone while providing the technical depth that builders require. Explore product explanations written in plain language, step-by-step guides for using our platforms, comprehensive technical references for developers, and everything in between. What You'll Find Here[​](https://docs.flyingtulip.com/#what-youll-find-here "Direct link to What You'll Find Here") -------------------------------------------------------------------------------------------------------------------- * **Product Overviews**: Clear, straightforward explanations of Flying Tulip's financial products * **User Guides**: Practical tutorials on how to use our platforms to maximize capital efficiency * **Developer Resources**: SDK references, API documentation, and integration guides to build with and integrate Flying Tulip * **Community & Support**: Links to our websites, blogs, social channels, and support resources * **Design & Branding**: Guidelines and assets for partners and content creators We've designed this documentation site to grow with you. Start with the basics and progress to advanced topics as you become more familiar with our ecosystem. Our mission is to make DeFi accessible to everyone, and that begins right here with education. Choose a section from the navigation to begin your journey with Flying Tulip. [![Flying Tulip product overview](https://docs.flyingtulip.com/img/FlyingTulip_Product.webp)\ \ **Product Overview**\ \ Get to know the Flying Tulip ecosystem and how it operates.](https://docs.flyingtulip.com/product-suite/) [![Flying Tulip capital allocation](https://docs.flyingtulip.com/img/FlyingTulip_App.webp)\ \ **Capital Allocation**\ \ Learn more about the Capital Allocation event](https://docs.flyingtulip.com/capital-allocation/) * [What You'll Find Here](https://docs.flyingtulip.com/#what-youll-find-here) --- # Search the documentation [Skip to main content](https://docs.flyingtulip.com/search/#__docusaurus_skipToContent_fallback) Search the documentation ======================== --- # Brand Kit | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/brand/#__docusaurus_skipToContent_fallback) On this page Logo[​](https://docs.flyingtulip.com/brand/#logo "Direct link to Logo") ------------------------------------------------------------------------ Our core identifier, in three colour modes. ![Flying Tulip Logo Dark](https://docs.flyingtulip.com/img/FlyingTulip_Logo_Dark.webp) **Logo: Dark** Primary Logo for use on light backgrounds. [SVG](https://docs.flyingtulip.com/assets/Logo/FlyingTulip_Logo_Dark.svg) [PNG](https://docs.flyingtulip.com/assets/Logo/FlyingTulip_Logo_Dark.png) ![Flying Tulip Logo Purple](https://docs.flyingtulip.com/img/FlyingTulip_Logo_Purple.webp) **Logo: Purple** Primary Logo for use on light and dark backgrounds. [SVG](https://docs.flyingtulip.com/assets/Logo/FlyingTulip_Logo_Purple.svg) [PNG](https://docs.flyingtulip.com/assets/Logo/FlyingTulip_Logo_Purple.png) ![Flying Tulip Logo Light](https://docs.flyingtulip.com/img/FlyingTulip_Logo_Light.webp) **Logo: Light** Primary Logo for use on dark backgrounds. [SVG](https://docs.flyingtulip.com/assets/Logo/FlyingTulip_Logo_Light.svg) [PNG](https://docs.flyingtulip.com/assets/Logo/FlyingTulip_Logo_Light.png) Symbol: The Tulip[​](https://docs.flyingtulip.com/brand/#symbol-the-tulip "Direct link to Symbol: The Tulip") -------------------------------------------------------------------------------------------------------------- The Tulip symbol, in three colour modes. ![Flying Tulip Symbol Dark](https://docs.flyingtulip.com/img/FlyingTulip_Symbol_Dark.webp) **Symbol: Dark** [SVG](https://docs.flyingtulip.com/assets/Symbol/FlyingTulip_Symbol_Dark.svg) [PNG](https://docs.flyingtulip.com/assets/Symbol/FlyingTulip_Symbol_Dark.png) ![Flying Tulip Symbol Purple](https://docs.flyingtulip.com/img/FlyingTulip_Symbol_Purple.webp) **Symbol: Purple** [SVG](https://docs.flyingtulip.com/assets/Symbol/FlyingTulip_Symbol_Purple.svg) [PNG](https://docs.flyingtulip.com/assets/Symbol/FlyingTulip_Symbol_Purple.png) ![Flying Tulip Symbol Light](https://docs.flyingtulip.com/img/FlyingTulip_Symbol_Light.webp) **Symbol: Light** [SVG](https://docs.flyingtulip.com/assets/Symbol/FlyingTulip_Symbol_Light.svg) [PNG](https://docs.flyingtulip.com/assets/Symbol/FlyingTulip_Symbol_Light.png) Typography[​](https://docs.flyingtulip.com/brand/#typography "Direct link to Typography") ------------------------------------------------------------------------------------------ Three typefaces, each with a distinct role. Use of GT Ultra requires a license, for all other fonts visit [fonts.google.com](https://fonts.google.com/) . ![GT Ultra sample](https://docs.flyingtulip.com/img/FlyingTulip_Typography_GTUltra.webp) **GT Ultra Fine** Primary typeface used for headlines. ![Inter sample](https://docs.flyingtulip.com/img/FlyingTulip_Typography_Inter.webp) **Inter** Support typeface used for body copy. ![Geist Mono sample](https://docs.flyingtulip.com/img/FlyingTulip_Typography_GeistMono.webp) **Geist Mono** Technical font used for Code. Colors[​](https://docs.flyingtulip.com/brand/#colors "Direct link to Colors") ------------------------------------------------------------------------------ Our colour palette, a mono foundation with purple hues. **Purple** For use as a pop colour, to highlight and guide. #7559FF **Black** A black and white foundation for typography and backgrounds. #000000 **White** A black and white foundation for typography and backgrounds. #FFFFFF * [Logo](https://docs.flyingtulip.com/brand/#logo) * [Symbol: The Tulip](https://docs.flyingtulip.com/brand/#symbol-the-tulip) * [Typography](https://docs.flyingtulip.com/brand/#typography) * [Colors](https://docs.flyingtulip.com/brand/#colors) --- # Audits & Responsible Disclosure | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/risks/audits-and-responsible-disclosure/#__docusaurus_skipToContent_fallback) On this page > ! > > **Status** > > * Audit firm(s): **TBA**. > * Reports: will be **published** in this section (with versioning and checksums). > * Scope (initial): **PutManager**, **FT Token**, **ftYieldWrapper** and associated libraries. Additional audits precede enabling Spot/Lend/Futures with real funds. Approach[​](https://docs.flyingtulip.com/risks/audits-and-responsible-disclosure/#approach "Direct link to Approach") ---------------------------------------------------------------------------------------------------------------------- * **Multiple reviews** (internal + external) before enabling capital‑bearing features. * **Re‑audit on material changes** or new major modules. * **Gating & caps** post‑deployment until audit findings are addressed and monitoring is live. * **Public artifacts:** audit reports, diffs vs. deployed bytecode, and "what changed since audit" notes. Bug Bounty (planned)[​](https://docs.flyingtulip.com/risks/audits-and-responsible-disclosure/#bug-bounty-planned "Direct link to Bug Bounty (planned)") -------------------------------------------------------------------------------------------------------------------------------------------------------- * Public bounty with clear scope, severity tiers, and payouts. * Acknowledgment policy and response SLAs published with the bounty. * [Approach](https://docs.flyingtulip.com/risks/audits-and-responsible-disclosure/#approach) * [Bug Bounty (planned)](https://docs.flyingtulip.com/risks/audits-and-responsible-disclosure/#bug-bounty-planned) --- # Smart Contracts | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/smart-contracts/#__docusaurus_skipToContent_fallback) The source code of the Flying Tulip Ecosystem contracts is available on Github. All contracts are licenced under XXX. --- # pFT | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/smart-contracts/pft/#__docusaurus_skipToContent_fallback) On this page Overview[​](https://docs.flyingtulip.com/smart-contracts/pft/#overview "Direct link to Overview") -------------------------------------------------------------------------------------------------- The pFT contract is an ERC721 NFT implementation representing PUT options for Flying Tulip tokens, allowing holders to divest their FT tokens back to original collateral at a predetermined strike price. Each NFT represents one PUT position with its specific terms. Access Control[​](https://docs.flyingtulip.com/smart-contracts/pft/#access-control "Direct link to Access Control") -------------------------------------------------------------------------------------------------------------------- The contract has one privileged role: * **Put Manager**: Controls all operational aspects including minting new PUT options, processing withdrawals, divests, and burns. This is typically the PutManager contract. The NFT ownership model ensures that only token owners can perform actions on their specific PUT positions. Contract Inheritance[​](https://docs.flyingtulip.com/smart-contracts/pft/#contract-inheritance "Direct link to Contract Inheritance") -------------------------------------------------------------------------------------------------------------------------------------- The contract also inherits all standard ERC721Enumerable view functions for token enumeration and ownership queries. Write Functions[​](https://docs.flyingtulip.com/smart-contracts/pft/#write-functions "Direct link to Write Functions") ----------------------------------------------------------------------------------------------------------------------- ### initialize[​](https://docs.flyingtulip.com/smart-contracts/pft/#initialize "Direct link to initialize") Initializes the contract with put manager address function initialize(address _putManager) public initializer #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/pft/#parameters "Direct link to Parameters") `_putManager`: Address of the put manager ### setPutManager[​](https://docs.flyingtulip.com/smart-contracts/pft/#setputmanager "Direct link to setPutManager") Updates the put manager address function setPutManager(address _putManager) external onlyPutManager #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/pft/#parameters-1 "Direct link to Parameters") `_putManager`: Address of the put manager ### mint[​](https://docs.flyingtulip.com/smart-contracts/pft/#mint "Direct link to mint") Creates a new PUT option NFT function mint(address owner, uint256 amount, uint256 ft, uint256 usd, address token) external onlyPutManager nonReentrant returns (uint256 id) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/pft/#parameters-2 "Direct link to Parameters") `owner`: Recipient address `amount`: Collateral amount `ft`: FT token amount `usd`: Strike price `token`: Collateral token address #### Returns[​](https://docs.flyingtulip.com/smart-contracts/pft/#returns "Direct link to Returns") `id`: New token ID ### withdrawFT[​](https://docs.flyingtulip.com/smart-contracts/pft/#withdrawft "Direct link to withdrawFT") Withdraws FT tokens from a PUT position function withdrawFT(address owner, uint256 id, uint256 amount) external onlyPutManager nonReentrant returns (uint256 strike, address token) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/pft/#parameters-3 "Direct link to Parameters") `owner`: NFT owner address `id`: NFT token ID `amount`: FT amount to withdraw #### Returns[​](https://docs.flyingtulip.com/smart-contracts/pft/#returns-1 "Direct link to Returns") `strike`: Strike price `token`: Collateral token address ### divest[​](https://docs.flyingtulip.com/smart-contracts/pft/#divest "Direct link to divest") Exercises the PUT to divest FT for collateral. function divest(address owner, uint256 id, uint256 amount) external onlyPutManager nonReentrant returns (uint256 strikeAmount, address token) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/pft/#parameters-4 "Direct link to Parameters") `owner`: NFT owner address `id`: NFT token ID `amount`: FT amount to divest #### Returns[​](https://docs.flyingtulip.com/smart-contracts/pft/#returns-2 "Direct link to Returns") `strike`: Strike price `token`: Collateral token address ### burn[​](https://docs.flyingtulip.com/smart-contracts/pft/#burn "Direct link to burn") Burns a PUT token during public offering function burn(address owner, uint256 id) external onlyPutManager nonReentrant #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/pft/#parameters-5 "Direct link to Parameters") `owner`: NFT owner address `id`: NFT token ID View Functions[​](https://docs.flyingtulip.com/smart-contracts/pft/#view-functions "Direct link to View Functions") -------------------------------------------------------------------------------------------------------------------- ### puts[​](https://docs.flyingtulip.com/smart-contracts/pft/#puts "Direct link to puts") Returns the PUT details for a given token ID mapping(uint256 tokenId => Put put) public puts #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/pft/#parameters-6 "Direct link to Parameters") `tokenId`: NFT token ID #### Returns[​](https://docs.flyingtulip.com/smart-contracts/pft/#returns-3 "Direct link to Returns") Put: Struct with PUT details ### nextIndex[​](https://docs.flyingtulip.com/smart-contracts/pft/#nextindex "Direct link to nextIndex") Returns the next token ID to be minted uint96 public nextIndex #### Returns[​](https://docs.flyingtulip.com/smart-contracts/pft/#returns-4 "Direct link to Returns") `uint96`: Next token ID ### putManager[​](https://docs.flyingtulip.com/smart-contracts/pft/#putmanager "Direct link to putManager") Returns the current put manager address address public putManager #### Returns[​](https://docs.flyingtulip.com/smart-contracts/pft/#returns-5 "Direct link to Returns") `address`: Put manager address ### divestable[​](https://docs.flyingtulip.com/smart-contracts/pft/#divestable "Direct link to divestable") Returns divestable info for a PUT function divestable(uint256 id) external view returns (uint256 divestableAmount, uint256 strikeAmount, address token) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/pft/#parameters-7 "Direct link to Parameters") `id`: NFT token ID #### Returns[​](https://docs.flyingtulip.com/smart-contracts/pft/#returns-6 "Direct link to Returns") `divestableAmount`: Amount of FT that can be divested `strikeAmount`: Strike price `token`: Collateral token address ### supportsInterface[​](https://docs.flyingtulip.com/smart-contracts/pft/#supportsinterface "Direct link to supportsInterface") Checks if contract implements an interface function supportsInterface(bytes4 interfaceId) public view override returns (bool) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/pft/#parameters-8 "Direct link to Parameters") `interfaceId`: Interface identifier #### Returns[​](https://docs.flyingtulip.com/smart-contracts/pft/#returns-7 "Direct link to Returns") `bool`: Interface support status * [Overview](https://docs.flyingtulip.com/smart-contracts/pft/#overview) * [Access Control](https://docs.flyingtulip.com/smart-contracts/pft/#access-control) * [Contract Inheritance](https://docs.flyingtulip.com/smart-contracts/pft/#contract-inheritance) * [Write Functions](https://docs.flyingtulip.com/smart-contracts/pft/#write-functions) * [initialize](https://docs.flyingtulip.com/smart-contracts/pft/#initialize) * [setPutManager](https://docs.flyingtulip.com/smart-contracts/pft/#setputmanager) * [mint](https://docs.flyingtulip.com/smart-contracts/pft/#mint) * [withdrawFT](https://docs.flyingtulip.com/smart-contracts/pft/#withdrawft) * [divest](https://docs.flyingtulip.com/smart-contracts/pft/#divest) * [burn](https://docs.flyingtulip.com/smart-contracts/pft/#burn) * [View Functions](https://docs.flyingtulip.com/smart-contracts/pft/#view-functions) * [puts](https://docs.flyingtulip.com/smart-contracts/pft/#puts) * [nextIndex](https://docs.flyingtulip.com/smart-contracts/pft/#nextindex) * [putManager](https://docs.flyingtulip.com/smart-contracts/pft/#putmanager) * [divestable](https://docs.flyingtulip.com/smart-contracts/pft/#divestable) * [supportsInterface](https://docs.flyingtulip.com/smart-contracts/pft/#supportsinterface) --- # FT Token | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/smart-contracts/ft-token/#__docusaurus_skipToContent_fallback) On this page Overview[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#overview "Direct link to Overview") ------------------------------------------------------------------------------------------------------- The FT token is Flying Tulip's native cross-chain token built on LayerZero's OFT standard, enabling seamless transfers between supported blockchains while incorporating pause functionality and role-based access control. Technical Implementation[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#technical-implementation "Direct link to Technical Implementation") ------------------------------------------------------------------------------------------------------------------------------------------------------- The FT token contract: * Is initially deployed with 10 billion tokens minted on Sonic chain (ID 146) * Implements ERC20Permit for gasless approval transactions * Features a pausing mechanism that can be controlled by owner or configurator * Supports burning functionality for token redemption mechanisms * Uses LayerZero's OFT standard for cross-chain transfers Access Control[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#access-control "Direct link to Access Control") ------------------------------------------------------------------------------------------------------------------------- The contract has two privileged roles: * **Owner**: Can change token name/symbol and toggle pause state * **Configurator**: Can toggle pause state and transfer configurator role When paused, transfers are restricted except for: * The configurator address * The LayerZero endpoint * Messages initiated by the configurator Contract Inheritance[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#contract-inheritance "Direct link to Contract Inheritance") ------------------------------------------------------------------------------------------------------------------------------------------- The contract inherits all standard ERC20 functions (`balanceOf`, `totalSupply`, `allowance`, etc.) and ERC20Permit functions (`permit`, `nonces`, `DOMAIN_SEPARATOR`). Write Functions[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#write-functions "Direct link to Write Functions") ---------------------------------------------------------------------------------------------------------------------------- ### transfer[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#transfer "Direct link to transfer") Transfers tokens from caller to recipient function transfer(address to, uint256 amount) external returns (bool) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters "Direct link to Parameters") `to`: Recipient address `amount`: Amount to transfer #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns "Direct link to Returns") `bool`: Success boolean ### transferFrom[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#transferfrom "Direct link to transferFrom") Transfers tokens using allowance mechanism function transferFrom(address from, address to, uint256 amount) external returns (bool) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-1 "Direct link to Parameters") `from`: Source address `to`: Destination address `amount`: Amount to transfer #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-1 "Direct link to Returns") `bool`: Success boolean ### approve[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#approve "Direct link to approve") Sets spender's allowance over caller's tokens function approve(address spender, uint256 amount) external returns (bool) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-2 "Direct link to Parameters") `spender`: Address to authorize `amount`: Allowance amount #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-2 "Direct link to Returns") `bool`: Success boolean ### increaseAllowance[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#increaseallowance "Direct link to increaseAllowance") Increases spender's allowance function increaseAllowance(address spender, uint256 addedValue) external returns (bool) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-3 "Direct link to Parameters") `spender`: Address to authorize `addedValue`: Amount to add to allowance #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-3 "Direct link to Returns") `bool`: Success boolean ### decreaseAllowance[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#decreaseallowance "Direct link to decreaseAllowance") Decreases spender's allowance function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-4 "Direct link to Parameters") `spender`: Address to authorize `subtractedValue`: Amount to subtract from allowance #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-4 "Direct link to Returns") `bool`: Success boolean ### permit[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#permit "Direct link to permit") Approves spender to spend owner's tokens via signed authorization function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-5 "Direct link to Parameters") `owner`: Token owner `spender`: Authorized spender `value`: Amount to approve `deadline`: Permit expiration timestamp `v`, `r`, `s`: Signature components ### burn[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#burn "Direct link to burn") Burns tokens from caller's balance function burn(uint256 amount) external #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-6 "Direct link to Parameters") `amount`: Number of tokens to burn ### burnFrom[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#burnfrom "Direct link to burnFrom") Burns tokens from another account (requires approval) function burnFrom(address account, uint256 amount) external #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-7 "Direct link to Parameters") `account`: Address to burn from `amount`: Number of tokens to burn ### setPaused[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#setpaused "Direct link to setPaused") Pauses or unpauses token transfers function setPaused(bool isPaused) external #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-8 "Direct link to Parameters") `isPaused`: True to pause, false to unpause ### transferConfigurator[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#transferconfigurator "Direct link to transferConfigurator") Transfers configurator role to new address function transferConfigurator(address newConfigurator) external #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-9 "Direct link to Parameters") `newConfigurator`: New configurator address ### setName[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#setname "Direct link to setName") Changes token name function setName(string memory newName) external #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-10 "Direct link to Parameters") `newName`: New token name ### setSymbol[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#setsymbol "Direct link to setSymbol") Changes token symbol function setSymbol(string memory newSymbol) external #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-11 "Direct link to Parameters") `newSymbol`: New token symbol ### send[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#send "Direct link to send") Sends tokens to another chain function send(uint16 dstChainId, bytes calldata to, uint256 amount, address zroPaymentAddress, bytes calldata adapterParams) external payable #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-12 "Direct link to Parameters") `dstChainId`: Destination chain ID `to`: Recipient address bytes `amount`: Amount to send `zroPaymentAddress`: ZRO payment address `adapterParams`: Parameters for the adapter View Functions[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#view-functions "Direct link to View Functions") ------------------------------------------------------------------------------------------------------------------------- ### name[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#name "Direct link to name") Gets token name function name() public view returns (string memory) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-5 "Direct link to Returns") `string`: Current token name ### symbol[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#symbol "Direct link to symbol") Gets token symbol function symbol() public view returns (string memory) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-6 "Direct link to Returns") `string`: Current token symbol ### totalSupply[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#totalsupply "Direct link to totalSupply") Returns the total token supply function totalSupply() external view returns (uint256) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-7 "Direct link to Returns") `uint256`: Total token supply ### balanceOf[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#balanceof "Direct link to balanceOf") Returns the token balance of an account function balanceOf(address account) external view returns (uint256) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-13 "Direct link to Parameters") `account`: Address to query #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-8 "Direct link to Returns") `uint256`: Token balance ### allowance[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#allowance "Direct link to allowance") Returns amount spender is allowed to use on behalf of owner function allowance(address owner, address spender) external view returns (uint256) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-14 "Direct link to Parameters") `owner`: Token owner `spender`: Authorized spender #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-9 "Direct link to Returns") `uint256`: Allowance amount ### nonces[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#nonces "Direct link to nonces") Returns the current nonce for owner (used in permit) function nonces(address owner) external view returns (uint256) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-15 "Direct link to Parameters") `owner`: Address to query #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-10 "Direct link to Returns") `uint256`: Current nonce ### configurator[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#configurator "Direct link to configurator") Gets configurator address function configurator() external view returns (address) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-11 "Direct link to Returns") `address`: Current configurator address ### estimteSendFee[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#estimtesendfee "Direct link to estimteSendFee") Estimates fee for sending tokens to another chain function estimateSendFee(uint16 dstChainId, bytes calldata to, uint256 amount, bool useZro, bytes calldata adapterParams) external view returns (uint256 nativeFee, uint256 zroFee) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#parameters-16 "Direct link to Parameters") `dstChainId`: Destination chain ID `to`: Recipient address bytes `amount`: Amount to send `useZro`: Whether to use ZRO token for fees `adapterParams`: Parameters for the adapter #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-12 "Direct link to Returns") `nativeFee`: Fee in native currency `zroFee`: Fee in ZRO tokens ### circulatingSupply[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#circulatingsupply "Direct link to circulatingSupply") Returns the circulating supply of tokens on the current chain function circulatingSupply() external view returns (uint256) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-13 "Direct link to Returns") `uint256`: Circulating supply ### owner[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#owner "Direct link to owner") Returns the address of the current owner function owner() public view returns (address) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-14 "Direct link to Returns") `address`: Owner address ### SONIC\_CHAIN\_ID[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#sonic_chain_id "Direct link to SONIC_CHAIN_ID") Gets the Sonic chain ID function SONIC_CHAIN_ID() public view returns (uint16) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-15 "Direct link to Returns") `uin16`: Sonic chain ID (146) ### DOMAIN\_SEPARATOR[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#domain_separator "Direct link to DOMAIN_SEPARATOR") Returns the domain separator used in the encoding of the signature for permit function DOMAIN_SEPARATOR() external view returns (bytes32) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-16 "Direct link to Returns") `bytes32`: Domain separator hash ### eip712Domain[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#eip712domain "Direct link to eip712Domain") Returns the EIP712 domain values used for permit signatures function eip712Domain() external view returns (bytes1 fields, string memory name, string memory version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] memory extensions) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#returns-17 "Direct link to Returns") `fields`: Bit field indicating which parameters are present `name`: Name of the signing domain (token name) `version`: Version of the signing domain (typically "1") `chainId`: Chain ID where contract is deployed `verifyingContract`: Address of the token contract `salt`: Domain disambiguator (typically unused) `extensions`: Array for future extensions (typically empty) Mainnet Deployments[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#mainnet-deployments "Direct link to Mainnet Deployments") ---------------------------------------------------------------------------------------------------------------------------------------- ### Ethereum: 1[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#ethereum-1 "Direct link to Ethereum: 1") | Contract | Address | | --- | --- | | Flying Tulip | 0x0 | ### Binance Smart Chain: 56[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#binance-smart-chain-56 "Direct link to Binance Smart Chain: 56") | Contract | Address | | --- | --- | | Flying Tulip | 0x0 | ### Sonic: 146[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#sonic-146 "Direct link to Sonic: 146") | Contract | Address | | --- | --- | | Flying Tulip | 0x0 | ### Avalanche: 43114[​](https://docs.flyingtulip.com/smart-contracts/ft-token/#avalanche-43114 "Direct link to Avalanche: 43114") | Contract | Address | | --- | --- | | Flying Tulip | 0x0 | * [Overview](https://docs.flyingtulip.com/smart-contracts/ft-token/#overview) * [Technical Implementation](https://docs.flyingtulip.com/smart-contracts/ft-token/#technical-implementation) * [Access Control](https://docs.flyingtulip.com/smart-contracts/ft-token/#access-control) * [Contract Inheritance](https://docs.flyingtulip.com/smart-contracts/ft-token/#contract-inheritance) * [Write Functions](https://docs.flyingtulip.com/smart-contracts/ft-token/#write-functions) * [transfer](https://docs.flyingtulip.com/smart-contracts/ft-token/#transfer) * [transferFrom](https://docs.flyingtulip.com/smart-contracts/ft-token/#transferfrom) * [approve](https://docs.flyingtulip.com/smart-contracts/ft-token/#approve) * [increaseAllowance](https://docs.flyingtulip.com/smart-contracts/ft-token/#increaseallowance) * [decreaseAllowance](https://docs.flyingtulip.com/smart-contracts/ft-token/#decreaseallowance) * [permit](https://docs.flyingtulip.com/smart-contracts/ft-token/#permit) * [burn](https://docs.flyingtulip.com/smart-contracts/ft-token/#burn) * [burnFrom](https://docs.flyingtulip.com/smart-contracts/ft-token/#burnfrom) * [setPaused](https://docs.flyingtulip.com/smart-contracts/ft-token/#setpaused) * [transferConfigurator](https://docs.flyingtulip.com/smart-contracts/ft-token/#transferconfigurator) * [setName](https://docs.flyingtulip.com/smart-contracts/ft-token/#setname) * [setSymbol](https://docs.flyingtulip.com/smart-contracts/ft-token/#setsymbol) * [send](https://docs.flyingtulip.com/smart-contracts/ft-token/#send) * [View Functions](https://docs.flyingtulip.com/smart-contracts/ft-token/#view-functions) * [name](https://docs.flyingtulip.com/smart-contracts/ft-token/#name) * [symbol](https://docs.flyingtulip.com/smart-contracts/ft-token/#symbol) * [totalSupply](https://docs.flyingtulip.com/smart-contracts/ft-token/#totalsupply) * [balanceOf](https://docs.flyingtulip.com/smart-contracts/ft-token/#balanceof) * [allowance](https://docs.flyingtulip.com/smart-contracts/ft-token/#allowance) * [nonces](https://docs.flyingtulip.com/smart-contracts/ft-token/#nonces) * [configurator](https://docs.flyingtulip.com/smart-contracts/ft-token/#configurator) * [estimteSendFee](https://docs.flyingtulip.com/smart-contracts/ft-token/#estimtesendfee) * [circulatingSupply](https://docs.flyingtulip.com/smart-contracts/ft-token/#circulatingsupply) * [owner](https://docs.flyingtulip.com/smart-contracts/ft-token/#owner) * [SONIC\_CHAIN\_ID](https://docs.flyingtulip.com/smart-contracts/ft-token/#sonic_chain_id) * [DOMAIN\_SEPARATOR](https://docs.flyingtulip.com/smart-contracts/ft-token/#domain_separator) * [eip712Domain](https://docs.flyingtulip.com/smart-contracts/ft-token/#eip712domain) * [Mainnet Deployments](https://docs.flyingtulip.com/smart-contracts/ft-token/#mainnet-deployments) * [Ethereum: 1](https://docs.flyingtulip.com/smart-contracts/ft-token/#ethereum-1) * [Binance Smart Chain: 56](https://docs.flyingtulip.com/smart-contracts/ft-token/#binance-smart-chain-56) * [Sonic: 146](https://docs.flyingtulip.com/smart-contracts/ft-token/#sonic-146) * [Avalanche: 43114](https://docs.flyingtulip.com/smart-contracts/ft-token/#avalanche-43114) --- # ftYieldWrapper | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#__docusaurus_skipToContent_fallback) On this page Overview[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#overview "Direct link to Overview") ------------------------------------------------------------------------------------------------------------- The ftYieldWrapper contract is a capital management system that wraps a single underlying asset (e.g., USDC) and issues corresponding ftTokens (e.g., ftUSDC). It enables deploying assets across multiple yield-generating strategies while maintaining a unified interface for deposits, withdrawals, and yield claiming. The contract serves as a key infrastructure component for Flying Tulip's yield generation and capital efficiency. Access Control[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#access-control "Direct link to Access Control") ------------------------------------------------------------------------------------------------------------------------------- The contract has four privileged roles: * **Yield Claimer**: Primary administrator who can deploy capital to strategies, force withdrawals, and claim yield. Also manages the role assignments. * **Strategy Manager**: Responsible for adding, removing, and reordering strategies. * **Treasury**: Receives claimed yield and serves as a confirming party for role changes. * **Sub Yield Claimer**: Secondary yield claiming role with limited permissions. These roles operate with a two-step confirmation process for critical changes, enhancing security. Contract Inheritance[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#contract-inheritance "Direct link to Contract Inheritance") ------------------------------------------------------------------------------------------------------------------------------------------------- The contract also inherits all standard ERC20 view and transfer functions. Write Functions[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#write-functions "Direct link to Write Functions") ---------------------------------------------------------------------------------------------------------------------------------- ### setYieldClaimer[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#setyieldclaimer "Direct link to setYieldClaimer") Sets a new yield claimer (requires confirmation) function setYieldClaimer(address _yieldClaimer) external onlyYieldClaimer #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters "Direct link to Parameters") `_yieldClaimer`:: Address of the proposed new yield claimer ### setSubYieldClaimer[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#setsubyieldclaimer "Direct link to setSubYieldClaimer") Sets the sub yield claimer directly function setSubYieldClaimer(address _subYieldClaimer) external onlyYieldClaimer #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-1 "Direct link to Parameters") `_subYieldClaimer`: Address of the new sub yield claimer ### confirmYieldClaimer[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#confirmyieldclaimer "Direct link to confirmYieldClaimer") Confirms a pending yield claimer change function confirmYieldClaimer() external ### setStrategyManager[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#setstrategymanager "Direct link to setStrategyManager") Sets a new strategy manager (requires confirmation) function setStrategyManager(address _strategyManager) external onlyStrategyManager #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-2 "Direct link to Parameters") `_strategyManager`: Address of the proposed new strategy manager ### confirmStrategyManager[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#confirmstrategymanager "Direct link to confirmStrategyManager") Confirms a pending strategy manager change function confirmStrategyManager() external ### setTreasury[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#settreasury "Direct link to setTreasury") Sets a new treasury (requires confirmation) function setTreasury(address _treasury) external #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-3 "Direct link to Parameters") `_treasury`: Address of the proposed new treasury ### confirmTreasury[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#confirmtreasury "Direct link to confirmTreasury") Confirms a pending treasury change function confirmTreasury() external ### setStrategy[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#setstrategy "Direct link to setStrategy") Sets a new strategy to be added (requires confirmation) function setStrategy(address _strategy) external onlyStrategyManager #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-4 "Direct link to Parameters") `_strategy`: Address of the strategy to add ### confirmStrategy[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#confirmstrategy "Direct link to confirmStrategy") Confirms adding a pending strategy function confirmStrategy() external ### removeStrategy[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#removestrategy "Direct link to removeStrategy") Removes a strategy whose wrapper share balance is zero function removeStrategy(uint256 index) external onlyStrategyManager #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-5 "Direct link to Parameters") `index`: Index of the strategy to remove ### setStrategiesOrder[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#setstrategiesorder "Direct link to setStrategiesOrder") Reorders strategies for withdrawal priority function setStrategiesOrder(address[] calldata _newOrder) external onlyStrategyManager #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-6 "Direct link to Parameters") `_newOrder`: Array of strategy addresses in the desired order ### claimYield[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#claimyield "Direct link to claimYield") Claims yield from a specific strategy function claimYield(address _strategy) external onlyYieldClaimers returns (uint256 _yield) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-7 "Direct link to Parameters") `_strategy`: The strategy to claim yield from #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns "Direct link to Returns") `_yield`: Amount of yield claimed ### claimYields[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#claimyields "Direct link to claimYields") Claims yield from all registered strategies function claimYields() external onlyYieldClaimers returns (uint256 _yield) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-1 "Direct link to Returns") `_yield`: Total amount of yield claimed ### claimMerkl[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#claimmerkl "Direct link to claimMerkl") Claims Merkle rewards from a strategy function claimMerkl(address _strategy, address[] calldata users, address[] calldata tokens, uint256[] calldata amounts, bytes32[][] calldata proofs) external onlyYieldClaimers #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-8 "Direct link to Parameters") `_strategy`: Strategy to claim Merkle rewards from `users`: Array of user addresses `tokens`: Array of token addresses `amounts`: Array of token amounts `proofs`: Array of Merkle proofs ### execute[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#execute "Direct link to execute") Executes a custom function call on a strategy function execute(address _strategy, address to, uint256 value, bytes calldata data) external onlyYieldClaimers returns (bool success, bytes memory result) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-9 "Direct link to Parameters") `_strategy`: Strategy to execute the call on `to`: Target address for the call `value`: Native token value to send `data`: Call data #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-2 "Direct link to Returns") success: Whether the call was successful result: Return data from the call ### deposit[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#deposit "Direct link to deposit") Deposits underlying tokens and mints wrapper tokens function deposit(uint256 amount) external nonReentrant #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-10 "Direct link to Parameters") `amount`: Amount of underlying tokens to deposit ### withdraw[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#withdraw "Direct link to withdraw") Burns wrapper tokens and returns underlying tokens function withdraw(uint256 amount, address to) external nonReentrant #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-11 "Direct link to Parameters") `amount`: Amount of wrapper tokens to burn `to`: Address to receive the underlying tokens ### withdrawUnderlying[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#withdrawunderlying "Direct link to withdrawUnderlying") Burns wrapper tokens and returns position tokens function withdrawUnderlying(uint256 amount, address to) external nonReentrant #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-12 "Direct link to Parameters") `amount`: Amount of wrapper tokens to burn `to`: Address to receive the position tokens ### deploy[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#deploy "Direct link to deploy") Deploys capital to a registered strategy function deploy(address strategy, uint256 amount) external onlyYieldClaimer nonReentrant #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-13 "Direct link to Parameters") `strategy`: Strategy to deploy capital to `amount`: Amount of underlying tokens to deploy ### forceWithdrawToWrapper[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#forcewithdrawtowrapper "Direct link to forceWithdrawToWrapper") Forces withdrawal from a strategy to the wrapper function forceWithdrawToWrapper(address strategy, uint256 amount) external onlyYieldClaimer nonReentrant #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-14 "Direct link to Parameters") `strategy`: Strategy to withdraw from `amount`: Amount of tokens to withdraw ### withdrawQueued[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#withdrawqueued "Direct link to withdrawQueued") Queues a withdrawal from a strategy function withdrawQueued(address strategy, uint256 amount) external onlyYieldClaimer nonReentrant returns (uint256 id) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-15 "Direct link to Parameters") `strategy`: Strategy to queue withdrawal from `amount`: Amount to withdraw #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-3 "Direct link to Returns") `id`: Withdrawal queue ID ### claimQueued[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#claimqueued "Direct link to claimQueued") Claims a queued withdrawal function claimQueued(address strategy, uint256 id) external onlyYieldClaimer nonReentrant returns (uint256 received) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-16 "Direct link to Parameters") `strategy`: Strategy to claim from `id`: Withdrawal queue ID #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-4 "Direct link to Returns") `received`: Amount received from the withdrawal View Functions[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#view-functions "Direct link to View Functions") ------------------------------------------------------------------------------------------------------------------------------- ### numberOfStrategies[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#numberofstrategies "Direct link to numberOfStrategies") Returns the number of registered strategies function numberOfStrategies() external view returns (uint256) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-5 "Direct link to Returns") `uint256`: Number of registered strategies ### capital[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#capital "Direct link to capital") Returns the total capital managed by the wrapper function capital() external view returns (uint256) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-6 "Direct link to Returns") `uint256`: Total capital (in underlying tokens) ### valueOfCapital[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#valueofcapital "Direct link to valueOfCapital") Returns the total value of capital including yield function valueOfCapital() public view returns (uint256 _capital) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-7 "Direct link to Returns") `_capital`: Total value of capital including yield ### yield[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#yield "Direct link to yield") Returns the accumulated yield function yield() public view returns (uint256) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-8 "Direct link to Returns") `uint256`: Accumulated yield ### availableToWithdraw (strategy)[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#availabletowithdraw-strategy "Direct link to availableToWithdraw (strategy)") Returns the amount available to withdraw from a strategy function availableToWithdraw(address strategy) public view returns (uint256 liquidity) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-17 "Direct link to Parameters") `strategy`: Strategy address to check #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-9 "Direct link to Returns") `liquidity`: Amount available to withdraw ### availableToWithdraw (total)[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#availabletowithdraw-total "Direct link to availableToWithdraw (total)") Returns the total amount available to withdraw function availableToWithdraw() public view returns (uint256 liquidity) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-10 "Direct link to Returns") `liquidity`: Total amount available to withdraw ### canWithdraw[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#canwithdraw "Direct link to canWithdraw") Checks if a withdrawal amount is possible function canWithdraw(uint256 amount) external view returns (bool) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-18 "Direct link to Parameters") `amount`: Amount to check #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-11 "Direct link to Returns") `bool`: Whether the amount can be withdrawn ### maxAbleToWithdraw[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#maxabletowithdraw "Direct link to maxAbleToWithdraw") Returns the maximum amount that can be withdrawn function maxAbleToWithdraw(uint256 amount) external view returns (uint256) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-19 "Direct link to Parameters") `amount`: Requested amount #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-12 "Direct link to Returns") `uint256`: Maximum amount that can be withdrawn ### isStrategy[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#isstrategy "Direct link to isStrategy") Checks if an address is a registered strategy function isStrategy(address _strategy) public view returns (bool) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-20 "Direct link to Parameters") `_strategy`: Address to check #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-13 "Direct link to Returns") `bool`: Whether the address is a registered strategy ### availableToDeposit[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#availabletodeposit "Direct link to availableToDeposit") Returns the amount available to deposit function availableToDeposit() external view returns (uint256) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-14 "Direct link to Returns") `uint256`: Amount available to deposit ### decimals[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#decimals "Direct link to decimals") Returns the number of decimals for the token function decimals() public view returns (uint8) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-15 "Direct link to Returns") `uint8`:: Number of decimals ### deployed[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#deployed "Direct link to deployed") Returns the total amount deployed to strategies uint256 public deployed #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-16 "Direct link to Returns") `uint256`: Total amount deployed ### token[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#token "Direct link to token") Returns the underlying token address address public immutable token #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-17 "Direct link to Returns") `address`: Underlying token address ### strategies[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#strategies "Direct link to strategies") Returns a strategy at the specified index IStrategy[] public strategies #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-21 "Direct link to Parameters") `index`: Array index #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-18 "Direct link to Returns") IStrategy: Strategy contract at that index ### deployedToStrategy[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#deployedtostrategy "Direct link to deployedToStrategy") Returns the amount deployed to a specific strategy mapping(address strategy => uint256 deployed) public deployedToStrategy #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#parameters-22 "Direct link to Parameters") `strategy`: Strategy address #### Returns[​](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#returns-19 "Direct link to Returns") `uint256`: Amount deployed to strategy * [Overview](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#overview) * [Access Control](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#access-control) * [Contract Inheritance](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#contract-inheritance) * [Write Functions](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#write-functions) * [setYieldClaimer](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#setyieldclaimer) * [setSubYieldClaimer](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#setsubyieldclaimer) * [confirmYieldClaimer](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#confirmyieldclaimer) * [setStrategyManager](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#setstrategymanager) * [confirmStrategyManager](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#confirmstrategymanager) * [setTreasury](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#settreasury) * [confirmTreasury](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#confirmtreasury) * [setStrategy](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#setstrategy) * [confirmStrategy](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#confirmstrategy) * [removeStrategy](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#removestrategy) * [setStrategiesOrder](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#setstrategiesorder) * [claimYield](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#claimyield) * [claimYields](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#claimyields) * [claimMerkl](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#claimmerkl) * [execute](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#execute) * [deposit](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#deposit) * [withdraw](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#withdraw) * [withdrawUnderlying](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#withdrawunderlying) * [deploy](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#deploy) * [forceWithdrawToWrapper](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#forcewithdrawtowrapper) * [withdrawQueued](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#withdrawqueued) * [claimQueued](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#claimqueued) * [View Functions](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#view-functions) * [numberOfStrategies](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#numberofstrategies) * [capital](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#capital) * [valueOfCapital](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#valueofcapital) * [yield](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#yield) * [availableToWithdraw (strategy)](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#availabletowithdraw-strategy) * [availableToWithdraw (total)](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#availabletowithdraw-total) * [canWithdraw](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#canwithdraw) * [maxAbleToWithdraw](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#maxabletowithdraw) * [isStrategy](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#isstrategy) * [availableToDeposit](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#availabletodeposit) * [decimals](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#decimals) * [deployed](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#deployed) * [token](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#token) * [strategies](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#strategies) * [deployedToStrategy](https://docs.flyingtulip.com/smart-contracts/ftyieldwrapper/#deployedtostrategy) --- # PutManager | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/smart-contracts/putmanager/#__docusaurus_skipToContent_fallback) On this page Overview[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#overview "Direct link to Overview") --------------------------------------------------------------------------------------------------------- The PutManager contract manages PUT options for Flying Tulip tokens (FT), enabling users to invest collateral to withdraw FT tokens and later divest those tokens for their original collateral at a fixed exchange rate. Access Control[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#access-control "Direct link to Access Control") --------------------------------------------------------------------------------------------------------------------------- The contract has two privileged roles: * **Multisig Wallet (msig)**: Primary administrator with the ability to pause/unpause the contract, add accepted collateral, update key addresses, and withdraw divested capital. * **Configurator**: Secondary administrator that can end the public offering, add FT liquidity, set collateral caps, and send remainder FT back to the configurator. The contract operates in two states: * **IN\_PUB\_OFFERING**: Initial state where users can invest collateral and withdraw FT tokens into their PUT position * **AFTER\_PUB\_OFFERING**: State after the offering ends where users can withdraw FT (invalidating their PUT) or divest (return FT for their original collateral) Write Functions[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#write-functions "Direct link to Write Functions") ------------------------------------------------------------------------------------------------------------------------------ ### initialize[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#initialize "Direct link to initialize") Initializes the proxy contract with initial configuration function initialize(address _configurator, address _msig) external initializer #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters "Direct link to Parameters") `_configurator`: Address of the configurator `_msig`: Address of the multisig ### pause[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#pause "Direct link to pause") Pauses contract operations function pause() external onlyMsig ### unpause[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#unpause "Direct link to unpause") Unpauses contract operations function unpause() external onlyMsig ### setMsig[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#setmsig "Direct link to setMsig") Schedules an update to the multisig wallet address function setMsig(address _msig) external onlyMsig #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-1 "Direct link to Parameters") `_msig`: New multisig wallet address ### acceptMsig[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#acceptmsig "Direct link to acceptMsig") Confirms multisig wallet change after delay period function acceptMsig() external ### setPutManager[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#setputmanager "Direct link to setPutManager") Updates the Put Manager address in the ftPut contract function setPutManager(address _putManager) external onlyMsig #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-2 "Direct link to Parameters") `_putManager`: New Put Manager address ### setConfigCurator[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#setconfigcurator "Direct link to setConfigCurator") Updates the configurator address function setConfigurator(address _configurator) external onlyMsig #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-3 "Direct link to Parameters") `_configurator`: New configurator address ### endPubOffering[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#endpuboffering "Direct link to endPubOffering") Ends the public offering phase function endPubOffering() external onlyConfigurator ### addFTLiquidity[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#addftliquidity "Direct link to addFTLiquidity") Adds FT tokens to the offering supply function addFTLiquidity(uint256 amount) external onlyConfigurator #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-4 "Direct link to Parameters") `amount`: Amount of FT tokens to add ### setPriceBounds[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#setpricebounds "Direct link to setPriceBounds") Sets minimum and maximum price bounds for collateral function setPriceBounds(address token, uint256 minP, uint256 maxP) external onlyMsig #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-5 "Direct link to Parameters") `token`: Collateral token address `minP`: Minimum price `maxP`: Maximum price ### sendRemainderFTtoConfigurator[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#sendremainderfttoconfigurator "Direct link to sendRemainderFTtoConfigurator") Sends unsold FT tokens back to configurator function sendRemainderFTtoConfigurator() external onlyConfigurator ### addAcceptedCollateral[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#addacceptedcollateral "Direct link to addAcceptedCollateral") Adds a token to accepted collateral list function addAcceptedCollateral(address _collateral, address _vault) external onlyMsig #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-6 "Direct link to Parameters") `_collateral`: Collateral token address `_vault`: Yield wrapper address ### setCollateralCaps[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#setcollateralcaps "Direct link to setCollateralCaps") Sets maximum amount for a specific collateral function setCollateralCaps(address token, uint256 cap_) external onlyConfigurator #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-7 "Direct link to Parameters") `token`: Collateral token address `cap_`: Maximum collateral amount ### invest[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#invest "Direct link to invest") Creates a PUT position by depositing collateral function invest(address token, uint256 amount) external nonReentrant whenNotPaused returns (uint256 id) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-8 "Direct link to Parameters") `token`: Collateral token address `amount`: Collateral amount #### Returns[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#returns "Direct link to Returns") `id`: Position ID ### exit[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#exit "Direct link to exit") Exits a position during public offering function exit(uint256 id) external nonReentrant #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-9 "Direct link to Parameters") `id`: Position ID ### withdrawFT[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#withdrawft "Direct link to withdrawFT") Withdraws FT tokens, invalidating PUT function withdrawFT(uint256 id, uint256 amount) external nonReentrant #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-10 "Direct link to Parameters") `id`: Position ID `amount`: FT amount ### withdrawInvestedCapital[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#withdrawinvestedcapital "Direct link to withdrawInvestedCapital") Withdraws capital released from divested positions function withdrawDivestedCapital(address token, uint256 amount) external nonReentrant onlyMsig #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-11 "Direct link to Parameters") `token`: Token address `amount`: Amount to withdraw ### divest[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#divest "Direct link to divest") Executes PUT to divest FT for original collateral. function divest(uint256 id, uint256 amount) external nonReentrant #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-12 "Direct link to Parameters") `id`: Position ID `amount`: FT amount ### divestUnderlying[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#divestunderlying "Direct link to divestUnderlying") Executes PUT to divest FT for underlying token. function divestUnderlying(uint256 id, uint256 amount) external nonReentrant #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-13 "Direct link to Parameters") `id`: Position ID `amount`: FT amount View Functions[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#view-functions "Direct link to View Functions") --------------------------------------------------------------------------------------------------------------------------- ### collateralIndex[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#collateralindex "Direct link to collateralIndex") Returns the number of accepted collateral tokens function collateralIndex() external view returns (uint256) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#returns-1 "Direct link to Returns") `uint256`: Number of collateral tokens ### getAssetPrice[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#getassetprice "Direct link to getAssetPrice") Gets asset price from Aave Oracle function getAssetPrice(address token) public view returns (uint256) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-14 "Direct link to Parameters") `token`: Token address #### Returns[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#returns-2 "Direct link to Returns") `uint256`: Asset price in oracle units ### getFTAddress[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#getftaddress "Direct link to getFTAddress") Returns the FT token address function getFTAddress() public view returns (address) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#returns-3 "Direct link to Returns") `address`: FT token address ### getAaveOracleAddress[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#getaaveoracleaddress "Direct link to getAaveOracleAddress") Returns the Aave Oracle address function getAaveOracleAddress() public view returns (address) #### Returns[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#returns-4 "Direct link to Returns") `address`: Aave Oracle address ### getAssetFTPrice[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#getassetftprice "Direct link to getAssetFTPrice") Calculates FT tokens for a collateral amount function getAssetFTPrice(address token, uint256 amount) public view returns (uint256 ftToTransfer, uint256 assetToUSD) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-15 "Direct link to Parameters") `token`: Collateral token address `amount`: Collateral amount #### Returns[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#returns-5 "Direct link to Returns") `ftToTransfer`: FT amount `assetToUSD`: USD price from oracle ### canDivest[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#candivest "Direct link to canDivest") Checks if a position can be divested function canDivest(uint256 id, uint256 _amount) external view returns (bool divestable, uint256 amount) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-16 "Direct link to Parameters") `id`: Position ID `_amount`: Requested amount #### Returns[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#returns-6 "Direct link to Returns") `divestable`: Whether divestment is possible `amount`: Amount that can be divested ### maxDivestable[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#maxdivestable "Direct link to maxDivestable") Calculates maximum divestable amount function maxDivestable(uint256 id, uint256 _amount) external view returns (bool divestable, uint256 amount) #### Parameters[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#parameters-17 "Direct link to Parameters") `id`: Position ID `_amount`: Requested amount #### Returns[​](https://docs.flyingtulip.com/smart-contracts/putmanager/#returns-7 "Direct link to Returns") `divestable`: Whether divestment is possible `amount`: Maximum amount that can be divested * [Overview](https://docs.flyingtulip.com/smart-contracts/putmanager/#overview) * [Access Control](https://docs.flyingtulip.com/smart-contracts/putmanager/#access-control) * [Write Functions](https://docs.flyingtulip.com/smart-contracts/putmanager/#write-functions) * [initialize](https://docs.flyingtulip.com/smart-contracts/putmanager/#initialize) * [pause](https://docs.flyingtulip.com/smart-contracts/putmanager/#pause) * [unpause](https://docs.flyingtulip.com/smart-contracts/putmanager/#unpause) * [setMsig](https://docs.flyingtulip.com/smart-contracts/putmanager/#setmsig) * [acceptMsig](https://docs.flyingtulip.com/smart-contracts/putmanager/#acceptmsig) * [setPutManager](https://docs.flyingtulip.com/smart-contracts/putmanager/#setputmanager) * [setConfigCurator](https://docs.flyingtulip.com/smart-contracts/putmanager/#setconfigcurator) * [endPubOffering](https://docs.flyingtulip.com/smart-contracts/putmanager/#endpuboffering) * [addFTLiquidity](https://docs.flyingtulip.com/smart-contracts/putmanager/#addftliquidity) * [setPriceBounds](https://docs.flyingtulip.com/smart-contracts/putmanager/#setpricebounds) * [sendRemainderFTtoConfigurator](https://docs.flyingtulip.com/smart-contracts/putmanager/#sendremainderfttoconfigurator) * [addAcceptedCollateral](https://docs.flyingtulip.com/smart-contracts/putmanager/#addacceptedcollateral) * [setCollateralCaps](https://docs.flyingtulip.com/smart-contracts/putmanager/#setcollateralcaps) * [invest](https://docs.flyingtulip.com/smart-contracts/putmanager/#invest) * [exit](https://docs.flyingtulip.com/smart-contracts/putmanager/#exit) * [withdrawFT](https://docs.flyingtulip.com/smart-contracts/putmanager/#withdrawft) * [withdrawInvestedCapital](https://docs.flyingtulip.com/smart-contracts/putmanager/#withdrawinvestedcapital) * [divest](https://docs.flyingtulip.com/smart-contracts/putmanager/#divest) * [divestUnderlying](https://docs.flyingtulip.com/smart-contracts/putmanager/#divestunderlying) * [View Functions](https://docs.flyingtulip.com/smart-contracts/putmanager/#view-functions) * [collateralIndex](https://docs.flyingtulip.com/smart-contracts/putmanager/#collateralindex) * [getAssetPrice](https://docs.flyingtulip.com/smart-contracts/putmanager/#getassetprice) * [getFTAddress](https://docs.flyingtulip.com/smart-contracts/putmanager/#getftaddress) * [getAaveOracleAddress](https://docs.flyingtulip.com/smart-contracts/putmanager/#getaaveoracleaddress) * [getAssetFTPrice](https://docs.flyingtulip.com/smart-contracts/putmanager/#getassetftprice) * [canDivest](https://docs.flyingtulip.com/smart-contracts/putmanager/#candivest) * [maxDivestable](https://docs.flyingtulip.com/smart-contracts/putmanager/#maxdivestable) --- # Glossary | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/glossary/#__docusaurus_skipToContent_fallback) On this page This page defines the concepts used across the Flying Tulip documentation. **Jump to:** [A](https://docs.flyingtulip.com/glossary/#a) · [B](https://docs.flyingtulip.com/glossary/#b) · [C](https://docs.flyingtulip.com/glossary/#c) · [D](https://docs.flyingtulip.com/glossary/#d) · [E](https://docs.flyingtulip.com/glossary/#e) · [F](https://docs.flyingtulip.com/glossary/#f) · [G](https://docs.flyingtulip.com/glossary/#g) · [H](https://docs.flyingtulip.com/glossary/#h) · [I](https://docs.flyingtulip.com/glossary/#i) · [J](https://docs.flyingtulip.com/glossary/#j) · [K](https://docs.flyingtulip.com/glossary/#k) · [L](https://docs.flyingtulip.com/glossary/#l) · [M](https://docs.flyingtulip.com/glossary/#m) · [N](https://docs.flyingtulip.com/glossary/#n) · [O](https://docs.flyingtulip.com/glossary/#o) · [P](https://docs.flyingtulip.com/glossary/#p) · [Q](https://docs.flyingtulip.com/glossary/#q) · [R](https://docs.flyingtulip.com/glossary/#r) · [S](https://docs.flyingtulip.com/glossary/#s) · [T](https://docs.flyingtulip.com/glossary/#t) · [U](https://docs.flyingtulip.com/glossary/#u) · [V](https://docs.flyingtulip.com/glossary/#v) · [W](https://docs.flyingtulip.com/glossary/#w) · [Y](https://docs.flyingtulip.com/glossary/#y) * * * A[​](https://docs.flyingtulip.com/glossary/#a "Direct link to A") ------------------------------------------------------------------ **Aave (Aave v3)** — A decentralized lending protocol used for conservative yield and collateralization in several Flying Tulip flows. **Accepted Assets** — Tokens that can be contributed in the Public Capital Allocation (PCA) or used in products (e.g., USDC, USDT, USDS, USDe, USDtb, WETH, WBTC, cbBTC, SOL/jupSOL, AVAX/wAVAX). **Access Control (contracts)** — Role‑based permissions on protocol contracts (e.g., Owner, Configurator, Multisig, Strategy Manager, Treasury). **Adapter Parameters (LayerZero)** — Additional parameters (like gas settings) passed when sending OFT tokens cross‑chain. **AFTER\_PUB\_OFFERING** — PutManager state after the PCA has ended; positions can **Withdraw** (invalidate PUT) or **Divest** (return collateral at par). **AMM (Automated Market Maker)** — On‑chain market using formulas instead of a central order book to quote prices and execute swaps. **AEAD (Authenticated Encryption with Associated Data)** — The cryptographic mode used by the TLS record layer to provide confidentiality and integrity. In Witnessnet proofs, successful AEAD decryption/authentication under the derived traffic keys demonstrates that the response data is authentic for that session. **AVAX / wAVAX** — Avalanche’s native token and its wrapped ERC‑20 representation used for staking and liquidity. * * * B[​](https://docs.flyingtulip.com/glossary/#b "Direct link to B") ------------------------------------------------------------------ **Backing (Capital Backing)** — The contributed assets that back each primary FT position while the **Perpetual PUT Option** remains open. **Backing Yield (Carry)** — Yield generated by deploying backing into low‑risk venues. **Priority:** fund ecosystem development first (salaries/marketing/infra/ops); **surplus** funds **buyback & burn** of FT. **Basis / Funding (contextual)** — The long/short spread or periodic payments that keep derivative prices aligned with spot (used in delta‑neutral strategies and futures). **Beets (staking venue)** — A venue referenced for staking Sonic (S → stS) in certain strategies. **Buyback & Burn** — Mechanism that buys FT on the open market and sends it to an irrecoverable address, permanently reducing supply. May be funded by backing yield surplus, protocol revenue/fees, or released backing from **Withdrawals**. **Binary Prediction Markets** — Yes/No markets that resolve based on verifiable facts. In Flying Tulip, resolution is permissionless via Witnessnet proofs of HTTPS pages from accepted sources (e.g., news sites). Any third party can submit proof to settle the market. **Black–Scholes** — A widely used options pricing model for valuing calls and puts based on inputs such as underlying price, volatility, time to expiry, and interest rates. In Flying Tulip, on‑chain Black–Scholes uses implied volatility from AMM windows to quote premiums for covered calls and puts. * * * C[​](https://docs.flyingtulip.com/glossary/#c "Direct link to C") ------------------------------------------------------------------ **Capital Efficiency** — Using the same collateral to support multiple activities (e.g., earn yield and back trading/borrowing) to increase effective return per unit of capital. **CLOB (Central Limit Order Book)** — An exchange mechanism that matches bids and asks; integrated with Flying Tulip’s permissioned lending for cross‑collateralized trading while deposits continue to earn. **Collateral / Collateral Caps** — Assets allowed as collateral and the maximum per‑asset size configured to manage concentration and risk. **Configurator (role)** — Admin role used to set or update parameters (e.g., pausing, asset lists, strategy weights). **Constant Product / Constant Sum** — AMM curve archetypes: **x·y = k** (constant product) offers LP protection with higher price impact; **x + y = k** (constant sum) offers tight spreads with less protection. Flying Tulip blends them dynamically (see **Hybrid Curve**). **CertificateVerify (TLS)** — A handshake step where the server proves possession of the private key corresponding to its certificate by signing the transcript. Witnessnet includes checks that the certificate is valid for the hostname and that CertificateVerify was verified. **Cross‑Collateral / Cross‑Margin** — Using one deposit as collateral across multiple markets or products simultaneously (e.g., lending, CLOB, futures). * * * D[​](https://docs.flyingtulip.com/glossary/#d "Direct link to D") ------------------------------------------------------------------ **Debt Netting Mechanism** — Pool‑level offsetting of long/short exposures that enables delta‑neutral configurations (e.g., ftUSD) with **zero‑liquidation risk** under defined parameters. **Delta‑Neutral** — A portfolio whose net directional exposure is approximately zero, constructed by balancing long and short legs. **Divest (exercise)** — Action that **exercises the Perpetual PUT Option** at par; the original asset/amount is returned. **Domain Separator / EIP‑712** — The typed‑data signing domain used for off‑chain signatures (e.g., permits). **Dynamic LTV** — Borrowing limits that adapt to liquidity, volatility, and order size, instead of using fixed tables. * * * E[​](https://docs.flyingtulip.com/glossary/#e "Direct link to E") ------------------------------------------------------------------ **Ecosystem Budget (priority)** — The first call on **backing yield** to fund the organization: salaries, marketing, infrastructure, and operations. **EMA (Exponential Moving Average)** — A smoothing method used to detect calm vs. volatile market regimes. **EIP‑2612 Permit (gasless approval)** — ERC‑20 extension enabling approvals via off‑chain signatures rather than on‑chain approval transactions. **Exit (legacy)** — Legacy terminology for **Divest** (par return). * * * F[​](https://docs.flyingtulip.com/glossary/#f "Direct link to F") ------------------------------------------------------------------ **FT (Token)** — The native token of Flying Tulip. Minted proportionally during the PCA (10 FT per $1) up to a hard cap of 10B. Supports cross‑chain transfers (OFT) and EIP‑2612 permits. **FT NFT** — The ERC‑721 token that represents a holder’s Perpetual PUT Option. Each FT NFT (pFT) tracks the collateral, strike asset, and FT amount tied to a primary allocation position. **ftUSD** — A delta‑neutral, yield‑bearing stable asset designed to target $1 while minimizing liquidation risk by balancing long/short exposures (e.g., supply/stake/borrow loops). **Funding Rate (Futures)** — Periodic payments between long/short positions that keep future prices aligned with spot; can be computed from actual borrowing costs. * * * G[​](https://docs.flyingtulip.com/glossary/#g "Direct link to G") ------------------------------------------------------------------ **Gasless Approvals** — Approving ERC‑20 allowances via off‑chain signatures (no on‑chain approval tx), typically through EIP‑2612. * * * H[​](https://docs.flyingtulip.com/glossary/#h "Direct link to H") ------------------------------------------------------------------ **Hybrid Curve (AMM)** — A dynamic blend between constant sum (tight spreads in calm markets) and constant product (LP protection in volatility), informed by regime signals (e.g., EMAs) and guardrails. * * * I[​](https://docs.flyingtulip.com/glossary/#i "Direct link to I") ------------------------------------------------------------------ **IN\_PUB\_OFFERING** — PutManager state while the PCA is active; investors can contribute and withdraw FT into their PUT position. **Impermanent Loss** — The divergence loss LPs can face when an AMM pool’s asset prices shift relative to deposit prices; mitigated by Flying Tulip’s hybrid curve behavior in volatile regimes. **Invest (PutManager)** — Deposit accepted assets to open a PUT position and withdraw FT issued into that PUT. **Insurance Pool / FT\_exploit\_insurance** — A capital pool that backs exploit coverage; buyers pay usage‑based premiums, and providers earn yield from those premiums. Claims depend on event verification. **Isolated vs. Cross Margin** — Isolated margin confines risk to a single market; cross margin shares collateral across multiple markets. * * * J[​](https://docs.flyingtulip.com/glossary/#j "Direct link to J") ------------------------------------------------------------------ **jupSOL** — A liquid‑staking representation of SOL used for staking yield in conservative allocations. * * * K[​](https://docs.flyingtulip.com/glossary/#k "Direct link to K") ------------------------------------------------------------------ **Keepers (Liquidation Keepers)** — External actors incentivized to execute liquidations or complex unwinds. Flying Tulip uses size/time‑sliced execution and rebates to reduce market impact. * * * L[​](https://docs.flyingtulip.com/glossary/#l "Direct link to L") ------------------------------------------------------------------ **LayerZero / OFT (Omnichain Fungible Token)** — Cross‑chain messaging and token standard that allows FT to move natively across chains. **Lend - Permissionless** — A lending system where each Spot pair automatically gets a lending market. Parameters adapt dynamically to market conditions. **Lend - Permissioned** — A pre‑configured lending pool enabling cross‑collateral and powering **CLOB** and **Futures**; includes **debt netting** for zero‑liquidation strategies. **Leverage (Futures)** — Trading with exposure greater than posted collateral; in FT futures, leverage constraints are set using depth‑aware metrics. **Leveraged Liquidity (AMM)** — LP mode that behaves like full‑range coverage but concentrates more capital near the current price to improve fee capture without constant re‑ranges. **Liquid Staking Token (LST)** — A token representing staked assets (e.g., stETH, jupSOL) that accrues staking rewards while remaining liquid. **Liquidation / Soft Liquidation** — Forced unwind of risky positions; Flying Tulip emphasizes gradual "soft" liquidations via Spot routing, with size/time‑slicing and keeper incentives. **Loan‑to‑Value (LTV)** — Borrowing limit as a ratio of collateral value; may be a snapshot at opening to avoid abrupt changes affecting users. **Launchpad** — The token‑launch workflow. Teams create a token with thresholded deposits; when thresholds are met, the Spot + money market deploy automatically. Anti‑MEV protections may apply initially. Leverage/futures unlock after an RWAP warm‑up period. * * * M[​](https://docs.flyingtulip.com/glossary/#m "Direct link to M") ------------------------------------------------------------------ **Merkle Claims / Merkle Rewards** — Distributions computed off‑chain and claimed on‑chain via Merkle proofs; supported by wrapper utilities. **Multisig** — A multi‑signature wallet with elevated permissions used for safety‑critical admin actions. * * * N[​](https://docs.flyingtulip.com/glossary/#n "Direct link to N") ------------------------------------------------------------------ **No Bridging (backing)** — Backing capital remains on the source chain and is not bridged as part of the default allocation policy. **Non‑Custodial** — Users retain control of assets; contracts enforce rules without centralized custody. * * * O[​](https://docs.flyingtulip.com/glossary/#o "Direct link to O") ------------------------------------------------------------------ **OFT (LayerZero)** — See **LayerZero / OFT**. **Oracle (price oracle)** — External feed of asset prices. Flying Tulip futures derive pricing/settlement from in‑house trading activity to avoid oracle lag/manipulation. **Order Book (CLOB)** — See **CLOB**; orders can rest while deposits continue to earn in the permissioned lending system. **Opt‑In Settlement LP (Futures)** — Liquidity providers who supply **ftUSD** to settlement pools and earn per‑settlement fees, with exposure managed across providers. * * * P[​](https://docs.flyingtulip.com/glossary/#p "Direct link to P") ------------------------------------------------------------------ **pFT (PUT position token)** — The developer‑facing token representing a specific **Perpetual PUT Option** position (one position per token). Used by contracts to manage **withdrawFT** (invalidate PUT) and **divest** (exercise at par). **Pause / Pausing** — Temporarily halting token transfers or protocol operations via admin roles for safety. **Perpetual Futures (Futures)** — Futures without expiration; Flying Tulip uses on‑chain trading as the primary price source with sub‑second settlement and funding tied to real borrowing costs. **Perpetual PUT Option** — The on-chain right attached to primary-issued FT that lets a holder: **(1)** **Hold** (keep the FT NFT attached), **(2)** **Divest** (return collateral at par), or **(3)** **Withdraw** (unlock FT; **invalidate the PUT**; released backing can fund market buyback and burns of FT). **Price Impact** — Slippage caused by trade size relative to available depth; managed by hybrid curves and depth‑aware metrics. **Public Capital Allocation (PCA)** — The on‑chain public event where contributors exchange accepted assets for FT at a fixed rate (10 FT per $1). FT is minted proportionally up to a maximum supply of 10B. **Passkeys (WebAuthn / FIDO2)** — Passwordless authentication bound to a device or security key. Used with delegated session keys to enable one‑click, wallet‑less UX while maintaining on‑chain security guarantees. **PutManager** — The contract that orchestrates PCA participation, FT issuance into PUT positions, and post‑offering actions such as **invest**, **withdrawFT**, **divest**, and state transitions. * * * Q[​](https://docs.flyingtulip.com/glossary/#q "Direct link to Q") ------------------------------------------------------------------ **Queues / Unbonding (staking exits)** — Waiting periods required to withdraw from certain staking positions (e.g., stETH withdrawals, SOL/AVAX unbonding). * * * R[​](https://docs.flyingtulip.com/glossary/#r "Direct link to R") ------------------------------------------------------------------ **Reserve‑Weighted Average Price (RWAP)** — A price metric that weights observations by available reserves near the path of execution, providing a depth‑aware benchmark for swaps. **Revenue & Fees (Protocol)** — Cashflows generated by Flying Tulip products (e.g., ftUSD/settlement rails, Spot, Lend, Futures, Insurance) routed to **buyback & burn** and used to govern unlocks. **Revenue‑Funded Unlocks (40:40:20)** — When buybacks are funded by **revenue**, Foundation/Team/Incentives unlock **1:1** in a **40:40:20** split. **Yield‑only** buybacks do **not** unlock. **Risk Controls (Spot & Lend)** — Guardrails and procedures (e.g., regime detection, snapshot LTV, soft liquidation, size/time‑slicing, incentivized keepers) that aim to reduce tail risk and market impact. * * * S[​](https://docs.flyingtulip.com/glossary/#s "Direct link to S") ------------------------------------------------------------------ **sUSDe / USDe** — A yield‑bearing form (sUSDe) and its base asset (USDe) used in certain strategies and as accepted assets in the PCA. **Settlement Currency / Pools (Futures)** — **ftUSD** is used as the settlement currency; opt‑in LPs deposit ftUSD to settlement pools and earn fees. **Settlement Speed (sub‑second)** — Future settlements are designed to execute quickly (sub‑second) using on‑chain trading as the price source. **Snapshot LTV** — Borrow limits fixed at the time of opening/adjustment to protect users from abrupt parameter changes. **Soft Liquidation** — Gradual unwind via Spot with size/time‑slicing and incentives to reduce slippage. **Sonic (S) / wS / stS** — Sonic chain’s token and its wrapped/staked variants referenced in certain strategies and accepted‑assets lists. **Session Keys (Delegated Keys)** — Short‑lived keys authorized by a user’s wallet to approve a bounded set of actions (e.g., trading). Enable smooth UX (no constant pop‑ups) while preserving withdrawal controls. **State Channels** — Off‑chain execution channels that update balances with periodic on‑chain commitments. Used to enable continuous trading; channels cannot withdraw funds, which requires native signing. **stETH** — A liquid‑staking representation of ETH used for conservative staking yield. **Stablecoin** — A token pegged to a reference value (e.g., USD). **ftUSD** is a stable, delta‑neutral, yield‑bearing variant. **Strategy (ftYieldWrapper)** — A yield venue tracked by the wrapper; strategies can be added/removed/reordered and capital moved between them by authorized roles. **Strike Price (PUT)** — The par conversion rate in a PUT: the asset and amount a holder receives when exercising (divesting) FT. **Surplus (Yield Surplus)** — Backing yield remaining after the ecosystem budget; the surplus is used for **buyback & burn**. * * * T[​](https://docs.flyingtulip.com/glossary/#t "Direct link to T") ------------------------------------------------------------------ **Technical Appendix** — The quantitative reference for the PCA: allocation assumptions, backtested carry, formulas, sensitivity tables, and combined scenarios (yield + revenue + withdrawals). **Time‑Sliced Execution** — Breaking a large unwind into smaller pieces over time to reduce price impact. **Token Unlocks** — See **Revenue‑Funded Unlocks (40:40:20)**; unlocks are releases from pre‑allocated buckets, not new token inflation. **Total Supply / Circulating Supply** — FT has a hard cap of 10B; PCA mints proportional to capital raised. Burns and redemptions reduce the circulating or total supply based on the mechanism. **TWAP (Time‑Weighted Average Price)** — A time‑only averaging of price used in oracles and analytics; complements depth‑aware measures. **TWAR (Time‑Weighted Average Reserve)** — A depth‑aware measure used in futures that considers how much of X can be sold for Y over time, enabling safer leverage and funding calculations. * * * U[​](https://docs.flyingtulip.com/glossary/#u "Direct link to U") ------------------------------------------------------------------ **UMA Oracle (Optimistic Oracle)** — Third‑party verification service used by Insurance to confirm exploit events before claims are paid. **Unlocks 40:40:20** — See **Revenue‑Funded Unlocks**. **USDC / USDT / USDS / USDe / USDtb** — Stablecoins accepted in PCA contributions and used across products; each has distinct risk/peg mechanics. * * * V[​](https://docs.flyingtulip.com/glossary/#v "Direct link to V") ------------------------------------------------------------------ **Vault (PutManager)** — A wrapper/vault address paired with an accepted collateral token that routes deposits to the correct yield wrapper. * * * W[​](https://docs.flyingtulip.com/glossary/#w "Direct link to W") ------------------------------------------------------------------ **WBTC / cbBTC** — Bitcoin representations used on EVM chains; accepted assets for PCA and supported in some products. **Withdraw (invalidate PUT)** — Unlock FT from the **Perpetual PUT Option**; the PUT is invalidated and the released backing funds **market buyback and burn of FT**. What the holder does next with FT is independent of this action. **Wrapper Token (e.g., ftUSDC)** — ERC‑20 share tokens issued by the yield wrapper for a specific underlying, representing a claim on aggregated strategy positions. **Witnessnet** — A framework that lets smart contracts verify facts about HTTPS responses without a trusted oracle. Contracts receive `(url, response data, proof)` where the proof shows: AEAD‑authenticated TLS records under correctly derived traffic keys; Finished messages verified; and a valid server certificate matching the hostname with proven key possession (CertificateVerify). Any party can submit proofs, making "any HTTPS endpoint an implicit oracle." * * * Y[​](https://docs.flyingtulip.com/glossary/#y "Direct link to Y") ------------------------------------------------------------------ **Yield Wrapper (ftYieldWrapper)** — A contract layer that aggregates and manages multiple yield strategies for one underlying, standardizing deposits/withdrawals/claims and enforcing role‑gated operations. **Yield Surplus (Y)** — The remaining annual backing carry after the ecosystem budget (**E**) has been funded: **Y = max(B − E, 0)**. Converted to retired FT by **Y / P**, where **P** is the average buyback price. * [A](https://docs.flyingtulip.com/glossary/#a) * [B](https://docs.flyingtulip.com/glossary/#b) * [C](https://docs.flyingtulip.com/glossary/#c) * [D](https://docs.flyingtulip.com/glossary/#d) * [E](https://docs.flyingtulip.com/glossary/#e) * [F](https://docs.flyingtulip.com/glossary/#f) * [G](https://docs.flyingtulip.com/glossary/#g) * [H](https://docs.flyingtulip.com/glossary/#h) * [I](https://docs.flyingtulip.com/glossary/#i) * [J](https://docs.flyingtulip.com/glossary/#j) * [K](https://docs.flyingtulip.com/glossary/#k) * [L](https://docs.flyingtulip.com/glossary/#l) * [M](https://docs.flyingtulip.com/glossary/#m) * [N](https://docs.flyingtulip.com/glossary/#n) * [O](https://docs.flyingtulip.com/glossary/#o) * [P](https://docs.flyingtulip.com/glossary/#p) * [Q](https://docs.flyingtulip.com/glossary/#q) * [R](https://docs.flyingtulip.com/glossary/#r) * [S](https://docs.flyingtulip.com/glossary/#s) * [T](https://docs.flyingtulip.com/glossary/#t) * [U](https://docs.flyingtulip.com/glossary/#u) * [V](https://docs.flyingtulip.com/glossary/#v) * [W](https://docs.flyingtulip.com/glossary/#w) * [Y](https://docs.flyingtulip.com/glossary/#y) --- # Capital Allocation | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/capital-allocation/#__docusaurus_skipToContent_fallback) On this page Flying Tulip is opening its raise to the public to broaden participation in the project’s financing. This follows our $200 million private round and sets the stage for a transparent, on-chain program that’s straightforward and fully auditable. What You Get to Start[​](https://docs.flyingtulip.com/capital-allocation/#what-you-get-to-start "Direct link to What You Get to Start") ---------------------------------------------------------------------------------------------------------------------------------------- Commit $1 Capital: Receive 10 FT tokens[1](https://docs.flyingtulip.com/capital-allocation/#user-content-fn-1) Fixed Supply, No Inflation, Only Burns FT has a maximum supply of 10 billion tokens. We mint only what we actually raise; if $500 million is contributed, exactly 5 billion FT are created and distributed. When we reach 10 billion FT tokens, we’ll close. Straightforward and simple. There is no vesting, no future inflation, and no additional minting. Contributions are made through [flyingtulip.com](https://flyingtulip.com/) and settle to the Investment Contract. > ! > > **Note:** The address for the Investment Contract will be finalized in‑app. Always verify the address shown in the Invest UI before sending funds. When your contribution settles, your FT is issued as a Perpetual PUT that grants a standing on-chain redemption right to your primary-issued tokens. You can keep this right attached, divest at par, or unlock the FT and continue without the Perpetual PUT, whichever best fits your plan or reaction to market conditions. Your Perpetual PUT Position - How Does it Work?[​](https://docs.flyingtulip.com/capital-allocation/#your-perpetual-put-position---how-does-it-work "Direct link to Your Perpetual PUT Position - How Does it Work?") --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ![dark-image](https://docs.flyingtulip.com/assets/images/PUT_Option_Mechanisms_Dark-73a58a56c3c15db349b9a14afd7bd7c5.webp#dark-mode-only) ![light-image](https://docs.flyingtulip.com/assets/images/PUT_Option_Mechanisms_Light-321c5a64dedd3f2cb9faad874178b1d2.webp#light-mode-only) Perpetual PUT Option lifecycle. **Market buyers:** FT purchased on the open market does not include a Perpetual PUT. The Perpetual PUT is attached only to FT issued to primary contributors during the Private and Public Capital Allocation. When your contribution mints FT, those tokens are locked into your Perpetual PUT. From there, you always have three choices (and you can mix them over time in any proportions you like): ### 1\. Hold: Keep your position and capital protection active[​](https://docs.flyingtulip.com/capital-allocation/#1-hold-keep-your-position-and-capital-protection-active "Direct link to 1. Hold: Keep your position and capital protection active") Do nothing and keep your redemption right. You participate in all FT appreciation while maintaining the ability to exit at par whenever you choose. There are no trigger dates, no cliffs, the right is evergreen. ### 2\. Divest: Recover original asset[​](https://docs.flyingtulip.com/capital-allocation/#2-divest-recover-original-asset "Direct link to 2. Divest: Recover original asset") Divest some or all of the exact asset and amount you originally committed. Divests can be partial and repeated. Par asset return. Divest returns the same asset and the same amount you originally contributed. So if you contributed 1,000 USDC and received a Perpetual PUT with 10,000 FT, then you can divest your Perpetual PUT for 1,000 USDC. Or, if you contributed 2 ETH (1 ETH = $3,840) and received a Perpetual PUT with 76,800 FT, then you can divest your Perpetual PUT for 2 ETH. > ! > > **Note:** You get back the exact asset and amount you originally put in. ### 3\. Withdraw: Access your FT and destroy your Perpetual PUT[​](https://docs.flyingtulip.com/capital-allocation/#3-withdraw-access-your-ft-and-destroy-your-perpetual-put "Direct link to 3. Withdraw: Access your FT and destroy your Perpetual PUT") If you want to directly hold, trade, or use your FT tokens, you can withdraw them. This invalidates the Perpetual PUT on that portion forever. The original backing capital reserved for your redemption is released and used by the protocol to fund operations, market buybacks, and FT burns, benefiting everyone who remains. * **Divest**: You get your capital back; divested FT are returned. * **Withdraw**: You keep your FT; released capital buys and burns FT from the market ### Divest vs. Withdraw[​](https://docs.flyingtulip.com/capital-allocation/#divest-vs-withdraw "Direct link to Divest vs. Withdraw") > ! > > **Note:** FT tokens bought on the open market do not include a Perpetual PUT. **Divest (Par Return)**: You get back the exact asset and amount you originally put in. Your Perpetual PUT is used on that portion, and the backing is returned to you (no buyback). **Withdraw (Unlock FT)**: You take a portion or all of your FT out of the Perpetual PUT but your Perpetual PUT on that portion is invalidated. The reserved backing is released and used by the protocol to fund market buyback and burns of FT. > ! > > **Note:** Withdraw triggers buybacks & burns funded by the released backing. **USDC Example:** Divest at par Contribute 1,000 USDC → receive 10,000 FT. Later divest 10,000 FT → receive 1,000 USDC. **USDC Example:** Withdraw & sell above par: Contribute 1,000 USDC → receive 10,000 FT. Withdraw 10,000 FT (PUT invalidated), then sell on the market at, say, $0.15; the released backing is used by the protocol to fund market buyback and burns of FT over time. **ETH Example:** Divest at par Contribute 2 ETH → receive 76,800 FT (1 ETH = $3,840). Later divest 76,800 FT → receive 2 ETH. **ETH Example:** Withdraw & sell above par: Contribute 2 ETH → receive 76,800 FT (1 ETH = $3,840). Withdraw 76,800 FT (PUT invalidated), then sell on the market at, say, $0.15; the released backing is used by the protocol to fund market buyback and burns of FT over time. > ! > > **Note:** You get back the exact asset and amount you originally invested. **Illustrative scale effects.** If a meaningful share of holders withdraw, released backing can retire large amounts of FT via buybacks. For example, at a $0.10 average buyback price, $100m of released backing can retire roughly 1.0 billion FT; $250m can retire ~2.5 billion FT; $500m can retire ~5.0 billion FT. ### Selling or transferring FT[​](https://docs.flyingtulip.com/capital-allocation/#selling-or-transferring-ft "Direct link to Selling or transferring FT") To sell or transfer FT you first withdraw it from your Perpetual PUT. Withdraw permanently invalidates the Perpetual PUT on that portion. The backing that had been reserved for your redemption is released to fund market buybacks and burns of FT. The buyer on the market does not receive a Perpetual PUT. ### Distributions to users[​](https://docs.flyingtulip.com/capital-allocation/#distributions-to-users "Direct link to Distributions to users") A portion of protocol revenue/fees is used to buy FT on the market and distribute those tokens to users as defined by product‑level programs (separate from burns). Exact shares and schedules are shown in each product’s UI and on the Token page. Revenue‑funded burns still govern Foundation/Team/Incentives unlocks (40:40:20). Where Your Capital Goes[​](https://docs.flyingtulip.com/capital-allocation/#where-your-capital-goes "Direct link to Where Your Capital Goes") ---------------------------------------------------------------------------------------------------------------------------------------------- ![dark-image](https://docs.flyingtulip.com/assets/images/Raise_Capital_Allocation_Dark-1c955d9ec95e80eaa4d931cc3cabc400.webp#dark-mode-only) ![light-image](https://docs.flyingtulip.com/assets/images/Raise_Capital_Allocation_Light-af6769879e445e243d7f533e7db71bbf.webp#light-mode-only) Contributed capital allocation flow. Less Risk. More Transparency. Committed capital itself is never spent. While your Perpetual PUT is open, contributed assets are kept liquid and deployed to low‑risk on-chain yield with no leverage and no bridging (e.g., Aave v3 for major stables, stETH for ETH, jupSOL for SOL, AVAX staking for AVAX, sUSDe for USDe). This keeps the program conservative and unwind‑friendly. Prioritizing safety and liquidity may earn lower yields than riskier strategies, by design, so that redemptions can be honored quickly in all conditions. **Priority of backing yield:** 1. **Ecosystem development first.** The first call on the backing yield is to fund the ongoing development of the ecosystem, infrastructure and operations. 2. **All surplus to buyback & burn.** Any remaining backing yield after the ecosystem budget is met is used for continuous buyback‑and‑burn of FT. **Protocol revenue and fees** from Flying Tulip’s entire suite of products (ftUSD, settlement rails, lending, derivatives, spot, permissionless markets, insurance) are also routed to buybacks and burns; and govern the unlocking of Foundation/Team/Incentives allocations using a 40:40:20 split. * Buybacks funded by revenue unlock. * Buybacks funded solely by backing yield do not trigger unlocks. For the full backtests, formulas, and sensitivity math, see the Technical Appendix. **Safety first (and the trade‑off):** Backing capital is kept in safe, liquid positions (no leverage, no bridging) so redemptions can be honored quickly. This may earn a lower yield than riskier strategies, by design. In synchronized redemption waves, some positions (e.g., LST withdrawals) can introduce timing delays; we size and diversify to minimize this. Unlock Mechanics[​](https://docs.flyingtulip.com/capital-allocation/#unlock-mechanics "Direct link to Unlock Mechanics") ------------------------------------------------------------------------------------------------------------------------- Unlocks are revenue‑linked. Buybacks funded by project revenue unlock Foundation/Team/Incentives 1:1 (40:40:20). Buybacks funded only by backing interest do not unlock anything; they just reduce supply. How to Participate[​](https://docs.flyingtulip.com/capital-allocation/#how-to-participate "Direct link to How to Participate") ------------------------------------------------------------------------------------------------------------------------------- 1. Visit [flyingtulip.com](https://flyingtulip.com/) and connect a supported wallet. 2. Choose an accepted asset (addresses below) and contribute to the Investment Contract. 3. Receive FT at 10 FT per $1 contributed, issued into your Perpetual PUT. 4. Manage your position over time: Hold, Divest, or Withdraw, all on-chain and reflected in the public buyback/burn ledger. Why This Structure Works[​](https://docs.flyingtulip.com/capital-allocation/#why-this-structure-works "Direct link to Why This Structure Works") ------------------------------------------------------------------------------------------------------------------------------------------------- 100% Capital Protection. The structure is designed to reduce investor risk, preserve capital, and align incentives: * The perpetual PUT or evergreen redemption right provides a floor at par, with no cliffs or lockups * Backing capital works continuously in conservative strategies rather than being spent, so that value accrues immediately * Revenue-linked operations and costs ensure team and foundation liquidity expands only when real cash flow is buying back FT, not up front * Withdrawals create path‑dependent scarcity: released backing funds, additional buybacks for the benefit of remaining holders. Risks to understand[​](https://docs.flyingtulip.com/capital-allocation/#risks-to-understand "Direct link to Risks to understand") ---------------------------------------------------------------------------------------------------------------------------------- * **Liquidity timing during stress.** Some backing positions (e.g., stETH, jupSOL, AVAX) may require exit queues or unbonding. Exposures are sized for timely unwinds, but synchronized exits can still slow settlement. * **Peg/basis and yield variability.** Components like sUSDe (basis/funding dependent) and newer stables can experience yield compression or adverse basis moves. * **Protocol/validator risk.** Smart‑contract, validator, and MEV‑economics risks exist in all integrated systems (Aave, LSTs, staking). * **Regulatory risk.** Policy changes around stablecoins and staking can affect the backing mix or operations. * **Investor trade‑offs.** Secondary buyers do not receive a Perpetual PUT. Primary buyers who hold near-par for long periods may incur opportunity costs relative to higher‑risk strategies. * **Redemption timing.** In heavy redemption windows, some backing components (e.g., LST exits, validator unbonding) can introduce delays. Allocations are sized for fast unwinds, but synchronized exits can still slow settlement > ! > > **Note:** This page is informational and not investment advice. Yields are variable and not guaranteed. Accepted Assets & Chains[​](https://docs.flyingtulip.com/capital-allocation/#accepted-assets--chains "Direct link to Accepted Assets & Chains") ------------------------------------------------------------------------------------------------------------------------------------------------ > ! > > **Note:** Always confirm these addresses in the Invest UI at the time of contribution. ### Ethereum[​](https://docs.flyingtulip.com/capital-allocation/#ethereum "Direct link to Ethereum") | Token | Address | | --- | --- | | **USDT** | `0xdAC17F958D2ee523a2206206994597C13D831ec7` | | **USDC** | `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48` | | **USDS** | `0xdC035D45d973E3EC169d2276DDab16f1e407384F` | | **USDtb** | `0xC139190F447e929f090Edeb554D95AbB8b18aC1C` | | **USDe** | `0x4c9EDD5852cd905f086C759E8383e09bff1E68B3` | | **WETH** | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` | ### Avalanche[​](https://docs.flyingtulip.com/capital-allocation/#avalanche "Direct link to Avalanche") | Token | Address | | --- | --- | | **wAVAX** | `0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7` | | **USDC** | `0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E` | | **USDT** | `0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7` | ### Sonic[​](https://docs.flyingtulip.com/capital-allocation/#sonic "Direct link to Sonic") | Token | Address | | --- | --- | | **wS** | `0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38` | | **USDC** | `0x29219dd400f2Bf60E5a23d13Be72B486D4038894` | ### Base[​](https://docs.flyingtulip.com/capital-allocation/#base "Direct link to Base") | Token | Address | | --- | --- | | **USDC** | `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` | | **WETH** | `0x4200000000000000000000000000000000000006` | ### BNB Chain[​](https://docs.flyingtulip.com/capital-allocation/#bnb-chain "Direct link to BNB Chain") | Token | Address | | --- | --- | | **WBNB** | `0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c` | ### Solana[​](https://docs.flyingtulip.com/capital-allocation/#solana "Direct link to Solana") | Token | Address | | --- | --- | | **USDC** | `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v` | | **wSOL** | `So11111111111111111111111111111111111111112` | FAQ[​](https://docs.flyingtulip.com/capital-allocation/#faq "Direct link to FAQ") ---------------------------------------------------------------------------------- **Do I have a lockup?** No. There is no vesting and no cliff. Your FT is issued into your Perpetual PUT; you can Hold, Divest, or Withdraw at any time. **What’s the difference between Divest and Withdraw?** Divest returns your original asset at par. Withdraw unlocks your FT (Perpetual PUT invalidated) and uses the released backing to buy back & burn FT on the market. **Do buybacks always unlock tokens for the team/foundation?** No. Only revenue‑funded buybacks unlock Foundation/Team/Incentives (40:40:20) one‑for‑one. Backing‑yield‑only buybacks do not trigger unlocks. **Where can I see the math?** See the Technical Appendix (link below) for full backtests, formulas, and scenario tables. **Do I need a vote to divest?** No. The Perpetual PUT is an on-chain, programmatic right. Exercising it requires no governance vote, and a vote cannot revoke the right on existing primary-issued FT. **What is the difference between Divest vs. Withdraw?** **Divest** returns the exact asset and amount you originally committed. **Withdraw** invalidates the Perpetual PUT; the reserved backing is then used by the protocol to fund market buyback and burns of FT. Buyers of FT on the market do not receive a Perpetual PUT **Do secondary buyers receive the Perpetual PUT Option?** FT purchased on the open market does not include a Perpetual PUT. Only primary FT issued in the Capital Allocation has the Perpetual PUT **Why withdraw instead of divest?** If FT trades above your original price, withdrawing and then selling can yield more than par, but you lose the Perpetual PUT on the amount you withdraw. Divesting always returns exactly par, regardless of market price. Footnotes[​](https://docs.flyingtulip.com/capital-allocation/#footnote-label "Direct link to Footnotes") --------------------------------------------------------------------------------------------------------- 1. You exchange accepted on-chain assets for FT at a fixed rate of 10 FT per $1 (implied price: $0.10) [↩](https://docs.flyingtulip.com/capital-allocation/#user-content-fnref-1) * [What You Get to Start](https://docs.flyingtulip.com/capital-allocation/#what-you-get-to-start) * [Your Perpetual PUT Position - How Does it Work?](https://docs.flyingtulip.com/capital-allocation/#your-perpetual-put-position---how-does-it-work) * [1\. Hold: Keep your position and capital protection active](https://docs.flyingtulip.com/capital-allocation/#1-hold-keep-your-position-and-capital-protection-active) * [2\. Divest: Recover original asset](https://docs.flyingtulip.com/capital-allocation/#2-divest-recover-original-asset) * [3\. Withdraw: Access your FT and destroy your Perpetual PUT](https://docs.flyingtulip.com/capital-allocation/#3-withdraw-access-your-ft-and-destroy-your-perpetual-put) * [Divest vs. Withdraw](https://docs.flyingtulip.com/capital-allocation/#divest-vs-withdraw) * [Selling or transferring FT](https://docs.flyingtulip.com/capital-allocation/#selling-or-transferring-ft) * [Distributions to users](https://docs.flyingtulip.com/capital-allocation/#distributions-to-users) * [Where Your Capital Goes](https://docs.flyingtulip.com/capital-allocation/#where-your-capital-goes) * [Unlock Mechanics](https://docs.flyingtulip.com/capital-allocation/#unlock-mechanics) * [How to Participate](https://docs.flyingtulip.com/capital-allocation/#how-to-participate) * [Why This Structure Works](https://docs.flyingtulip.com/capital-allocation/#why-this-structure-works) * [Risks to understand](https://docs.flyingtulip.com/capital-allocation/#risks-to-understand) * [Accepted Assets & Chains](https://docs.flyingtulip.com/capital-allocation/#accepted-assets--chains) * [Ethereum](https://docs.flyingtulip.com/capital-allocation/#ethereum) * [Avalanche](https://docs.flyingtulip.com/capital-allocation/#avalanche) * [Sonic](https://docs.flyingtulip.com/capital-allocation/#sonic) * [Base](https://docs.flyingtulip.com/capital-allocation/#base) * [BNB Chain](https://docs.flyingtulip.com/capital-allocation/#bnb-chain) * [Solana](https://docs.flyingtulip.com/capital-allocation/#solana) * [FAQ](https://docs.flyingtulip.com/capital-allocation/#faq) --- # Contract Addresses | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/contract-addresses/#__docusaurus_skipToContent_fallback) On this page Overview[​](https://docs.flyingtulip.com/contract-addresses/#overview "Direct link to Overview") ------------------------------------------------------------------------------------------------- List of all Flying Tulip contracts and their public addresses. ### FT Token[​](https://docs.flyingtulip.com/contract-addresses/#ft-token "Direct link to FT Token") LayerZero EVM Omnichain Fungible Token. | Address | Network | | --- | --- | | [`0x5DD1A7A369e8273371d2DBf9d83356057088082c`](https://etherscan.io/address/0x5DD1A7A369e8273371d2DBf9d83356057088082c) | Ethereum | | [`0x5DD1A7A369e8273371d2DBf9d83356057088082c`](https://sonicscan.org/address/0x5DD1A7A369e8273371d2DBf9d83356057088082c) | Sonic | | [`0x5DD1A7A369e8273371d2DBf9d83356057088082c`](https://bscscan.com/address/0x5DD1A7A369e8273371d2DBf9d83356057088082c) | BSC | | [`0x5DD1A7A369e8273371d2DBf9d83356057088082c`](https://snowtrace.io/address/0x5DD1A7A369e8273371d2DBf9d83356057088082c) | Avalanche | | [`0x5DD1A7A369e8273371d2DBf9d83356057088082c`](https://basescan.org/address/0x5DD1A7A369e8273371d2DBf9d83356057088082c) | Base | ### FT Accredited Investor Quiz[​](https://docs.flyingtulip.com/contract-addresses/#ft-accredited-investor-quiz "Direct link to FT Accredited Investor Quiz") Scorecard (represented as NFT) for participants who pass the accredited investor quiz. * **Address:** [`0x65DeC23aC61c6BEcbC0C56E1067B71A91993D8Ac`](https://sonicscan.org/address/0x65DeC23aC61c6BEcbC0C56E1067B71A91993D8Ac) * **Network:** Sonic * [Overview](https://docs.flyingtulip.com/contract-addresses/#overview) * [FT Token](https://docs.flyingtulip.com/contract-addresses/#ft-token) * [FT Accredited Investor Quiz](https://docs.flyingtulip.com/contract-addresses/#ft-accredited-investor-quiz) --- # Technical Appendix | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#__docusaurus_skipToContent_fallback) On this page This appendix makes the PCA program fully evaluable from the docs. It explains the model inputs, allocation logic, yield math, revenue baselines, and how everything translates into buybacks, burns, unlocks, and potential supply outcomes. All figures are illustrative and subject to market conditions. > ! > > **Note:** Nothing here is investment advice. Backing allocations and rates are variable. Yields are not guaranteed. A) Methodology & Assumptions[​](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#a-methodology--assumptions "Direct link to A) Methodology & Assumptions") ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ **Objective.** Estimate the annual dollars available to retire FT from (i) backing yield and (ii) protocol revenue & fees, then translate those dollars into FT retired under different average buyback prices. Also show Withdraw/Divest scenarios and their supply effects. **Allocation approach (illustrative, conservative, liquid, no leverage):** * Major stables (Aave v3 supply) * stETH (ETH staking) * jupSOL (SOL LST) * AVAX staking * sUSDe (for USDe) Approximate mix: ~½ in stables, balance across staked ETH/SOL/AVAX and sUSDe exposure. Policy weights may evolve with liquidity, rates, and risk. **Cadence & accounting.** * Backing yield accrues continuously on‑chain. * First, it funds the ecosystem development budget (salaries/marketing/infra/ops). * Remainder flows to buyback‑and‑burn. * Protocol revenue & fees from the product suite are routed to buybacks and also govern unlocks (see Section E). * Divests return collateral at par; Withdrawals invalidate PUTs and release backing for buybacks. B) Backtested Yield (12‑Month Illustrative; $1.0B PCA)[​](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#b-backtested-yield-12month-illustrative-10b-pca "Direct link to B) Backtested Yield (12‑Month Illustrative; $1.0B PCA)") ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- **Estimated annual carry by component (USD):** | Component | Annual carry (USD) | | --- | --- | | Aave v3 – USDC | $6.58m | | Aave v3 – USDT | $6.04m | | Aave v3 – USDS (proxy) | $4.38m | | sUSDe | $9.43m | | stETH | $9.00m | | jupSOL | $6.70m | | AVAX staking | $2.15m | | **Total** | **$44.27m** | ### Yield → Burn Conversion[​](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#yield--burn-conversion "Direct link to Yield → Burn Conversion") If annual backing‑carry surplus available for buybacks is YYY dollars and the average buyback price is PPP dollars per FT, then: FTretired\_from\_yield≈Y/PFT\_{\\text{retired\\\_from\\\_yield}} \\approx Y / PFTretired\_from\_yield​≈Y/P The surplus YYY is after funding the ecosystem development budget EEE. With total carry BBB, we have Y\=max⁡(B−E,0)Y = \\max(B − E, 0)Y\=max(B−E,0). Sensitivity for P\=$0.10P = \\$0.10P\=$0.10 (illustrative): | Ecosystem budget E | Surplus Y = max(44.27 − E, 0) | FT retired (Y / $0.10) | | --- | --- | --- | | $0.00m | $44.27m | 442.7m FT | | $10.00m | $34.27m | 342.7m FT | | $20.00m | $24.27m | 242.7m FT | | $30.00m | $14.27m | 142.7m FT | | $40.00m | $4.27m | 42.7m FT | | ≥$44.27m | $0.00m | 0 FT | Other average prices (same YYY): * P\=$0.05→FT≈2×(Y/0.10)P = \\$0.05 \\rightarrow FT \\approx 2 × (Y / 0.10)P\=$0.05→FT≈2×(Y/0.10) * P\=$0.20→FT≈0.5×(Y/0.10)P = \\$0.20 \\rightarrow FT \\approx 0.5 × (Y / 0.10)P\=$0.20→FT≈0.5×(Y/0.10) C) Protocol Revenue & Fee Capture (Illustrative Baselines)[​](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#c-protocol-revenue--fee-capture-illustrative-baselines "Direct link to C) Protocol Revenue & Fee Capture (Illustrative Baselines)") ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- These baselines allocate a conservative market share across product verticals near ~$1B TVL/activity. ### Revenue Baseline (illustrative)[​](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#revenue-baseline-illustrative "Direct link to Revenue Baseline (illustrative)") * Futures/CLOB analog: **$57.00m** * Lending analog: **$2.87m** * Delta‑neutral stable/hedging analog: **$3.16m** * AMM fee‑switch analog: **$18.38m** **Total ≈ $81.41m** → at **P = $0.10**, **~0.814b FT** retired annually. ### Fee Distribution (token‑first integration; alternative lens)[​](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#fee-distribution-tokenfirst-integration-alternative-lens "Direct link to Fee Distribution (token‑first integration; alternative lens)") * Futures/CLOB analog: **$58.00m** * Lending analog: **$17.53m** * Delta‑neutral/hedging analog: **$31.63m** * AMM fee‑switch analog: **$18.38m** **Total ≈ $125.54m** → at **P = $0.10**, **~1.255b FT** purchased annually. > ! > > **Note:** Depending on product mechanics, users can still receive the same yield %, with distributions delivered in FT while buybacks are executed in the background. D) Withdraw / Divest Scenarios: Supply Effects[​](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#d-withdraw--divest-scenarios-supply-effects "Direct link to D) Withdraw / Divest Scenarios: Supply Effects") ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * Withdraw (invalidate PUT; keep FT): releases backing equal to the original contribution for that portion. At the average buyback price P: FTretired\_from\_withdrawals≈Released\_backing/PFT\_{\\text{retired\\\_from\\\_withdrawals}} \\approx \\text{Released\\\_backing} / PFTretired\_from\_withdrawals​≈Released\_backing/P Illustrations at **P = $0.10**: * **$100m** released → **~1.0b FT** * **$250m** released → **~2.5b FT** * **$500m** released → **~5.0b FT** * Divest (par return): returns the same asset and amount contributed. E) Unlock Logic: Alignment[​](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#e-unlock-logic-alignment "Direct link to E) Unlock Logic: Alignment") ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ * Only revenue‑funded buybacks unlock Foundation/Team/Incentives one‑for‑one, at 40:40:20. * Backing‑yield‑funded buybacks do not trigger unlocks. * There is no inflation beyond PCA minting; unlocks are releases from pre‑allocated buckets tied to real revenue performance. F) One‑Year Combined Illustration (for Intuition)[​](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#f-oneyear-combined-illustration-for-intuition "Direct link to F) One‑Year Combined Illustration (for Intuition)") ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Assume a **$1.0B PCA**: 1. **Backing carry total:** B≈$44.27mB \\approx \\$44.27mB≈$44.27m. After funding ecosystem development EEE, suppose Y\=max⁡(B−E,0)Y = \\max(B − E, 0)Y\=max(B−E,0) remains for buybacks → retires Y/PY/PY/P FT at average price PPP. 2. **Revenue baseline:** `≈ $81.41m` → **~0.814b FT** retired at **P = $0.10**. 3. **Withdrawals:** if **25%** of original capital is Withdrawn, **~$250m** of backing is released → **~2.5b FT** retired at **P = $0.10**. These forces combine: yield surplus + revenue + withdrawals can retire a substantial share of supply in year one. Outcomes are path‑dependent and sensitive to prices, volumes, budgets, and adoption. G) Quick Reference: Key Formulas[​](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#g-quick-reference-key-formulas "Direct link to G) Quick Reference: Key Formulas") ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ PCA minting: FTminted\=10×USDequivalent\_contributedFT\_{\\text{minted}} = 10 \\times USD\_{\\text{equivalent\\\_contributed}}FTminted​\=10×USDequivalent\_contributed​ Yield surplus after ecosystem budget: Y\=max⁡(B−E,0)Y = \\max(B − E, 0)Y\=max(B−E,0) Yield → burn: FTretired\_from\_yield≈Y/PFT\_{\\text{retired\\\_from\\\_yield}} ≈ Y / PFTretired\_from\_yield​≈Y/P Withdrawals → burn: FTretired\_from\_withdrawals≈Released\_backing/PFT\_{\\text{retired\\\_from\\\_withdrawals}} ≈ \\text{Released\\\_backing} / PFTretired\_from\_withdrawals​≈Released\_backing/P Revenue → burn: FTretired\_from\_revenue≈Revenue\_allocated\_to\_buybacks/PFT\_{\\text{retired\\\_from\\\_revenue}} ≈ \\text{Revenue\\\_allocated\\\_to\\\_buybacks} / PFTretired\_from\_revenue​≈Revenue\_allocated\_to\_buybacks/P * [A) Methodology & Assumptions](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#a-methodology--assumptions) * [B) Backtested Yield (12‑Month Illustrative; $1.0B PCA)](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#b-backtested-yield-12month-illustrative-10b-pca) * [Yield → Burn Conversion](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#yield--burn-conversion) * [C) Protocol Revenue & Fee Capture (Illustrative Baselines)](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#c-protocol-revenue--fee-capture-illustrative-baselines) * [Revenue Baseline (illustrative)](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#revenue-baseline-illustrative) * [Fee Distribution (token‑first integration; alternative lens)](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#fee-distribution-tokenfirst-integration-alternative-lens) * [D) Withdraw / Divest Scenarios: Supply Effects](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#d-withdraw--divest-scenarios-supply-effects) * [E) Unlock Logic: Alignment](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#e-unlock-logic-alignment) * [F) One‑Year Combined Illustration (for Intuition)](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#f-oneyear-combined-illustration-for-intuition) * [G) Quick Reference: Key Formulas](https://docs.flyingtulip.com/capital-allocation/technical-appendix/#g-quick-reference-key-formulas) --- # Flying Tulip | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/overview/flying-tulip/#__docusaurus_skipToContent_fallback) On this page What is Flying Tulip?[​](https://docs.flyingtulip.com/overview/flying-tulip/#what-is-flying-tulip "Direct link to What is Flying Tulip?") ------------------------------------------------------------------------------------------------------------------------------------------ Flying Tulip is an on‑chain financial system that standardizes pricing, credit, and risk across a suite of products, spot trading (AMM + CLOB), lending, perpetual futures, insurance, and a settlement rail (ftUSD). The design goal is straightforward: reuse the same unit of collateral across multiple functions, price risk based on real, executable liquidity rather than static tables or delayed oracles, and route system cashflows back to the token in a transparent, programmatic way. "Better Yield" means capital efficiency; the same deposit can earn base yield while also securing lending, resting CLOB orders, or futures margin, plus a token‑first model that converts protocol revenues into buybacks (and, where specified, user distributions). "Better UX" means the mechanics are encoded in contracts and unified across products: the same depth‑aware prices feed trading, LTVs, funding, and liquidations; the same guardrails and change‑management apply everywhere. ### The problems we address[​](https://docs.flyingtulip.com/overview/flying-tulip/#the-problems-we-address "Direct link to The problems we address") **Capital isolation.** In most DeFi systems, each product has its own silos collateral. You supply to a lending market, and that capital cannot simultaneously back orders or margin. Flying Tulip's permissioned credit layer supports cross‑collateral, so one deposit can secure multiple activities at once while still earning its base yield. **Fragmented liquidity and static pricing.** Traditional AMMs `x·y=k` are robust but static; they deliver wide spreads in calm markets and expose LPs to heavy divergence when volatility rises. Flying Tulip's Spot uses a hybrid curve that leans constant‑sum in stable regimes (tight effective spreads) and leans constant‑product in stress (more curvature to protect LPs). Price and risk are computed from what the market can actually absorb, not just last prints. **USD‑only debt assumptions.** Many lending markets implicitly force USD‑denominated views of risk. We support asset‑consistent borrowing and portfolio‑level cross‑margining in the permissioned pool, while permissionless markets remain pair‑scoped for simplicity. **Centralized dependencies.** Perpetual futures often rely on external oracles with multi‑second ticks and governance bottlenecks. FT Futures settle to internal trading (AMM + CLOB) with sub‑second updates and depth‑aware limits, removing a class of oracle lag/manipulation risk. ### System design[​](https://docs.flyingtulip.com/overview/flying-tulip/#system-design "Direct link to System design") #### Trading engine: Spot (AMM + CLOB) as the pricing spine[​](https://docs.flyingtulip.com/overview/flying-tulip/#trading-engine-spot-amm--clob-as-the-pricing-spine "Direct link to Trading engine: Spot (AMM + CLOB) as the pricing spine") The AMM blends constant‑sum and constant‑product via regime signals (e.g., EMAs over price/dispersion). Pre‑trade simulation and guardrail enforce bounded impact and minimum reserves. A CLOB runs alongside for price‑time‑priority limit orders. The router sweeps CLOB liquidity first, then crosses residual flow against the AMM's adaptive curve. The engine maintains both TWAP (time‑weighted average price) and RWAP (reserve‑weighted average price) windows; downstream systems use these windows as sources of executable price and depth. #### Lending: permissionless pairs and a permissioned cross‑collateral pool[​](https://docs.flyingtulip.com/overview/flying-tulip/#lending-permissionless-pairs-and-a-permissioned-crosscollateral-pool "Direct link to Lending: permissionless pairs and a permissioned cross‑collateral pool") * **Permissionless Lend**: every Spot pair exposes a lending market automatically. Borrowing power is size‑ and depth‑aware (from Spot windows) rather than fixed tables; snapshot LTV is taken at open/adjust so rules don't shift under live positions; liquidations are soft (time‑sliced, depth‑aware, CLOB‑aware). * **Permissioned Lend**: curated assets share a single pool with cross‑collateral across Lend/CLOB/Futures. A debt‑netting mechanism enables delta‑neutral constructions (e.g., ftUSD) with near‑zero conventional liquidation paths under configured bounds. One deposit can earn a money‑market yield while backing orders and future margin simultaneously. #### Perpetual futures: oracleless, depth‑aware[​](https://docs.flyingtulip.com/overview/flying-tulip/#perpetual-futures-oracleless-depthaware "Direct link to Perpetual futures: oracleless, depth‑aware") FT Futures use internal trading as the oracle. Leverage limits, liquidation sizing, and slippage guards are driven by TWAR‑family windows that ask, "How much of X could clear for Y over this interval without breaching reserves?" Funding links to actual borrowing costs in the Lend markets. Settlement is in ftUSD; opt‑in settlement LPs supply ftUSD and earn per‑settlement fees, with exposure balanced by pool policy. #### Settlement rail: ftUSD / sftUSD[​](https://docs.flyingtulip.com/overview/flying-tulip/#settlement-rail-ftusd--sftusd "Direct link to Settlement rail: ftUSD / sftUSD") ftUSD is the dollar‑target settlement currency used across the system. It is non‑yielding by default (unstaked ftUSD proceeds accrue to the protocol). Users who want to yield stake to sftUSD and receive distributions via the pool's accounting (variable; not guaranteed). The portfolio construction underpinning ftUSD targets dollar stability with delta‑neutral positioning and conservative sizing. ### Risk & operations[​](https://docs.flyingtulip.com/overview/flying-tulip/#risk--operations "Direct link to Risk & operations") The platform emphasizes unwind‑friendly positions and defense‑in‑depth controls: * **Policy**: conservative allocations (no leverage, no bridging for treasury backing), per‑asset/venue caps, circuit breakers, and staged parameter changes. * **Execution**: pre‑trade simulation, bounded fee schedules (lower in calm regimes, higher in stress), and soft liquidations that route through Spot with time‑sliced clips. * **Transparency**: addresses, parameters, windows (TWAP/RWAP/TWAR), utilization, and fee schedules are published; audits and incident processes are documented separately. ### Programmatic value flow[​](https://docs.flyingtulip.com/overview/flying-tulip/#programmatic-value-flow "Direct link to Programmatic value flow") Protocol cashflows (trading, lending, futures, insurance, settlement rails) feed a buyback pipeline for the FT token. Where policy specifies, bought FT is distributed to users via product programs; burns reduce supply directly. Revenue‑funded burns govern unlocks (Foundation/Team/Incentives 40:40:20, one‑for‑one); interest‑only (backing carry) burns do not unlock; those simply reduce supply. ### Why this architecture[​](https://docs.flyingtulip.com/overview/flying-tulip/#why-this-architecture "Direct link to Why this architecture") By centering everything on executable liquidity and a shared risk model, Flying Tulip removes the guesswork between products: the Spot's depth informs LTVs and liquidations; the same windows govern future leverage and funding; the same deposit backs multiple activities; and the same cashflow rules route value back to the token. The outcome is a system that behaves consistently across markets and makes capital work once for several jobs, with the safety properties you need when conditions change quickly. * [What is Flying Tulip?](https://docs.flyingtulip.com/overview/flying-tulip/#what-is-flying-tulip) * [The problems we address](https://docs.flyingtulip.com/overview/flying-tulip/#the-problems-we-address) * [System design](https://docs.flyingtulip.com/overview/flying-tulip/#system-design) * [Risk & operations](https://docs.flyingtulip.com/overview/flying-tulip/#risk--operations) * [Programmatic value flow](https://docs.flyingtulip.com/overview/flying-tulip/#programmatic-value-flow) * [Why this architecture](https://docs.flyingtulip.com/overview/flying-tulip/#why-this-architecture) --- # Intent Whitelist | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/guides/intent-whitelist/#__docusaurus_skipToContent_fallback) On this page Overview[​](https://docs.flyingtulip.com/guides/intent-whitelist/#overview "Direct link to Overview") ------------------------------------------------------------------------------------------------------ The Intent Whitelist is an early round for participants who register interest by submitting the intent form. This round does not require KYC and has the same terms as all other rounds: 1 FT = $0.10. > ! > > **Note:** Provide your wallet address, chain, asset, and amount in the intent form, and pass the Flying Tulip Accredited Investor [quiz](https://flyingtulip.com/quiz) > . The intent [form](https://flyingtulip.com/whitelist) > is live. In this round, commitments are collected per network; you choose the network and token you plan to commit on. How allocation works[​](https://docs.flyingtulip.com/guides/intent-whitelist/#how-allocation-works "Direct link to How allocation works") ------------------------------------------------------------------------------------------------------------------------------------------ 1. We collect interest from addresses that submit the intent form, per network. You choose the network and accepted token, and may set a minimum and a maximum you are comfortable with. No funds are transferred at this step. 2. After signups close, we calculate a single base minimum per address using the total round pool and the number of participants (the same logic applies per network respecting that network's capacity). 3. If your stated minimum is above the base minimum, you are excluded from this round to respect your preference. 4. We notify you of your allocation and provide a short claim window to transfer funds on that network. 5. If there is FT left over, we split that remainder proportionally based on how much extra each person can still take. If combined headroom exceeds the remainder, it's pro‑rata. Otherwise everyone fills to their max. ### What you need to choose[​](https://docs.flyingtulip.com/guides/intent-whitelist/#what-you-need-to-choose "Direct link to What you need to choose") * **Network + token:** where you plan to commit your capital (refer to [Public Capital Allocation](https://docs.flyingtulip.com/guides/sale-process/) for the list of tokens and networks). * **Minimum:** defaults to the round's base minimum. Only set it if you want to enforce a higher personal floor. Setting it above the base will exclude you from this round. * **Maximum:** the most you would accept if there’s leftover. Set this if you want to be considered for more than the base minimum during the pro‑rata step. ### Claiming and waves[​](https://docs.flyingtulip.com/guides/intent-whitelist/#claiming-and-waves "Direct link to Claiming and waves") * No upfront capital is required during this commitment phase. You only send funds after receiving your final allocation. All claim and transfer instructions for the whitelist will be announced exclusively through the official Flying Tulip socials. Stay tuned. * We may run multiple waves. Any final remainder after waves (or if there’s no remaining headroom) rolls into later rounds/public sale. You can still participate in those later rounds. * [Overview](https://docs.flyingtulip.com/guides/intent-whitelist/#overview) * [How allocation works](https://docs.flyingtulip.com/guides/intent-whitelist/#how-allocation-works) * [What you need to choose](https://docs.flyingtulip.com/guides/intent-whitelist/#what-you-need-to-choose) * [Claiming and waves](https://docs.flyingtulip.com/guides/intent-whitelist/#claiming-and-waves) --- # Supporter Whitelist | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/guides/supporter-whitelist/#__docusaurus_skipToContent_fallback) On this page Overview[​](https://docs.flyingtulip.com/guides/supporter-whitelist/#overview "Direct link to Overview") --------------------------------------------------------------------------------------------------------- The Supporter Whitelist is an early round for selected participants based on predetermined criteria. This round does not require KYC and has the same terms as all other rounds: 1 FT = $0.10. > ! > > **Note:** No additional action is required to qualify for this round. In this round, commitments are collected per network, supporters have to choose the network and token they plan to commit on that network. > ! > > **Note:** No upfront transfer during Support Whitelist round is required. Capital allocation will be announced later. Eligibility criteria[​](https://docs.flyingtulip.com/guides/supporter-whitelist/#eligibility-criteria "Direct link to Eligibility criteria") --------------------------------------------------------------------------------------------------------------------------------------------- One-time snapshot was taken to create a list of supporter addresses which met the historical participation criteria. The list contains 8707 wallets across Yearn, Keep3r Network and Fantom/Sonic ecosystems; and 1648 X accounts. > ! > > **Note:** Eligibility has been pre-determined; no additional activity can change it. ### Yearn[​](https://docs.flyingtulip.com/guides/supporter-whitelist/#yearn "Direct link to Yearn") 1. Collect all voters in the early Yearn governance [contract](https://etherscan.io/address/0xBa37B002AbaFDd8E89a1995dA52740bbC013D992) . 2. Collect all users who transferred YFI within the first three months after launch. 3. From that cumulative set, only pick wallets still holding YFI at the snapshot time. ### Keep3r Network[​](https://docs.flyingtulip.com/guides/supporter-whitelist/#keep3r-network "Direct link to Keep3r Network") 1. Collect all [vKP3R](https://etherscan.io/address/0x2FC52C61fB0C03489649311989CE2689D93dC1a2) lockers. 2. Exclude short initial locks even if later relocked. Only full-conviction positions with an initial lock of roughly above 1 year are eligible (the original lock UI was just under 1 year, hence, allowed that margin). ### Fantom/Sonic[​](https://docs.flyingtulip.com/guides/supporter-whitelist/#fantomsonic "Direct link to Fantom/Sonic") 1. Collect all FTM stakers and all S stakers, tracking each wallet’s both total staked amounts. 2. Drop wallets whose sum of all S stake minus sum of all FTM stake is negative (to favor full-conviction S staking and penalize repeated FTM restakes unless matched by S stake). ### X (Twitter)[​](https://docs.flyingtulip.com/guides/supporter-whitelist/#x-twitter "Direct link to X (Twitter)") People who interacted with [Flying Tulip X](https://x.com/flyingtulip_) early will be whitelisted. Example Scenario[​](https://docs.flyingtulip.com/guides/supporter-whitelist/#example-scenario "Direct link to Example Scenario") --------------------------------------------------------------------------------------------------------------------------------- Let's work out an example scenario on how many FT tokens whitelisted accounts could expect. With all 10,355 eligible addresses signing up and 4b FT tokens available for the Supporter Whitelist round that is roughly 386,280 FT per person ($38,628 at $0.10 per FT), and then: * Base minimum is 386,280 FT. * Anyone who set their minimum >386,280 FT drops from the Supporter Whitelist round (you can still join later rounds). * After giving 386,280 FT to everyone still in, we allocate the remainder pro‑rata based on each person's "headroom" (their maximum minus 386,280 FT), up to their maximum. This way, people who are comfortable taking more can get more, but nobody who stays in gets less than the announced base minimum. How allocation works[​](https://docs.flyingtulip.com/guides/supporter-whitelist/#how-allocation-works "Direct link to How allocation works") --------------------------------------------------------------------------------------------------------------------------------------------- 1. We collect interest from eligible addresses, per network. You choose the network and accepted token, and may set a minimum and a maximum you are comfortable with. No funds are transferred at this step. 2. After signups close, we calculate a single base minimum per address using the total round pool and the number of participants (the same logic applies per network respecting that network's capacity). 3. If your stated minimum is above the base minimum, you are excluded from this round to respect your preference. 4. We notify you of your allocation and provide a short claim window to transfer funds on that network. 5. If there is FT left over, we split that remainder proportionally based on how much extra each person can still take. If combined headroom exceeds the remainder, it's pro‑rata. Otherwise everyone fills to their max. ### What you need to choose[​](https://docs.flyingtulip.com/guides/supporter-whitelist/#what-you-need-to-choose "Direct link to What you need to choose") * **Network + token:** where you plan to commit your capital (refer to [Public Capital Allocation](https://docs.flyingtulip.com/guides/sale-process/) for the list of tokens and networks). * **Minimum:** defaults to the round's base minimum. Only set it if you want to enforce a higher personal floor. Setting it above the base will exclude you from this round. * **Maximum:** the most you would accept if there’s leftover. Set this if you want to be considered for more than the base minimum during the pro‑rata step. ### Claiming and waves[​](https://docs.flyingtulip.com/guides/supporter-whitelist/#claiming-and-waves "Direct link to Claiming and waves") * No upfront capital is required during this commitment phase. You only send funds after receiving your final allocation. All claim and transfer instructions for the whitelist will be announced exclusively through the official Flying Tulip socials. Stay tuned. * We may run multiple waves. Any final remainder after waves (or if there’s no remaining headroom) rolls into later rounds/public sale. You can still participate in those later rounds. * [Overview](https://docs.flyingtulip.com/guides/supporter-whitelist/#overview) * [Eligibility criteria](https://docs.flyingtulip.com/guides/supporter-whitelist/#eligibility-criteria) * [Yearn](https://docs.flyingtulip.com/guides/supporter-whitelist/#yearn) * [Keep3r Network](https://docs.flyingtulip.com/guides/supporter-whitelist/#keep3r-network) * [Fantom/Sonic](https://docs.flyingtulip.com/guides/supporter-whitelist/#fantomsonic) * [X (Twitter)](https://docs.flyingtulip.com/guides/supporter-whitelist/#x-twitter) * [Example Scenario](https://docs.flyingtulip.com/guides/supporter-whitelist/#example-scenario) * [How allocation works](https://docs.flyingtulip.com/guides/supporter-whitelist/#how-allocation-works) * [What you need to choose](https://docs.flyingtulip.com/guides/supporter-whitelist/#what-you-need-to-choose) * [Claiming and waves](https://docs.flyingtulip.com/guides/supporter-whitelist/#claiming-and-waves) --- # Public Capital Allocation | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/guides/sale-process/#__docusaurus_skipToContent_fallback) On this page Prepare for Flying Tulip Public Capital Allocation[​](https://docs.flyingtulip.com/guides/sale-process/#prepare-for-flying-tulip-public-capital-allocation "Direct link to Prepare for Flying Tulip Public Capital Allocation") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > ! > > **Note:** No leverage, no "looping", no high-risk collateral. Please, read about associated [risks](https://docs.flyingtulip.com/capital-allocation/#where-your-capital-goes) > before participating in public sale. Foremost, do not rush; there will be ample opportunity to participate. Public sale is **not** live and will **not** be "stealth released". All information will be published on Flying Tulip docs and shared on socials with sufficient time to review all relevant smart contracts and materials. Both whitelist rounds have dedicated guides: [Supporter Whitelist](https://docs.flyingtulip.com/guides/supporter-whitelist/) and [Intent Whitelist](https://docs.flyingtulip.com/guides/intent-whitelist/) . The public sale has 4 rounds: 1. **Early access**: available for Impossible[1](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-1) and Coinlist[2](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-2) communities (limited by $200m[3](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-3) each). Both teams have supported us since 2024, and we wish to give back to them and their communities. 2. **Supporter whitelist**: available for whitelisted addresses based on published historical participation criteria across YFI, KP3R, and FTM/S. > ! > > **Note:** The Supporter Whitelist [guide](https://docs.flyingtulip.com/guides/supporter-whitelist/) > covers all necessary steps. 3. **Intent whitelist**: available for users who showed interest in Flying Tulip webpage. It is necessary to provide the wallet address, chain, asset, and amount in the **form**; and to pass Flying Tulip Accredited Investor [quiz](https://flyingtulip.com/quiz) . > ! > > **Note:** The Intent Whitelist [guide](https://docs.flyingtulip.com/guides/intent-whitelist/) > covers all necessary steps. The [form](https://flyingtulip.com/whitelist) > is live. 4. **Public sale**: available for everyone to participate. All sale rounds are available on Ethereum, Avalanche, Sonic, Base, BSC, and Solana. > ! > > **Note:** To mitigate cross-code risk Solana round is planned only if EVM chains are not filled. > ! > > **Note:** All rounds have the exact same terms: 1 FT = $0.10. Withdrawals of FT from the Perpetual PUT Option will be enabled once **all** sale rounds (early access, supporter and intent whitelists, and public sale) conclude. There is no need to participate in any given round, since there is no special treatment in any of them. However, both Impossible and Coinlist have their own requirements independent of our sale. Make sure to understand the pros and cons of each round. * Early access: * Impossible & Coinlist require KYC * Supporter whitelist: * does not require KYC * requires completion of the Flying Tulip Accredited Investor quiz * Intent whitelist: * does not require KYC * requires a filled-in interest form * requires completion of the Flying Tulip Accredited Investor quiz * Public sale: * does not require KYC Networks and Accepted Tokens[​](https://docs.flyingtulip.com/guides/sale-process/#networks-and-accepted-tokens "Direct link to Networks and Accepted Tokens") -------------------------------------------------------------------------------------------------------------------------------------------------------------- Flying Tulip public sale is available on the following networks: Ethereum, Avalanche, Sonic, Base, BSC, and Solana; with a list of accepted tokens: * Ethereum: USDT, USDC, USDS, USDtb, USDe, WETH * Avalanche: USDC, USDT, wAVAX * Sonic: USDC, wS * Base: USDC, WETH * BSC: WBNB * Solana: USDC, wSOL > ! > > **Note:** It is not necessary to bridge tokens as long as they are held on the right network. Network Caps[​](https://docs.flyingtulip.com/guides/sale-process/#network-caps "Direct link to Network Caps") -------------------------------------------------------------------------------------------------------------- Flying Tulip public sale is a challenge in itself. It can't be run concurrently since the token distribution is unknown, and those tokens should be moved to the relevant contracts. Flying Tulip aims for the lowest risk and "available at any time for withdrawal" strategies. With this in mind, it occupies at most 5% of the strategy's total value locked, meaning max⁡allocation≤0.05×TVLstrategy\\max\_{\\text{allocation}} \\le 0.05 \\times TVL\_{\\text{strategy}}maxallocation​≤0.05×TVLstrategy​. This, together with accepted tokens, translates to public sale limits for each network. Table[4](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-4) below lists the networks, accepted tokens, and strategies to which capital will be allocated, along with each strategy’s approximate APY, total value locked, and maximum capital allocation. | Network | Token | Strategy | APY | Total Value Locked | Maximum Capital Allocation | | --- | --- | --- | --- | --- | --- | | Ethereum | USDT | Aave[5](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-5) | 5.05% | $6,410,000,000.00 | $320,500,000.00 | | | USDC | Aave | 4.00% | $5,780,000,000.00 | $289,000,000.00 | | | USDS | Aave | 4.24% | $73,670,000.00 | **$3,683,500.00** | | | USDtb | Aave | 7.29% | $102,000,000.00 | **$5,100,000.00** | | | USDe | Aave | 8.17% | $1,440,000,000.00 | **$72,000,000.00** | | | WETH | Aave | 1.59% | $10,470,000,000.00 | $523,500,000.00 | | | | | | **Network Max** | $80,783,500.00 | | Avalanche | wAVAX | Aave | 1.23% | $462,340,000.00 | $23,117,000.00 | | | | BenQI[6](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-6)
Staking | 5.02% | $499,268,767.00 | $24,963,438.35 | | | USDC | Aave | 6.30% | $203,450,000.00 | $10,172,500.00 | | | USDT | Aave | 5.65% | $101,790,000.00 | $5,089,500.00 | | | | | | **Network Max** | $63,342,438.35 | | Sonic | wS | Aave | 1.25% | $29,250,000.00 | $1,462,500.00 | | | | Beets[7](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-7)
Staked S | 3.79% | $67,919,046.00 | $3,395,952.30 | | | USDC | Aave | 6.41% | $24,780,000.00 | $1,239,000.00 | | | | | | **Network Max** | $6,097,452.30 | | Base | USDC | Aave | 5.79% | $357,150,000.00 | $17,857,500.00 | | | WETH | Aave | 1.78% | $545,650,000.00 | $27,282,500.00 | | | | | | **Network Max** | $45,140,000.00 | | BSC | WBNB | Lista DAO[8](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-8) | 8.95% | $1,070,849,518.29 | $53,542,475.91 | | | | | | **Network Max** | $53,542,475.91 | | Solana | USDC | Kamino[9](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-9) | 4.50% | $468,020,000.00 | $23,401,000.00 | | | wSOL | Kamino | 5.11% | $710,650,000.00 | $35,532,500.00 | | | | Jito[10](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-10)
Staked SOL | 6.57% | $3,064,310,353.00 | $153,215,517.65 | | | | Jupiter[11](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-11)
Staked SOL | 7% | $1,125,058,402.00 | $56,252,920.10 | | | | Marinade[12](https://docs.flyingtulip.com/guides/sale-process/#user-content-fn-12)
Staked SOL | 7.01% | $907,032,877.00 | $45,351,643.85 | | | | | | **Network Max** | $313,753,581.60 | | | | | | **Total Max** | $562,659,448.16 | Waterfall Approach[​](https://docs.flyingtulip.com/guides/sale-process/#waterfall-approach "Direct link to Waterfall Approach") -------------------------------------------------------------------------------------------------------------------------------- Flying Tulip follows a "waterfall approach" for public sale based on networks, tokens, caps, and **yield priority** from the table above. This approach, together with network caps, translates to the following sales structure: * **Ethereum**: USDe up to $72m, USDtb up to $5.1m, and USDS up to $4m. * **Avalanche**: wAVAX up to $25m, USDC up to $10m, USDT up to $5m. * **Sonic**: wS up to $4m, USDC up to $1m * **Base**: USDC up to $17m * **BSC**: WBNB up to $55m > ! > > **Note:** If any of the caps are not met, then the remainder is filled with USDT, USDC, and ETH on Ethereum and/or SOL, USDC on Solana. * * * FAQ[​](https://docs.flyingtulip.com/guides/sale-process/#faq "Direct link to FAQ") ----------------------------------------------------------------------------------- **How can I apply for the whitelist?** There will be two rounds: the supporter whitelist and the intent whitelist. The supporter round is fixed by a completed snapshot using the criteria in the [Supporter Whitelist](https://docs.flyingtulip.com/guides/supporter-whitelist/) guide. No further action can change eligibility. The intent whitelist simply requires a show of interest and will require registering interest on the Flying Tulip site once the form becomes available; see the [Intent Whitelist](https://docs.flyingtulip.com/guides/intent-whitelist/) guide for the allocation steps. **How many tokens will be available in the public sale after the whitelist round?** The remainder after the early access & whitelist rounds. Minimum 0 FT, maximum 8,000,000,000 FT. **Is there a limit per address?** In the supporter whitelist and intent whitelist rounds, yes; in the public round, no. **When will the FT token be launched?** It will already be launched before the public sale. **Will the FT token be listed on exchanges?** No exchange listings are planned. The Flying Tulip exchange will be the dominant trading venue. **Are there any fees associated with a public sale?** No. **Do I need to pay any fees when withdrawing FT from the FT NFT (the Perpetual PUT Option) or submitting it for redemption of my initial capital?** No. Withdrawing or redeeming your Perpetual PUT Option does not incur protocol fees. **Does the public sale have the same terms as the private sale?** Yes, 1 FT = $0.10. **What is the longest redemption period for returning/burning FT for investment?** Indefinite. **If I deposit non-stablecoin as investment, how is it calculated?** Flying Tulip calculates the $ value of the deposited non-stablecoin at the time of deposit for the purpose of issuing FT at a ratio of 10FT per $1 deposited. **Assuming there is available Aave liquidity and I deposited USDC into the sale on Ethereum, how fast will I get my funds back if redeeming?** Instant. **Can I deposit my FT tokens back into the FT NFT (the Perpetual PUT Option) representing my position?** No. Once you withdraw FT, the portion of the Perpetual PUT Option is permanently closed. **Can I bridge my Perpetual PUT Option (FT NFT)?** We did not plan any bridges, but there are no technical limits to bridges, so while we did not specifically build bridging support, it is not technically disallowed. **Will there be a secondary market for the Perpetual PUT Option NFTs?** Yes, we will be launching on the same day. **Is there a minimum/maximum investment amount?** For Impossible & Coinlist, this is up to their discretion. In our two whitelist rounds, yes, there is a maximum; for the public, no. **If I deposit USDC on Ethereum, can I redeem it for USDC on other chains?** No, we do not take any bridge risks; you can only redeem on the same network that you contributed to. **Do I need to KYC for the public sale?** No. * * * Footnotes[​](https://docs.flyingtulip.com/guides/sale-process/#footnote-label "Direct link to Footnotes") ---------------------------------------------------------------------------------------------------------- 1. Impossible: [website](https://impossible.finance/) [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-1) 2. Coinlist: [website](https://coinlist.co/) [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-2) 3. Final limits might be lowered. [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-3) 4. Data from 2025-10-06 [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-4) 5. Aave: [website](https://aave.com/) [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-5) 6. BenQI: [website](https://benqi.fi/) [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-6) 7. Beets: [website](https://beets.fi/stake) [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-7) 8. Lista DAO: [website](https://lista.org/) [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-8) 9. Kamino: [website](https://kamino.com/) [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-9) 10. Jito: [website](https://www.jito.network/) [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-10) 11. Jupiter: [website](https://vote.jup.ag/) [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-11) 12. Marinade: [website](https://marinade.finance/) [↩](https://docs.flyingtulip.com/guides/sale-process/#user-content-fnref-12) * [Prepare for Flying Tulip Public Capital Allocation](https://docs.flyingtulip.com/guides/sale-process/#prepare-for-flying-tulip-public-capital-allocation) * [Networks and Accepted Tokens](https://docs.flyingtulip.com/guides/sale-process/#networks-and-accepted-tokens) * [Network Caps](https://docs.flyingtulip.com/guides/sale-process/#network-caps) * [Waterfall Approach](https://docs.flyingtulip.com/guides/sale-process/#waterfall-approach) * [FAQ](https://docs.flyingtulip.com/guides/sale-process/#faq) --- # Risks, Security, Audits | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/risks/#__docusaurus_skipToContent_fallback) On this page This page explains how we think about security. It is written for all readers (users, investors, institutions, and developers). Before reading this section, it is important to understand: * Smart contracts are immutable once deployed; transactions are irreversible. * DeFi involves market, protocol, and operational risks. Losses are possible. * Nothing here is investment advice. Yields are variable and not guaranteed. Our Security Principles[​](https://docs.flyingtulip.com/risks/#our-security-principles "Direct link to Our Security Principles") --------------------------------------------------------------------------------------------------------------------------------- 1. **Minimize avoidable risk.** Prefer simple, battle‑tested patterns and conservative assumptions over yield‑chasing or complexity. 2. **Least privilege & separation of duties.** Use role‑based access, multisig guardianship, and timelocks where appropriate. 3. **Defense in depth.** Multiple layers: audits, monitoring, pausing/guardians, circuit breakers, parameter caps, and incident runbooks. 4. **Transparency.** Publish parameters, addresses, audit reports, and incident post‑mortems. 5. **No surprise dependencies.** Limit external protocol reliance; avoid leverage and bridging in the backing allocation for the PCA by default. General DeFi Risks[​](https://docs.flyingtulip.com/risks/#general-defi-risks "Direct link to General DeFi Risks") ------------------------------------------------------------------------------------------------------------------ ### 1) Smart Contract Risk[​](https://docs.flyingtulip.com/risks/#1-smart-contract-risk "Direct link to 1) Smart Contract Risk") Bugs or logic errors can lead to loss of funds, frozen assets, or unintended behavior. Even audited code can contain undiscovered issues. #### What we do: smart contract risk[​](https://docs.flyingtulip.com/risks/#what-we-do-smart-contract-risk "Direct link to What we do: smart contract risk") * Multiple internal reviews and external audits before enabling capital‑bearing features. * Gradual launch with caps/whitelists where prudent. * Continuous monitoring and formal incident runbooks. ### 2) Market, Liquidity & Volatility Risk[​](https://docs.flyingtulip.com/risks/#2-market-liquidity--volatility-risk "Direct link to 2) Market, Liquidity & Volatility Risk") On‑chain markets can move quickly; liquidity can disappear in stress. This affects pricing, collateral health, liquidations, and exit timing. #### What we do: market, liquidity & volatility risk[​](https://docs.flyingtulip.com/risks/#what-we-do-market-liquidity--volatility-risk "Direct link to What we do: market, liquidity & volatility risk") * Conservative risk parameters and dynamic mechanisms in the broader product suite (e.g., snapshot LTVs, soft liquidations, time‑slicing). * Emphasis on unwind‑friendly positions for treasury/backing. ### 3) Price Discovery, MEV & Economic Attack Risk[​](https://docs.flyingtulip.com/risks/#3-price-discovery-mev--economic-attack-risk "Direct link to 3) Price Discovery, MEV & Economic Attack Risk") Front‑running, sandwich attacks, and flash‑loan‑driven manipulations can harm users and LPs if not mitigated. External oracle feeds can lag or be manipulated. #### What we do: price discovery & MEV risk[​](https://docs.flyingtulip.com/risks/#what-we-do-price-discovery--mev-risk "Direct link to What we do: price discovery & MEV risk") * Depth‑aware pricing metrics in trading products; guardrails and regime detection. * Reduce reliance on external oracles where design allows; if used, apply cross‑checks and conservative thresholds. ### 4) Third‑Party & Integration Risk[​](https://docs.flyingtulip.com/risks/#4-thirdparty--integration-risk "Direct link to 4) Third‑Party & Integration Risk") When capital is deployed to external venues (lending, staking, LSTs), those venues have their own contracts, validators, and operational risks. #### What we do: third-party & integration risk[​](https://docs.flyingtulip.com/risks/#what-we-do-third-party--integration-risk "Direct link to What we do: third-party & integration risk") * Use established, liquid venues for conservative yield. * Avoid leverage and bridging in the backing allocation. * Diversify and size exposures with caps and stress assumptions. ### 5) User Operational Risk[​](https://docs.flyingtulip.com/risks/#5-user-operational-risk "Direct link to 5) User Operational Risk") Key loss, phishing, malicious approvals, wrong addresses/URLs, and wallet compromises are common causes of loss. #### What you can do[​](https://docs.flyingtulip.com/risks/#what-you-can-do "Direct link to What you can do") * Use hardware wallets; verify URLs and contract addresses. * Review token approvals; start small; simulate transactions when possible. Security Controls & Operational Safeguards[​](https://docs.flyingtulip.com/risks/#security-controls--operational-safeguards "Direct link to Security Controls & Operational Safeguards") ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * **Roles & Multisig.** Sensitive functions gated by multisig; roles separated (Configurator, Treasury, Strategy Manager, etc.). * **Parameter Caps.** Per‑asset/venue caps and whitelists; snapshot LTVs where relevant. * **No Leverage / No Bridging (Backing).** Backing allocation avoids leverage and bridging by default for unwind simplicity. * **Transparency.** Publish contract addresses, ABIs, parameters, and post‑mortems where applicable. Incident Response (Overview)[​](https://docs.flyingtulip.com/risks/#incident-response-overview "Direct link to Incident Response (Overview)") ---------------------------------------------------------------------------------------------------------------------------------------------- 1. **Detect & Verify.** Monitoring alerts; reproduce on a fork; classify severity. 2. **Contain.** Pause/circuit breakers; parameter throttles; multisig actions. 3. **Remediate.** Hotfixes via audited patterns; re‑audit if code changes. 4. **Communicate.** Timely, factual updates; impact and user guidance. 5. **Post‑Mortem.** Public root‑cause analysis and long‑term fixes. What Users Can Do[​](https://docs.flyingtulip.com/risks/#what-users-can-do "Direct link to What Users Can Do") --------------------------------------------------------------------------------------------------------------- * **Verify** URLs and contract addresses; never trust DMs. * **Use hardware wallets** and limit approvals to trusted contracts. * **Start with smaller allocations** and scale only after you are comfortable with the flow. * **Monitor** your allowances and revoke unused approvals. * **Understand** the differences between Hold, Divest, and Withdraw in the Perpetual PUT Option. * [Our Security Principles](https://docs.flyingtulip.com/risks/#our-security-principles) * [General DeFi Risks](https://docs.flyingtulip.com/risks/#general-defi-risks) * [1) Smart Contract Risk](https://docs.flyingtulip.com/risks/#1-smart-contract-risk) * [2) Market, Liquidity & Volatility Risk](https://docs.flyingtulip.com/risks/#2-market-liquidity--volatility-risk) * [3) Price Discovery, MEV & Economic Attack Risk](https://docs.flyingtulip.com/risks/#3-price-discovery-mev--economic-attack-risk) * [4) Third‑Party & Integration Risk](https://docs.flyingtulip.com/risks/#4-thirdparty--integration-risk) * [5) User Operational Risk](https://docs.flyingtulip.com/risks/#5-user-operational-risk) * [Security Controls & Operational Safeguards](https://docs.flyingtulip.com/risks/#security-controls--operational-safeguards) * [Incident Response (Overview)](https://docs.flyingtulip.com/risks/#incident-response-overview) * [What Users Can Do](https://docs.flyingtulip.com/risks/#what-users-can-do) --- # Multisigs | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/risks/multisigs/#__docusaurus_skipToContent_fallback) On this page **How it works**[​](https://docs.flyingtulip.com/risks/multisigs/#how-it-works "Direct link to how-it-works") -------------------------------------------------------------------------------------------------------------- The Flying Tulip PUT system has privileged roles, some of which are controlled by multisigs. These multisigs are available on Avalanche, Base, Binance Chain, Ethereum, and Sonic. Addresses, thresholds, respective roles, and contracts with those roles are given in the table below. | Address | Threshold | Role | Contract | | --- | --- | --- | --- | | `0x1118e1c057211306a40A4d7006C040dbfE1370Cb` | 3/4 | Msig, treasury | PutManager | | `0x22246a9183ce2ce6e2c2a9973f94aea91435017c` | 2/3 | Configurator | PutManager | | `0x333A1ad484b540EcAc1edFa73a066aB57275293C` | 2/4 | Yield claimer | ftYieldWrapper | | `0x5557729b169082f07d3131D560E2f2cb5e6c48f6` | 3/4 | Strategy manager | ftYieldWrapper | All multisigs are implemented as Safes, meaning multisig assets, transactions, and signers can be viewed using [Safe's Web UI](https://app.safe.global/home) . ### Members[​](https://docs.flyingtulip.com/risks/multisigs/#members "Direct link to Members") Multisigs' membership can be validated from [Safe's Web UI](https://app.safe.global/home) . All members (or signers) are part of Flying Tulip's team and use the following addresses for signing: 1. `0x3c42749709BF354B3aE0Db29Fd2dd88089b21B4E` 2. `0x09e2b49280f1879172b2c3345d08896921707881` 3. `0xd0ca88388d1732594d611535314e9b6745396f5a` 4. `0xf9E5aF16243041cE3141284D225CAfC0fC749a10` * [**How it works**](https://docs.flyingtulip.com/risks/multisigs/#how-it-works) * [Members](https://docs.flyingtulip.com/risks/multisigs/#members) --- # Futures | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/product-suite/ft-futures/#__docusaurus_skipToContent_fallback) On this page Product Overview[​](https://docs.flyingtulip.com/product-suite/ft-futures/#product-overview "Direct link to Product Overview") ------------------------------------------------------------------------------------------------------------------------------- Perpetual futures let you trade with leverage without an expiry date. In most venues, the contract's price follows an external oracle: a feed that updates every few seconds and decides who is liquidated and who is safe. FT Futures takes a different path. Instead of borrowing prices from somewhere else, it uses its own trading (Spot) as the source of truth. The contract settles to what actually trades here, not to a delayed print from elsewhere. That single design choice removes a familiar class of oracle lag and manipulation risk, and it changes how everything feels: quotes are live, settlements are sub‑500 ms, and liquidations key off prices you can really hit. ### How perpetuals work in crypto: and what breaks[​](https://docs.flyingtulip.com/product-suite/ft-futures/#how-perpetuals-work-in-crypto-and-what-breaks "Direct link to How perpetuals work in crypto: and what breaks") A perpetual future (or "future") is a margin product that mirrors spot exposure with no expiry. Longs and shorts pay each other a funding rate that nudges the future back toward spot. On most platforms, "spot" is whatever the oracle says. That introduces two problems. First is latency: the oracle ticks every few seconds, so fast markets can move before the feed catches up. Users get liquidated on stale prices, and recovery is messy. Second is surface area: any integration error, governance bottleneck, or upstream hiccup in the oracle can ripple into your position. You pay for that risk in higher costs and fewer listed markets. FT Futures turns the model inside‑out: it doesn't ask a third party for the price. It observes its own order flow. If ETH changes hands at $1,800 on the Spot, that is the settlement price. There is nothing to wait for. ![dark-image](https://docs.flyingtulip.com/assets/images/ftFutures_Dark-5c84cebc4d57b861e862c873fe5c7717.webp#dark-mode-only) ![light-image](https://docs.flyingtulip.com/assets/images/ftFutures_Light-f5c1e6d9d2788503ac51d27ccab10330.webp#light-mode-only) Futures interconnection with Spot and Lend ### The Spot is the oracle: prices and depth, not just prints[​](https://docs.flyingtulip.com/product-suite/ft-futures/#the-spot-is-the-oracle-prices-and-depth-not-just-prints "Direct link to The Spot is the oracle: prices and depth, not just prints") Pricing begins with the Spot's AMM adaptive curve and the CLOB resting orders. Together, they define where size can actually clear right now. The system looks beyond a single last trade. It maintains a TWAP (time‑weighted average price) for a clean time series and a TWAR‑family of depth‑aware measures that ask a more practical question: _how much of X can be sold for Y over this window without punching through reserves?_ Those depth‑aware windows drive the mechanics that matter: maximum leverage, liquidation sizing, and slippage guards. You are not leveraged against a number that only small trades can hit; you are leveraged against what the pool can truly absorb. Because price discovery is internal, settlements are near‑instant. There is no 2–5s oracle tick to wait for, so liquidations are far less likely to trip on lag. And because the same engine sets prices and absorbs liquidations, unwinds can be sized to depth instead of blasted into a vacuum. ### Margin and leverage: cross‑collateral when you want it[​](https://docs.flyingtulip.com/product-suite/ft-futures/#margin-and-leverage-crosscollateral-when-you-want-it "Direct link to Margin and leverage: cross‑collateral when you want it") Futures can run in isolated or cross‑margin modes. In isolated mode, you post collateral for a specific market and keep risk ring‑fenced. In cross‑margin mode (via the permissioned Lend pool), a single deposit backs futures, CLOB orders, and borrowing at once. Your idle margin is not idle: it continues to earn its underlying money‑market yield while it backs trades. Maximum leverage is not a fixed table; it reflects depth and volatility from TWAR windows and contracts when conditions thin. When you open or adjust a position, limits are snapshotted so the rulebook doesn't change retroactively while you are holding. ### Liquidations that respect the market[​](https://docs.flyingtulip.com/product-suite/ft-futures/#liquidations-that-respect-the-market "Direct link to Liquidations that respect the market") When a position needs to be trimmed, the engine simulates the next clip on the AMM's curve and checks it against guardrails. If the clip would push beyond safe impact, the sale is time‑sliced into smaller steps, often crossing any resting CLOB liquidity first, then walking the AMM. Keepers are rewarded for low‑footprint execution, not for slamming markets. In quiet conditions, liquidations resolve in one or two clips; in fragile conditions, they step down a staircase. The aim is simple: protect solvency without turning stress into a spiral. ### Funding that makes economic sense[​](https://docs.flyingtulip.com/product-suite/ft-futures/#funding-that-makes-economic-sense "Direct link to Funding that makes economic sense") Funding exists to pull the future back toward the spot. FT Futures anchors funding to actual borrowing costs and market imbalances seen in the Lend markets and the Spot, not to an external guess. When longs are effectively borrowing dollars to hold coin, and that borrowing is expensive, funding reflects it. When shorts crowd the other side, funding flips. You can see the inputs, the update cycle, and why you paid (or got paid) what you did. ### Who takes the other side: opt‑in settlement LPs[​](https://docs.flyingtulip.com/product-suite/ft-futures/#who-takes-the-other-side-optin-settlement-lps "Direct link to Who takes the other side: opt‑in settlement LPs") Futures need a counterparty at settlement. FT handles this with opt‑in settlement pools. Liquidity providers deposit ftUSD and volunteer to settle trades in return for per‑settlement fees (around 0.05% per settlement, subject to policy). Exposure is balanced across providers, and providers can adjust or withdraw from the pool, subject to pool parameters. This design means no one is forced into risk they don't want, and new markets can launch when there is Spot liquidity and enough ftUSD settlement supply, not when an oracle committee has time to integrate a feed. > ! > > **Note:** ftUSD is the settlement currency. Holding ftUSD on its own does not pay yield; staking to sftUSD does. Settlement LPs earn Futures fees by opting into settlement pools; this is distinct from sftUSD yield. ### How it fits the rest of Flying Tulip[​](https://docs.flyingtulip.com/product-suite/ft-futures/#how-it-fits-the-rest-of-flying-tulip "Direct link to How it fits the rest of Flying Tulip") Futures sit on top of the same pricing spine as everything else. It references Spot windows for price and depth, uses Lend for cross‑margin and portfolio health, and settles in ftUSD. Because Flying Tulip is token‑first, a share of futures revenue participates in the FT buyback pipeline, and the revenue‑linked unlocks described in the FT Token overview. The result is a loop: trading activity funds the token economy that, in turn, helps deepen the markets you trade. ### What it feels like to trade[​](https://docs.flyingtulip.com/product-suite/ft-futures/#what-it-feels-like-to-trade "Direct link to What it feels like to trade") You pick an asset, choose isolated or cross‑margin, and set leverage. The route preview shows the expected impact and your funding context. Orders are matched on the CLOB when you want precision, or crossed against the Spot when you want immediate certainty; most flows use both. Your position updates against live prices (no oracle tick to wait for), and your margin health moves with what actually trades. If the market turns, the liquidation engine trims exposure in measured steps. When conditions are calm, your fills feel like a centralized exchange. When they are not, the system is built to be conservative first and clever second. ### Fees and where they go[​](https://docs.flyingtulip.com/product-suite/ft-futures/#fees-and-where-they-go "Direct link to Fees and where they go") Futures charge trading fees and funding transfers between longs and shorts. Settlement LPs earn a per‑settlement fee for providing ftUSD to the settlement pools. A protocol fee may be taken where policy allows; that portion flows into the FT buyback pipeline (and, when revenue‑funded, into the token‑unlock logic). Nothing here promises a fixed rate: fees and funding are variable and transparent, tied to realized activity and risk. ### Risks to understand[​](https://docs.flyingtulip.com/product-suite/ft-futures/#risks-to-understand "Direct link to Risks to understand") Leverage amplifies outcomes. Depth can thin under stress, spreads can widen, and liquidations can still occur. Internal pricing removes a class of oracle risk but not market risk. Smart contracts and integration risks are inherent to DeFi, and cross‑margining introduces portfolio‑level interactions that you should understand before you size up. The Risks, Security & Audits page explains our controls (guardrails, pausing, caps, monitoring) and what users can do to protect themselves. ### How‑to (overview)[​](https://docs.flyingtulip.com/product-suite/ft-futures/#howto-overview "Direct link to How‑to (overview)") **Open a future position.** Choose isolated or cross‑margin, post collateral, set leverage, and place a market or limit order. Review your snapshot limits and funding context before confirming. **Manage margin.** Add or remove collateral, reduce size, or close the position. Adjusting re‑snapshots limits under current conditions. **Provide settlement liquidity.** Deposit ftUSD into a futures settlement pool to earn per‑settlement fees. Monitor pool parameters (utilization, fee schedule) and adjust or withdraw as policy allows. ### FAQs[​](https://docs.flyingtulip.com/product-suite/ft-futures/#faqs "Direct link to FAQs") **Without external oracles, what stops manipulation?** Attackers would need to move actual on‑platform liquidity. Pre‑trade guardrails, depth‑aware windows (TWAR family), dynamic fees, and time‑sliced execution raise the cost of forcing prices where depth doesn't support it. No system is risk‑free, but the incentives target practical, executable prices. **How fast are settlements, really?** Settlements are sub‑second (targeting sub‑500 ms) because prices come from our own Spot. There is no oracle tick to wait for. **What determines my maximum leverage?** Depth and volatility. The engine reads TWAR/TWAP windows and sets leverage to size your position against what the market can absorb. As conditions change, new openings/adjustments get new snapshots. **Do settlement LPs take directional risk?** They provide ftUSD to settle trades and earn per‑settlement fees. Exposure is diversified across providers and managed by a pool policy. LPs can adjust or withdraw, subject to parameters. **Does ftUSD pay yield by itself?** No. ftUSD is the settlement currency and is non‑yielding by default. If you want yield, stake ftUSD to sftUSD. Settlement LP fees are a separate earnings path tied to futures activity. **What happens in thin markets?** Leverage limits contract, fees can rise, and the liquidation engine relies more heavily on slicing and routing through any resting CLOB liquidity. In extreme conditions, circuit breakers and policy caps apply. ### Related pages[​](https://docs.flyingtulip.com/product-suite/ft-futures/#related-pages "Direct link to Related pages") * **[FT Spot](https://docs.flyingtulip.com/product-suite/ft-spot/) **: the adaptive curve, TWAP/RWAP, and routing with the CLOB * **[FT Lend](https://docs.flyingtulip.com/product-suite/ft-lend/) **: cross‑margin collateral, snapshot LTV, and soft liquidations * **[ftUSD](https://docs.flyingtulip.com/product-suite/ft-usd/) **: settlement currency and the distinction between ftUSD and sftUSD * **[FT Token](https://docs.flyingtulip.com/product-suite/ft-token/) **: token‑first revenue flows and buyback pipeline * **[Risks, Security & Audits](https://docs.flyingtulip.com/risks/) **: platform‑wide risks and controls * **How‑to Guides:** Open/Close a Future, Manage Margin, Provide Settlement Liquidity (coming soon) * [Product Overview](https://docs.flyingtulip.com/product-suite/ft-futures/#product-overview) * [How perpetuals work in crypto: and what breaks](https://docs.flyingtulip.com/product-suite/ft-futures/#how-perpetuals-work-in-crypto-and-what-breaks) * [The Spot is the oracle: prices and depth, not just prints](https://docs.flyingtulip.com/product-suite/ft-futures/#the-spot-is-the-oracle-prices-and-depth-not-just-prints) * [Margin and leverage: cross‑collateral when you want it](https://docs.flyingtulip.com/product-suite/ft-futures/#margin-and-leverage-crosscollateral-when-you-want-it) * [Liquidations that respect the market](https://docs.flyingtulip.com/product-suite/ft-futures/#liquidations-that-respect-the-market) * [Funding that makes economic sense](https://docs.flyingtulip.com/product-suite/ft-futures/#funding-that-makes-economic-sense) * [Who takes the other side: opt‑in settlement LPs](https://docs.flyingtulip.com/product-suite/ft-futures/#who-takes-the-other-side-optin-settlement-lps) * [How it fits the rest of Flying Tulip](https://docs.flyingtulip.com/product-suite/ft-futures/#how-it-fits-the-rest-of-flying-tulip) * [What it feels like to trade](https://docs.flyingtulip.com/product-suite/ft-futures/#what-it-feels-like-to-trade) * [Fees and where they go](https://docs.flyingtulip.com/product-suite/ft-futures/#fees-and-where-they-go) * [Risks to understand](https://docs.flyingtulip.com/product-suite/ft-futures/#risks-to-understand) * [How‑to (overview)](https://docs.flyingtulip.com/product-suite/ft-futures/#howto-overview) * [FAQs](https://docs.flyingtulip.com/product-suite/ft-futures/#faqs) * [Related pages](https://docs.flyingtulip.com/product-suite/ft-futures/#related-pages) --- # Insurance | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/product-suite/ft-insurance/#__docusaurus_skipToContent_fallback) On this page Product Overview[​](https://docs.flyingtulip.com/product-suite/ft-insurance/#product-overview "Direct link to Product Overview") --------------------------------------------------------------------------------------------------------------------------------- Insurance in crypto usually looks like a subscription: you prepay a lump sum for a fixed term, hope nothing happens, and then repeat. FT Insurance takes a different path. It treats protection like a lending market. Instead of buying a block of coverage time, you open a position in a pool and pay a running premium only while you want protection. Capital providers supply the pool and earn those premiums; buyers "borrow" protection capacity and can scale it up or down in minutes. The effect is a protection system that breathes with the market: liquidity flows in when returns are attractive, coverage grows where demand appears, and users can align what they pay with the risk they actually face. ![dark-image](https://docs.flyingtulip.com/assets/images/ftInsure_Dark-39a0896a1133ce10bdb8dc40858cc913.webp#dark-mode-only) ![light-image](https://docs.flyingtulip.com/assets/images/ftInsure_Light-2366497a7b0db7a9427111e74d87a6a8.webp#light-mode-only) Insurance pool mechanics for buyers and liquidity providers. ### Protection as a market, not a contract[​](https://docs.flyingtulip.com/product-suite/ft-insurance/#protection-as-a-market-not-a-contract "Direct link to Protection as a market, not a contract") The core of FT Insurance is a pooled backstop denominated in highly liquid assets (e.g., USDC). When you contribute capital, you receive a pool token (e.g., FT\_exploit\_insurance) that tracks your share of the pool's assets and premiums. When you want protection, you post collateral and open a coverage position against that pool, functionally "borrowing" the right to redeem if a covered event is confirmed. As long as the position is open, you pay a continuous premium rate. Close the position, and the meter stops. There is no up‑front prepayment and no need to guess the perfect term length. If an exploit occurs, an external verifier (e.g., UMA's optimistic oracle) confirms whether the event meets the on‑chain criteria for coverage. Once confirmed, addresses with active coverage can settle: the system accepts the relevant insurance token and pays out 1:1 in USDC from the pool up to the covered amount. If no exploit occurs, buyers simply withdraw their coverage when they no longer need it; capital providers keep the streamed premiums for the time coverage was active. ### How pricing and capacity emerge[​](https://docs.flyingtulip.com/product-suite/ft-insurance/#how-pricing-and-capacity-emerge "Direct link to How pricing and capacity emerge") Because protection behaves like borrowing from a pool, premiums resemble an interest rate. The rate responds to utilization (how much of the pool is spoken for), to risk conditions around the covered protocol, and to market‑wide signals (volatility, recent incidents, liquidity). High demand for coverage or elevated risk drives the rate up; new capital entering the pool drives it down. Coverage caps per protocol and global limits prevent concentration. You can see the live rate before you open a position, and adjust coverage size as conditions change, scaling up during a contentious upgrade and scaling down when risk subsides. ### What it feels like to use[​](https://docs.flyingtulip.com/product-suite/ft-insurance/#what-it-feels-like-to-use "Direct link to What it feels like to use") As a buyer, you decide how much coverage you want and for how long you want to keep it open. You post a small amount of collateral, open the position, and watch a live premium accrue while the protection is active. If conditions worsen (rates rise), you can trim coverage; if you need more for a specific window, you can add to your position. If an incident occurs and is verified, you present your active coverage and redeem at par from the pool. If nothing happens, you close the position and stop paying. As a capital provider, you supply USDC to the pool, receive the pool token, and begin earning a share of all active premiums. Your exposure is diversified across buyers and covered protocols, in accordance with the pool policy. You can increase or decrease your stake; withdrawals may be subject to short cooldowns when utilization is high or while claims are settling. Returns are variable: high utilization and elevated risk raise premiums; calm markets lower them. ### Claims and verification[​](https://docs.flyingtulip.com/product-suite/ft-insurance/#claims-and-verification "Direct link to Claims and verification") Coverage is only as strong as its adjudication. FT Insurance relies on an external oracle process to confirm whether a claimed event meets predefined on-chain criteria (for example, a smart-contract exploit on a named protocol within a time window and loss threshold). An optimistic‑oracle model introduces a challenge period: if the community disagrees with the proposed resolution, they can dispute it. Once the outcome finalizes, settlement opens for addresses with active coverage during the incident window. This split of responsibilities (market‑based pricing on one side, external verification on the other) keeps the pool accountable to transparent rules. ### How it fits the rest of Flying Tulip[​](https://docs.flyingtulip.com/product-suite/ft-insurance/#how-it-fits-the-rest-of-flying-tulip "Direct link to How it fits the rest of Flying Tulip") Insurance is plugged into the same spine as trading and lending. The Spot provides the pricing context that informs risk signals; Lend provides cross‑collateral so the same deposit can back lending, orders, futures, and insurance coverage simultaneously. Data about utilization, incident frequency, and claim resolutions feed back into the broader risk model. And because Flying Tulip is token‑first, a policy share of insurance premiums flows into the FT buyback pipeline; when revenue‑funded, those buybacks drive the unlock logic explained in the FT Token overview. ### The economics under the hood[​](https://docs.flyingtulip.com/product-suite/ft-insurance/#the-economics-under-the-hood "Direct link to The economics under the hood") Premiums are streamed from buyers to the pool in real time and split between providers and the protocol, per policy. Provider share accrues to pool assets; protocol share participates in FT buybacks. Because rates reflect utilization and risk, capital naturally migrates: if returns fall, providers can reduce exposure; if demand spikes, new capital is attracted by higher yields. The pool is not a black box; balances, utilization, premium rates, pending claims, and historical settlements are visible on‑chain. ### Risk, plainly stated[​](https://docs.flyingtulip.com/product-suite/ft-insurance/#risk-plainly-stated "Direct link to Risk, plainly stated") Insurance shifts risk; it does not delete it. Providers bear the risk that a verified exploit will trigger payouts from the pool; that is the service for which they earn premiums. Buyers bear the risk that a suspected event is ultimately not verified by the oracle. Both sides face smart‑contract and integration risks typical of any DeFi system, and liquidity can tighten temporarily during heavy utilization or while claims are being processed. Coverage scopes and exclusions matter; each market specifies what counts as a covered event before you open a position. The Risks, Security & Audits page explains the guardrails: caps, cooldowns, pausing, change management, and what users can do to protect themselves. ### How‑to (overview)[​](https://docs.flyingtulip.com/product-suite/ft-insurance/#howto-overview "Direct link to How‑to (overview)") **Open coverage.** Choose a covered protocol/market, enter the coverage amount, review the live premium rate and terms, post the required collateral, and open. Premiums accrue only while the position is active. You can increase, decrease, or close coverage at any time. **Provide capital.** Deposit USDC to the insurance pool to receive the pool token (FT\_exploit\_insurance). Your share of premiums accrues automatically to the pool's assets. You may withdraw, subject to utilization and any configured cooldown. **File a claim.** If an incident occurs, the UI shows the verification status. Once the oracle confirms the event, submit your claim: present your active coverage for the incident window and redeem 1:1 from the pool up to your covered amount. ### FAQs[​](https://docs.flyingtulip.com/product-suite/ft-insurance/#faqs "Direct link to FAQs") **What counts as an "exploit" or covered event?** Each market defines its scope (affected contracts, chains, thresholds, time window). The oracle confirms whether the incident meets that scope before settlement opens. **Do I pay premiums even if there's no incident?** Yes, premiums are pay‑as‑you‑go while coverage is active. If no incident occurs, you can close coverage and stop paying immediately. **Can providers lose principal?** Yes, if a verified event triggers payouts, the pool pays claims and its asset balance decreases. Premiums exist to compensate providers for bearing that risk. **How are premiums set?** Rates respond to utilization, market risk signals, and per‑market policy. High demand or elevated risk → higher rate; fresh capital or calmer conditions → lower rate. **Can I use the same collateral I use elsewhere?** In the permissioned environment, yes. Cross‑collateral lets a single deposit back lending, orders, futures, and insurance coverage simultaneously, subject to health checks. **Where do protocol fees go?** A policy share of premiums is routed to the FT buyback pipeline. When revenue‑funded, those buybacks drive the unlock mechanics (40:40:20) described in the FT Token docs. **Is coverage transferable?** Coverage positions are account‑bound to avoid moral‑hazard games. Close and reopen if you need to change ownership. **What happens if the pool is highly utilized during a claim?** Withdrawals by providers may be rate‑limited during settlement. Once claims are paid and utilization normalizes, withdrawals resume under the usual rules. ### Related pages[​](https://docs.flyingtulip.com/product-suite/ft-insurance/#related-pages "Direct link to Related pages") * **[FT Spot](https://docs.flyingtulip.com/product-suite/ft-spot/) **: price and depth windows that inform risk * **[FT Lend](https://docs.flyingtulip.com/product-suite/ft-lend/) **: cross‑collateral and portfolio health that power insurance positions * **[ftUSD](https://docs.flyingtulip.com/product-suite/ft-usd/) **: stable settlement currency used across markets * **[FT Token](https://docs.flyingtulip.com/product-suite/ft-token/) **: token‑first revenue flows and buyback pipeline * **[Risks, Security & Audits](https://docs.flyingtulip.com/risks/) **: platform‑wide risks and operational safeguards * **How‑to Guides**: Open/Close Coverage, Provide Capital, File a Claim (coming soon) * [Product Overview](https://docs.flyingtulip.com/product-suite/ft-insurance/#product-overview) * [Protection as a market, not a contract](https://docs.flyingtulip.com/product-suite/ft-insurance/#protection-as-a-market-not-a-contract) * [How pricing and capacity emerge](https://docs.flyingtulip.com/product-suite/ft-insurance/#how-pricing-and-capacity-emerge) * [What it feels like to use](https://docs.flyingtulip.com/product-suite/ft-insurance/#what-it-feels-like-to-use) * [Claims and verification](https://docs.flyingtulip.com/product-suite/ft-insurance/#claims-and-verification) * [How it fits the rest of Flying Tulip](https://docs.flyingtulip.com/product-suite/ft-insurance/#how-it-fits-the-rest-of-flying-tulip) * [The economics under the hood](https://docs.flyingtulip.com/product-suite/ft-insurance/#the-economics-under-the-hood) * [Risk, plainly stated](https://docs.flyingtulip.com/product-suite/ft-insurance/#risk-plainly-stated) * [How‑to (overview)](https://docs.flyingtulip.com/product-suite/ft-insurance/#howto-overview) * [FAQs](https://docs.flyingtulip.com/product-suite/ft-insurance/#faqs) * [Related pages](https://docs.flyingtulip.com/product-suite/ft-insurance/#related-pages) --- # Lend | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/product-suite/ft-lend/#__docusaurus_skipToContent_fallback) On this page Product Overview[​](https://docs.flyingtulip.com/product-suite/ft-lend/#product-overview "Direct link to Product Overview") ---------------------------------------------------------------------------------------------------------------------------- Lending is one of the simplest ideas in crypto: you supply an asset, others borrow it, and interest bridges the two. Most protocols stop there. Flying Tulip's FT Lend takes the familiar model and places it inside an adaptive market that "understands" depth, volatility, and where prices can actually clear. That context matters for everything: how much you can safely borrow, how expensive it is to do so, and how positions are unwound when they need to be. The result is a lending layer that feels like the experience you know, yet behaves like it's plugged into a living market, because it is. ![dark-image](https://docs.flyingtulip.com/assets/images/ftLend_Dark-994b4834902b95662c68c0b314d2edac.webp#dark-mode-only) ![light-image](https://docs.flyingtulip.com/assets/images/ftLend_Light-ff589698825651cdd41d3e19d3a6edba.webp#light-mode-only) Lend mechanics for permissionless markets. Two forms of FT Lend coexist. A permissionless layer spins up a lending market for any trading pair on Spot. If there is an ETH/USDC pool, there is an ETH↔USDC lending pair automatically. Beside it sits a permissioned pool with pre‑configured parameters for assets that the protocol is willing to cross‑margin broadly. That pool is the collateral backbone for the rest of the system: the CLOB (central limit order book), Futures, settlement, and liquidation logic all speak to it. A single deposit can back a loan, serve as collateral for a limit order, and support a future position simultaneously, without moving the funds around. ### What "lending" means in practice[​](https://docs.flyingtulip.com/product-suite/ft-lend/#what-lending-means-in-practice "Direct link to What "lending" means in practice") On the surface, FT Lend works the way you expect. Suppliers deposit assets and begin accruing interest; borrowers post collateral and take loans within loan‑to‑value limits. Under the hood, the limits and the rates are market‑aware. Instead of hard‑coded tables, the system asks: _How much of token X could we sell for token Y right now without blowing through depth?_ and _How variable is that answer over the last hour, the last day, the last week?_ That information comes from the Spot's price and reserve windows (time‑weighted TWAP and reserve‑weighted RWAP, among others). When the market is calm and deep, your borrowing power is more generous. As volatility rises or depth thins, your available LTV gracefully tightens. "Snapshot LTV" makes those promises predictable. When you open (or adjust) a position, the system evaluates the market and snapshots your LTV limits at that moment. If policy shifts later, your existing position isn't retroactively punished; you'll see new limits the next time you make a change. Your collateral is still marked‑to‑market; if the asset you posted drops, your health moves with it, but the rulebook doesn't change under your feet. Interest rates follow the same philosophy. Utilization still matters; busy pools raise rates to attract supply and ration demand, but the schedule can lean higher in more volatile regimes and relax when conditions are benign. Rates are posted up front, visible on the pool page, and update continuously. ### Permissionless markets: lending where there is liquidity[​](https://docs.flyingtulip.com/product-suite/ft-lend/#permissionless-markets-lending-where-there-is-liquidity "Direct link to Permissionless markets: lending where there is liquidity") The permissionless side takes the Spot as its map. If the Spot exposes a pair, FT Lend exposes a lending market for that pair. You can borrow ETH against USDC, or USDC against ETH, without asking governance to whitelist anything. The system reads depth from the Spot and computes size‑aware borrowing power: a small loan that would barely nudge price is treated differently from a large one that would have to walk through reserves. Because each market is anchored to a real pool, liquidations are soft by default. When a position needs to be trimmed, the engine simulates impact against the Spot's adaptive curve, then sells into depth in slices rather than dumping it in a single clip. It prefers the Spot path that minimizes slippage, and if resting orders exist on the CLOB at a better price, it crosses those first. For suppliers, that means fewer fire‑sale events. For borrowers, it means a gentler path back to safety. ### Permissioned pool: cross‑collateral and zero‑liquidation strategies[​](https://docs.flyingtulip.com/product-suite/ft-lend/#permissioned-pool-crosscollateral-and-zeroliquidation-strategies "Direct link to Permissioned pool: cross‑collateral and zero‑liquidation strategies") The permissioned pool covers a curated set of assets that the protocol is willing to cross‑margin against one another. Here, collateral is fungible across products: a single deposit can earn money‑market yield, back a CLOB limit order you placed earlier in the day, and collateralize a future position you open this afternoon. While your order is waiting to fill, your deposit remains productive; there is no "dead" capital tied up on the sidelines. A debt‑netting mechanism lives in this pool and makes certain delta‑neutral constructions behave very differently from typical loans. If your long and short legs are sized to offset, your borrow can be netted by the yield in the structure and, within configured bounds, eliminate conventional liquidation paths. That's how ftUSD can operate with near‑zero liquidation risk in practice: the borrow and earn legs are designed to cancel directional exposure, and the pool enforces the balance. ### Liquidations that respect the market[​](https://docs.flyingtulip.com/product-suite/ft-lend/#liquidations-that-respect-the-market "Direct link to Liquidations that respect the market") Liquidations are not a punishment; they are a risk tool. FT Lend treats them accordingly. Before any sale, the engine "asks" the Spot curve what the next clip would do to the price. If the impact would breach guardrails, the system takes a smaller step, waits a beat, and checks again. Large positions are time‑sliced by design. Keepers who execute with low impact are rewarded; slash‑and‑grab behavior gets nothing. Because the same market informs lending and pricing, the engine can also choose to net exposures internally when that reduces footprint, or route a portion through resting CLOB liquidity when it improves outcomes. This is not just kinder during stress; it's also fairer in ordinary moments. When markets are healthy, you get fast, single‑clip resolution. When they are fragile, you get a staircase instead of a cliff. ### Pricing and LTV: how the Spot informs the numbers[​](https://docs.flyingtulip.com/product-suite/ft-lend/#pricing-and-ltv-how-the-spot-informs-the-numbers "Direct link to Pricing and LTV: how the Spot informs the numbers") Everything starts with prices you can actually trade at. The Spot publishes TWAP and RWAP windows across multiple horizons. TWAP gives you a clean time average; RWAP weights by reserves near the execution path and is therefore closer to _realizable_. LTVs are computed against those windows with buffers that reflect volatility and utilization. If depth is abundant and dispersion low, a borrower can responsibly draw more. If reserves thin or spreads widen, the window tightens. You see those numbers the moment you create or adjust a position; they are the basis of your snapshot. Because the Spot curve itself adapts, leaning toward constant‑sum when calm and constant‑product when volatile, these windows reflect that reality. It is harder to push prices in a quiet regime; it is easier to push them when the pool is already stressed. The lending engine reads the same signals and sets limits accordingly. ### Fees, interest, and where they go[​](https://docs.flyingtulip.com/product-suite/ft-lend/#fees-interest-and-where-they-go "Direct link to Fees, interest, and where they go") Borrowers pay interest; suppliers earn it. FT Lend routes these cashflows through the protocol's token‑first model. Lenders receive their share as FT‑denominated distributions (the system converts the stream into FT, so the percentage you earn stays in line with the market, while also creating direct demand for the token). A protocol fee may be taken where policy allows; that portion flows into the FT buyback pipeline that also governs unlocks for Foundation, Team, and Incentives. No rates are promised, and all yields are variable. The point is that the value created by borrowing activity is visible and programmatic, paid to lenders and reflected in the token economics, not vanishing into operational burn. ### Using FT Lend day‑to‑day[​](https://docs.flyingtulip.com/product-suite/ft-lend/#using-ft-lend-daytoday "Direct link to Using FT Lend day‑to‑day") If you want to supply, choose an asset or deposit, and watch your balance climb as interest accrues. If you want to borrow, you post collateral and draw the asset you need. On the permissionless side, you borrow against the Spot pair it exposes. On the permissioned side, you borrow against your whole approved portfolio and keep trading while your deposit continues to earn. Your dashboard shows health, snapshot LTV, current rates, and the amount of room you have left. If you do nothing after opening, the rules you opened under remain in force for that position, even if the policy changes tomorrow. If the market moves against your collateral, the engine trims exposure softly. If the market is calm, you barely notice; if it's turbulent, you see slices instead of shocks. ### How‑to overview[​](https://docs.flyingtulip.com/product-suite/ft-lend/#howto-overview "Direct link to How‑to overview") **Supplying.** Open Lend, pick the asset, review the current supplier APY and policy fee, and deposit. Your position appears immediately and begins accruing. You can withdraw at any time, subject to pool liquidity. **Borrowing (permissionless).** Pick the Spot pair market (e.g., ETH/USDC), post one side as collateral, and borrow the other. The interface displays your snapshot LTV, liquidation buffers, and the rate you'll pay. **Borrowing (permissioned / cross‑margin).** Deposit any approved collateral, and borrow any other approved asset. Your single deposit backs loans, CLOB orders, and futures simultaneously. Health and limits reflect the whole portfolio. **Repaying & adjusting.** Repay interest and principal to free up collateral, or add collateral to increase headroom. Adjusting your position will re‑snapshot LTV under current conditions. ### FAQs[​](https://docs.flyingtulip.com/product-suite/ft-lend/#faqs "Direct link to FAQs") **What is "snapshot LTV", and why does it matter?** It's the practice of locking your borrowing limits at the moment you open or adjust a position. Policy changes won't retroactively tighten your existing headroom; you'll see new limits only when you modify the position. **How does FT Lend choose liquidation size?** By simulating the impact on the Spot's adaptive curve and using time‑sliced execution when needed. It also sweeps resting CLOB orders when they offer better prices, and rewards keepers who minimize footprint. **Can I use one deposit to trade and borrow at the same time?** Yes, in the permissioned pool. One deposit can back a loan, rest as collateral for CLOB orders, and support a future position, all while earning the underlying money‑market yield. **How are lenders paid? In what token?** Lenders receive the same market‑determined APY they would expect, delivered as FT via the token‑first pipeline. A policy fee may be taken to fund protocol operations and buybacks. **Are there assets I can borrow in the permissionless markets that I can't borrow cross‑margin?** Permissionless markets exist wherever the Spot has a pair. The permissioned pool supports a curated list of assets suitable for broad cross‑margining and portfolio‑level risk. **Is any of this guaranteed?** No. Rates and limits are variable. Collateral is marked‑to‑market. Liquidations are possible. See the risk page for details on smart‑contract, market, and venue risks. ### Related pages[​](https://docs.flyingtulip.com/product-suite/ft-lend/#related-pages "Direct link to Related pages") * **[FT Spot](https://docs.flyingtulip.com/product-suite/ft-spot/) **: how prices and depth are computed, and how they adapt by regime * **[Futures](https://docs.flyingtulip.com/product-suite/ft-futures/) **: how funding and risk reference AMM/CLOB windows * **[ftUSD](https://docs.flyingtulip.com/product-suite/ft-usd/) **: delta‑neutral stable that relies on Lend's debt‑netting * **[FT Token](https://docs.flyingtulip.com/product-suite/ft-token/) **: token‑first revenue flows and buyback pipeline * **[Risks, Security & Audits](https://docs.flyingtulip.com/risks/) **: general DeFi risks and capital‑allocation specifics * **How‑to Guides**: Supply, Borrow, Cross‑Margin (coming soon) * [Product Overview](https://docs.flyingtulip.com/product-suite/ft-lend/#product-overview) * [What "lending" means in practice](https://docs.flyingtulip.com/product-suite/ft-lend/#what-lending-means-in-practice) * [Permissionless markets: lending where there is liquidity](https://docs.flyingtulip.com/product-suite/ft-lend/#permissionless-markets-lending-where-there-is-liquidity) * [Permissioned pool: cross‑collateral and zero‑liquidation strategies](https://docs.flyingtulip.com/product-suite/ft-lend/#permissioned-pool-crosscollateral-and-zeroliquidation-strategies) * [Liquidations that respect the market](https://docs.flyingtulip.com/product-suite/ft-lend/#liquidations-that-respect-the-market) * [Pricing and LTV: how the Spot informs the numbers](https://docs.flyingtulip.com/product-suite/ft-lend/#pricing-and-ltv-how-the-spot-informs-the-numbers) * [Fees, interest, and where they go](https://docs.flyingtulip.com/product-suite/ft-lend/#fees-interest-and-where-they-go) * [Using FT Lend day‑to‑day](https://docs.flyingtulip.com/product-suite/ft-lend/#using-ft-lend-daytoday) * [How‑to overview](https://docs.flyingtulip.com/product-suite/ft-lend/#howto-overview) * [FAQs](https://docs.flyingtulip.com/product-suite/ft-lend/#faqs) * [Related pages](https://docs.flyingtulip.com/product-suite/ft-lend/#related-pages) --- # Spot | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/product-suite/ft-spot/#__docusaurus_skipToContent_fallback) On this page Product Overview[​](https://docs.flyingtulip.com/product-suite/ft-spot/#product-overview "Direct link to Product Overview") ---------------------------------------------------------------------------------------------------------------------------- Flying Tulip's Spot is the ecosystem's trading engine and price source. It is the venue where swaps clear, where liquidity is earned, and where the system takes its cues for pricing, funding, and risk. Instead of fixing one curve and hoping markets behave, the Spot's AMM adapts in real time. In quiet conditions, it aims to achieve spreads that feel close to those of a professional market maker. When volatility arrives, it adds curvature to cushion impact and protect liquidity providers. Alongside the AMM, a CLOB (central limit order book) accepts resting limit orders. Trades can clear entirely on the AMM, entirely through the CLOB, or across both; whichever produces the best executable price for the size at hand. ![dark-image](https://docs.flyingtulip.com/assets/images/ftSpot_Dark-72332a7b3f7d233df8224b6a4bf1cbf8.webp#dark-mode-only) ![light-image](https://docs.flyingtulip.com/assets/images/ftSpot_Light-b344f8ee17a7b890aa1c8cf091fc30e5.webp#light-mode-only) Spot: adaptive AMM and CLOB. ### A market that changes with the weather[​](https://docs.flyingtulip.com/product-suite/ft-spot/#a-market-that-changes-with-the-weather "Direct link to A market that changes with the weather") Conventional AMMs commit to a single formula, typically the constant product model. That is robust but can be wasteful in calm markets, and it still leaves LPs exposed when prices trend. The FT Spot blends behaviors instead of choosing one. In stable regimes, the curve leans toward constant‑sum, so prices barely move for modest flow; the experience is tight spreads and low slippage. As dispersion increases, the Spot's AMM tilts toward constant‑product, so each marginal unit moves the price more. That extra curvature slows toxic flow and reduces divergence losses for LPs during stress. The transition is not binary. It is driven by smooth regime signals and bounded coefficients, so the curve slides rather than snaps from one extreme to the other. ### Knowing when to shift[​](https://docs.flyingtulip.com/product-suite/ft-spot/#knowing-when-to-shift "Direct link to Knowing when to shift") The Spot watches prices and flow and smooths what it sees with exponential moving averages. Those EMAs dampen overreaction to a single print while allowing the system to respond to genuine regime change. Guardrails cap how far and how fast the curve can move within any window, keeping the experience predictable for both traders and LPs. The result is an engine that responds to conditions without becoming twitchy. ### Prices you can actually trade at[​](https://docs.flyingtulip.com/product-suite/ft-spot/#prices-you-can-actually-trade-at "Direct link to Prices you can actually trade at") A time‑weighted average (TWAP) is useful, but it is blind to depth. The Spot's AMM also maintains a reserve‑weighted view (RWAP), which weights each price observation by the liquidity available along the likely execution path. RWAP answers a practical question, _what price can this order size actually clear?_, and is more informative for routing and for evaluating realized impact. Downstream systems can also reference depth‑aware measures (such as reserve‑weighted windows) when sizing liquidations, setting leverage limits, or computing funding for futures. ### What it feels like to trade[​](https://docs.flyingtulip.com/product-suite/ft-spot/#what-it-feels-like-to-trade "Direct link to What it feels like to trade") When you request a swap, the router looks at both books. If there are limit orders resting on the CLOB at a better price, those are swept first. Any remainder is filled against the Spot's AMM at the current adaptive curve. Before the transaction is finalized, the router simulates the trade on‑chain to assess its impact on your slippage tolerance and the pool's risk guardrails. If a single clip would be too heavy, the order can be split and time‑sliced so it walks through depth more gently. Fees are shown up front and vary with regime; lighter in calm conditions to encourage flow, heavier in turbulence to compensate LPs and slow informed bursts. The receipt shows how much moved through the CLOB, how much crossed the Spot's AMM, and what fees were paid. ### What it feels like to provide liquidity[​](https://docs.flyingtulip.com/product-suite/ft-spot/#what-it-feels-like-to-provide-liquidity "Direct link to What it feels like to provide liquidity") If you want to earn fees, you can allocate assets in a way that aligns with your attention and risk tolerance. A full‑range position is the simplest: you deposit both sides, and the AMM spreads them across the entire price domain. You will always be in range, you will collect a steady share of fees, and you will still experience impermanent loss if the pair trends. If you want more fee density, you can concentrate liquidity into a band you choose. While the market lives inside your band, you earn more per unit of capital; if the price exits the band, you stop earning until you rebalance. LP returns are generated by trade fees and any programmatic incentives displayed in the interface. Fees accrue continuously into the pool's accounting, and you can add or remove liquidity or adjust bands at any time, subject to pool policies. All of the usual AMM caveats apply: if the pair drifts, your assets rebalance; if the market runs, concentrated bands need managing. The goal of the adaptive curve is not to eliminate those realities but to make them kinder; tighter prices when it is safe, more protection when it is not. ### Fees that make sense[​](https://docs.flyingtulip.com/product-suite/ft-spot/#fees-that-make-sense "Direct link to Fees that make sense") Fixed fees ignore context. The AMM treats fees as a policy instrument. In quiet regimes, the schedule approaches its lower bound, encouraging users to route flow here rather than elsewhere. As volatility and toxicity rise, the schedule climbs toward its upper bound so LPs are paid appropriately, and flow slows to a sustainable pace. Bounds and sensitivity are public. ### Safety before speed[​](https://docs.flyingtulip.com/product-suite/ft-spot/#safety-before-speed "Direct link to Safety before speed") Every swap proposal is simulated against the live curve before state changes are applied. If the simulation shows the trade would breach pool guardrails - too much impact, too shallow reserves, too close to configured limits - the router refuses the transaction. For large orders, the system can slice clips over blocks to reduce the footprint. The idea is to be fast in all the ordinary moments and conservative in the rare ones that break people. ### How the Spot's AMM fits the rest of Flying Tulip[​](https://docs.flyingtulip.com/product-suite/ft-spot/#how-the-spots-amm-fits-the-rest-of-flying-tulip "Direct link to How the Spot's AMM fits the rest of Flying Tulip") The Spot's AMM is more than a place to swap. Its prices and depth windows are the foundation for the CLOB, which provides limit‑order precision on top of continuous liquidity. The futures system takes its funding and risk cues from the Spot prices and depth rather than relying on external oracles. The lending markets lean on Spot depth to perform soft, size‑aware liquidations that minimize market impact and commit LTV ratios based on available size. The insurance primitive uses Spot‑anchored windows for transparent valuations and event checks. And because Flying Tulip is token‑first, a share of the revenue generated here flows into the FT buyback pipeline described in the token overview. ### Using it day to day[​](https://docs.flyingtulip.com/product-suite/ft-spot/#using-it-day-to-day "Direct link to Using it day to day") If you are swapping, you will see a single route preview. Sometimes everything fills on the CLOB, sometimes everything crosses the Spot's AMM, and often it is a blend. You choose a slippage tolerance; the router enforces it. If you are providing liquidity, you decide whether you want set‑and‑forget coverage, a concentrated band you will tend occasionally. The interface shows the current regime, the fee tier, and the band economics so you can decide whether now is a good moment to lean in, widen out, or step aside. ### Understanding the trade‑offs[​](https://docs.flyingtulip.com/product-suite/ft-spot/#understanding-the-tradeoffs "Direct link to Understanding the trade‑offs") Adaptive design makes the experience smoother, not risk‑free. Impermanent loss still exists when pairs diverge. Concentrated bands pay more while they are in range and pay nothing when they are not. In stressed markets, spreads widen and fees increase; execution may be sliced to protect the pool. As with any on‑chain system, smart‑contract, integration, and MEV risks apply. The risk page of the documentation explains these in depth and describes the controls - role separation, caps, pausing and circuit breakers, and change management - that sit around the engine. If you want the short version: the Spot's AMM is built to behave like a thoughtful market maker when the seas are calm, and like a cautious one when they are rough. It is the price reference for the rest of Flying Tulip and the place where liquidity is earned in a way that respects both sides of a trade. ### How to LP (overview)[​](https://docs.flyingtulip.com/product-suite/ft-spot/#how-to-lp-overview "Direct link to How to LP (overview)") 1. Open **Provide Liquidity** on the pair you want. 2. Choose **Full‑range**, **Concentrated** (set band), or **Leveraged‑style** profile. 3. Review **fee schedule**, **current regime**, and **projected fee density**. 4. Confirm deposit; receive LP position representation (visible in the dashboard). 5. Monitor P&L (fees earned minus IL). Adjust bands or exit anytime. ### How to Swap/Trade (overview)[​](https://docs.flyingtulip.com/product-suite/ft-spot/#how-to-swaptrade-overview "Direct link to How to Swap/Trade (overview)") 1. Open **Swap/Trade**. 2. Select tokens and enter size; set **slippage** (and advanced options if needed). 3. Review the **route preview** (estimated price, dynamic fee). 4. Confirm; the router executes, slicing as needed. 5. Review the receipt (final price, fee, realized impact). ### Risks (summary)[​](https://docs.flyingtulip.com/product-suite/ft-spot/#risks-summary "Direct link to Risks (summary)") * **Impermanent loss (IL).** More pronounced with trending divergence; mitigated (not eliminated) by adaptive curvature. * **Out‑of‑range risk.** Concentrated liquidity earns zero when the price leaves the band until you rebalance. * **Execution risk.** In stress, spreads widen and price impact grows; dynamic fees also rise. * **Venue/contract risk.** As with all DeFi, smart‑contract, integration, and MEV risks exist. > ! > > **Note:** Read [Risks, Security & Audits](https://docs.flyingtulip.com/risks/) > for platform‑wide and capital‑allocation risk frameworks. ### FAQs[​](https://docs.flyingtulip.com/product-suite/ft-spot/#faqs "Direct link to FAQs") **Is this still an AMM if there's also a CLOB?** Yes. The AMM provides continuous liquidity; the CLOB provides limit‑order precision. The router can use both for the best execution. **Do I have to micromanage ranges?** No. Use full‑range for low‑maintenance exposure. If you want tighter fee density, choose concentrated and periodically rebalance. **What makes RWAP better than TWAP for large orders?** TWAP averages over time; RWAP weights by available reserves near the path, so it approximates the price you'll actually get for size. **Can Spot prices be manipulated to affect Futures or Lend?** Pre‑trade guardrails, depth‑aware metrics (RWAP/TWAR), dynamic fees, and slicing are designed to resist short‑burst attacks. No system is risk‑free; see the [risk](https://docs.flyingtulip.com/risks/) page for details. ### Related pages[​](https://docs.flyingtulip.com/product-suite/ft-spot/#related-pages "Direct link to Related pages") * **[FT Token](https://docs.flyingtulip.com/product-suite/ft-token/) **: token‑first flows and buyback pipeline * **[ftUSD](https://docs.flyingtulip.com/product-suite/ft-usd/) **: how settlement currency and staking (sftUSD) work * **[Futures](https://docs.flyingtulip.com/product-suite/ft-futures/) **: how pricing/funding leverage Spot + CLOB metrics * **[Lend](https://docs.flyingtulip.com/product-suite/ft-lend/) **: soft liquidations and depth‑aware risk controls * **[Risks, Security & Audits](https://docs.flyingtulip.com/risks/) **: general DeFi and AMM‑specific risks * **How‑To Guides**: Add/Remove Liquidity, Choose Ranges, Advanced Swap Routing (coming soon) * [Product Overview](https://docs.flyingtulip.com/product-suite/ft-spot/#product-overview) * [A market that changes with the weather](https://docs.flyingtulip.com/product-suite/ft-spot/#a-market-that-changes-with-the-weather) * [Knowing when to shift](https://docs.flyingtulip.com/product-suite/ft-spot/#knowing-when-to-shift) * [Prices you can actually trade at](https://docs.flyingtulip.com/product-suite/ft-spot/#prices-you-can-actually-trade-at) * [What it feels like to trade](https://docs.flyingtulip.com/product-suite/ft-spot/#what-it-feels-like-to-trade) * [What it feels like to provide liquidity](https://docs.flyingtulip.com/product-suite/ft-spot/#what-it-feels-like-to-provide-liquidity) * [Fees that make sense](https://docs.flyingtulip.com/product-suite/ft-spot/#fees-that-make-sense) * [Safety before speed](https://docs.flyingtulip.com/product-suite/ft-spot/#safety-before-speed) * [How the Spot's AMM fits the rest of Flying Tulip](https://docs.flyingtulip.com/product-suite/ft-spot/#how-the-spots-amm-fits-the-rest-of-flying-tulip) * [Using it day to day](https://docs.flyingtulip.com/product-suite/ft-spot/#using-it-day-to-day) * [Understanding the trade‑offs](https://docs.flyingtulip.com/product-suite/ft-spot/#understanding-the-tradeoffs) * [How to LP (overview)](https://docs.flyingtulip.com/product-suite/ft-spot/#how-to-lp-overview) * [How to Swap/Trade (overview)](https://docs.flyingtulip.com/product-suite/ft-spot/#how-to-swaptrade-overview) * [Risks (summary)](https://docs.flyingtulip.com/product-suite/ft-spot/#risks-summary) * [FAQs](https://docs.flyingtulip.com/product-suite/ft-spot/#faqs) * [Related pages](https://docs.flyingtulip.com/product-suite/ft-spot/#related-pages) --- # ftUSD | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/product-suite/ft-usd/#__docusaurus_skipToContent_fallback) On this page Product Overview[​](https://docs.flyingtulip.com/product-suite/ft-usd/#product-overview "Direct link to Product Overview") --------------------------------------------------------------------------------------------------------------------------- ![dark-image](https://docs.flyingtulip.com/assets/images/ftUSD_Dark-5f49b30c457ebd271ade8ca34341afe0.webp#dark-mode-only) ![light-image](https://docs.flyingtulip.com/assets/images/ftUSD_Light-6c01f22dcc5c980601db1d93fc25fcba.webp#light-mode-only) ftUSD and sftUSD lifecycle. ftUSD is Flying Tulip's dollar‑pegged token designed for stability first, with optional yield when you choose to stake it as sftUSD. Unstaked ftUSD serves as a composable, on‑chain dollar across the ecosystem (trading, settlement, collateral). If you want yield, you opt in by staking your ftUSD for sftUSD. Proceeds from unstaked ftUSD accrue to the protocol, helping fund operations and deepen liquidity; stakers receive the distributed yield. ftUSD and sftUSD are fully on-chain, auditable, and transparent, with no oracles or centralized systems. > ! > > **Note:** ftUSD is stable and non‑yielding by default (great for payments, settlement, collateral); sftUSD is staked ftUSD that earns yield (opt‑in). ### Why choose ftUSD[​](https://docs.flyingtulip.com/product-suite/ft-usd/#why-choose-ftusd "Direct link to Why choose ftUSD") * **Stable unit of account.** A $1‑target stable designed to act as the settlement currency across Flying Tulip (e.g., futures, order book settlement, liquidity). * **Optional yield when you want it.** Stake sftUSD to earn distributed strategy carry; keep ftUSD unstaked if you prefer pure stability or need immediate liquidity. * **Engineered for resilience.** A delta‑neutral architecture aims to reduce liquidation risk by balancing long/short legs and sizing positions conservatively. * **On‑chain transparency.** Collateral, parameters, and flows are visible and programmatic. * **Composability.** Use ftUSD throughout the FT product suite: trade, settle, post as collateral, or provide liquidity where available. > ! > > **Note:** Only staked ftUSD (sftUSD) accrues yield distributions. ### How ftUSD works[​](https://docs.flyingtulip.com/product-suite/ft-usd/#how-ftusd-works "Direct link to How ftUSD works") ftUSD maintains its dollar target using balanced, delta‑neutral strategies that combine conservative money markets and staking with offsetting short exposure. The aim is to generate a strategy that carries (net of costs) while keeping net market exposure near zero. **Illustrative pipeline (one possible strategy):** 1. **Supply base collateral** to a money market (e.g., USDC → Aave) to earn low‑risk interest. 2. **Borrow a hedging asset** (e.g., Sonic "S") against that collateral, creating a short leg (you owe S). 3. **Stake the borrowed asset** (e.g., S → stS via a staking venue) to earn staking rewards = a long leg in stS. 4. **Loop collateral prudently** (e.g., deposit stS back to the money market) to increase safety buffers and carry. The long (staked) side and the short (borrowed) side are sized to offset directional risk and reduce liquidation risk under typical conditions. Risk controls (position caps, rebalancing bands, and venue limits) constrain exposure. > ! > > **Note:** Exact venues, parameters, and chain support can change over time. The principle remains: delta‑neutral construction + conservative sizing to target $1 while producing strategy carry. ### Minting ftUSD[​](https://docs.flyingtulip.com/product-suite/ft-usd/#minting-ftusd "Direct link to Minting ftUSD") Minting creates new ftUSD tokens from contributed assets via the Flying Tulip App. #### Minting quick flow[​](https://docs.flyingtulip.com/product-suite/ft-usd/#minting-quick-flow "Direct link to Minting quick flow") 1. Open the **Mint ftUSD** screen. 2. Choose your **input asset** (e.g., USDC). 3. Review the **quote** and **confirm**. 4. Receive **ftUSD** in your wallet. > ! > > **Note:** Minting ftUSD does not start yield. To earn yield, stake to sftUSD. #### Burning[​](https://docs.flyingtulip.com/product-suite/ft-usd/#burning "Direct link to Burning") * Convert **ftUSD → input asset** at the prevailing rate. * Timing and any small exit/cooldown parameters are shown in‑app (subject to change with risk settings and network conditions). ### Staking ftUSD → sftUSD[​](https://docs.flyingtulip.com/product-suite/ft-usd/#staking-ftusd--sftusd "Direct link to Staking ftUSD → sftUSD") Staking converts ftUSD into **sftUSD**, the **yield‑accruing** receipt token for the staking pool. #### Staking quick flow[​](https://docs.flyingtulip.com/product-suite/ft-usd/#staking-quick-flow "Direct link to Staking quick flow") 1. Open **Stake ftUSD**. 2. Enter the **amount of ftUSD** to stake. 3. **Confirm** to receive **sftUSD** (your staked position). #### How yield is delivered[​](https://docs.flyingtulip.com/product-suite/ft-usd/#how-yield-is-delivered "Direct link to How yield is delivered") * sftUSD reflects your claim on the pool's accumulated proceeds. * Distribution can be via increasing exchange rate (sftUSD → ftUSD) shown in the UI. * Rates are variable and not guaranteed; they depend on realized strategy carry net of costs and any active policy buffers. #### Unstaking[​](https://docs.flyingtulip.com/product-suite/ft-usd/#unstaking "Direct link to Unstaking") * Convert **sftUSD → ftUSD** at the prevailing rate. * Timing and any small exit/cooldown parameters are shown in‑app (subject to change with risk settings and network conditions). > ! > > **Note:** Unstaked ftUSD receives no yield; proceeds accrue to the protocol. Staked ftUSD receives distributed yield from ftUSD strategies. ### Where the yield comes from[​](https://docs.flyingtulip.com/product-suite/ft-usd/#where-the-yield-comes-from "Direct link to Where the yield comes from") #### Gross sources (variable; examples)[​](https://docs.flyingtulip.com/product-suite/ft-usd/#gross-sources-variable-examples "Direct link to Gross sources (variable; examples)") * **Money‑market interest** (e.g., Aave supply APRs for stablecoins or LST collateral). * **Staking rewards** (e.g., stS) on the long leg. #### Net distributions[​](https://docs.flyingtulip.com/product-suite/ft-usd/#net-distributions "Direct link to Net distributions") 1. Strategy carry is realized net of borrow costs, fees, and buffers. 2. **Unstaked ftUSD**: proceeds accrue to the protocol (fund operations, deepen liquidity, support the token‑first model). 3. **Staked ftUSD (sftUSD)**: distribution flows to stakers, via the pool's accounting. ### Benefits at a glance[​](https://docs.flyingtulip.com/product-suite/ft-usd/#benefits-at-a-glance "Direct link to Benefits at a glance") * **Optionality:** Hold ftUSD for pure stability, or stake to sftUSD to earn protocol distributions. * **Lower operational burden:** Yield routing and rebalancing are handled on‑chain; staking is one click. * **Ecosystem native:** ftUSD is the settlement currency across futures and other markets; widely usable as collateral/liquidity. * **Risk‑aware design:** Delta‑neutral construction with sizing bands and venue caps to reduce common liquidation paths. ### Risks[​](https://docs.flyingtulip.com/product-suite/ft-usd/#risks "Direct link to Risks") * **Peg and basis risk:** Severe market moves can widen basis or stress hedges; the $1 target can deviate. * **Venue risk:** Money markets, staking, and external protocols carry smart‑contract and validator risks. * **Liquidity/exit timing:** Staked assets (LSTs) may require queues; large rebalances can take time. * **Parameter risk:** Strategy weights, caps, and rebalancing rules can change as risk conditions change. > ! > > **Note:** Read [Risks, Security & Audits](https://docs.flyingtulip.com/risks/) > for a full discussion of general DeFi risks and capital‑allocation specifics. ### FAQs[​](https://docs.flyingtulip.com/product-suite/ft-usd/#faqs "Direct link to FAQs") **Does ftUSD pay interest automatically?** No. ftUSD is non‑yielding by default. To earn, stake to sftUSD. **What's the difference between ftUSD and sftUSD?** ftUSD is the base stable (target $1). sftUSD is the staked receipt that accrues protocol distributions tied to ftUSD strategies. **How is the ftUSD peg maintained?** By constructing delta‑neutral positions (balanced long/short) with conservative sizing and rebalancing controls. This reduces exposure to directional market moves. **Can I use ftUSD across the protocol?** Yes. ftUSD is designed as the settlement currency and a common collateral across the product suite; availability varies by feature and chain. **Where can I see rates and history?** The Stake UI shows current pool stats (e.g., exchange rate, historical performance). Rates are variable and not guaranteed. ### Related pages[​](https://docs.flyingtulip.com/product-suite/ft-usd/#related-pages "Direct link to Related pages") * **[FT Token](https://docs.flyingtulip.com/product-suite/ft-token/) **: how value flows into FT via buybacks/burns * **[Public Capital Allocation (PCA)](https://docs.flyingtulip.com/capital-allocation/) **: mechanics, Perpetual PUT Option lifecycle * **[Risks, Security & Audits](https://docs.flyingtulip.com/risks/) **: risk framework and controls * **How‑to Guides**: "Mint ftUSD", "Stake ftUSD → sftUSD", "Unstake sftUSD → ftUSD" (coming soon) * [Product Overview](https://docs.flyingtulip.com/product-suite/ft-usd/#product-overview) * [Why choose ftUSD](https://docs.flyingtulip.com/product-suite/ft-usd/#why-choose-ftusd) * [How ftUSD works](https://docs.flyingtulip.com/product-suite/ft-usd/#how-ftusd-works) * [Minting ftUSD](https://docs.flyingtulip.com/product-suite/ft-usd/#minting-ftusd) * [Staking ftUSD → sftUSD](https://docs.flyingtulip.com/product-suite/ft-usd/#staking-ftusd--sftusd) * [Where the yield comes from](https://docs.flyingtulip.com/product-suite/ft-usd/#where-the-yield-comes-from) * [Benefits at a glance](https://docs.flyingtulip.com/product-suite/ft-usd/#benefits-at-a-glance) * [Risks](https://docs.flyingtulip.com/product-suite/ft-usd/#risks) * [FAQs](https://docs.flyingtulip.com/product-suite/ft-usd/#faqs) * [Related pages](https://docs.flyingtulip.com/product-suite/ft-usd/#related-pages) --- # Token | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/product-suite/ft-token/#__docusaurus_skipToContent_fallback) On this page Product Overview[​](https://docs.flyingtulip.com/product-suite/ft-token/#product-overview "Direct link to Product Overview") ----------------------------------------------------------------------------------------------------------------------------- The FT token is designed to align users, contributors, and the protocol around a simple idea: convert real activity into lasting value. FT achieves this through conservative capital stewardship, clear redemption rights for primary participants, and a token‑first model that returns yield and fees to the token. This page explains what FT is, how it's issued, how the Perpetual PUT Option works (for primary allocations), and how value flows to FT across the ecosystem. For details of the on‑chain raise, see [Public Capital Allocation](https://docs.flyingtulip.com/guides/sale-process/) (PCA). For quantitative models, see the [Technical Appendix](https://docs.flyingtulip.com/capital-allocation/technical-appendix/) for the PCA. For platform‑wide risks, see [Risks, Security & Audits](https://docs.flyingtulip.com/risks/) . ### What FT is and how it fits[​](https://docs.flyingtulip.com/product-suite/ft-token/#what-ft-is-and-how-it-fits "Direct link to What FT is and how it fits") FT is the **native token** of Flying Tulip. It exists to: * **Connect activity to value:** Products generate revenue and fees; those dollars are used to buy FT (and in many cases burn it), turning usage into scarcity for holders. * **Preserve and compound capital:** Primary raise proceeds are not spent; they are deployed into conservative, liquid yield. That funds ecosystem development (infrastructure, operations) first; any surplus is routed to ongoing buyback‑and‑burn. * **Offer clear, on‑chain rights** during the public allocation: the Perpetual PUT Option for primary participants (explained below). Across the product suite - ftUSD, Spot, Lend, Futures, Insurance, the protocol takes a token‑first approach: where appropriate, fees and yield are converted into FT, creating direct demand for the token as usage grows. ### Issuance & supply (high‑level)[​](https://docs.flyingtulip.com/product-suite/ft-token/#issuance--supply-highlevel "Direct link to Issuance & supply (high‑level)") FT has a maximum supply of 10,000,000,000 (10B). New FT enters circulation primarily through the [Public Capital Allocation](https://docs.flyingtulip.com/capital-allocation/) at a fixed mint rate of 10 FT per $1 contributed (implied $0.10). We mint only in proportion to capital actually allocated; there is no inflation beyond this minting and subsequent cross‑chain movements. ### The Perpetual PUT Option (for primary allocations)[​](https://docs.flyingtulip.com/product-suite/ft-token/#the-perpetual-put-option-for-primary-allocations "Direct link to The Perpetual PUT Option (for primary allocations)") When a primary contribution settles during the PCA, the resulting FT is issued as a Perpetual PUT Option, represented on-chain by your FT NFT (pFT). While your FT remains in the Option, you have three choices at all times: **1) Hold: keep the Perpetual PUT Option open** Do nothing; you keep your redemption right attached to your position while participating in any FT upside. **2) Divest: par return** Divest any portion of your FT for the same asset and amount you originally contributed (e.g., 10,000 FT ↔ 1,000 USDC). **3) Withdraw: unlock FT (PUT invalidated; backing buys & burns)** If you prefer to hold or use FT without the PUT, withdraw your FT from the Option. This invalidates the PUT on that portion, and the backing that had been reserved for your redemption is released and used by the protocol to buy FT on the open market and burn it. What you do with your now‑unencumbered FT (hold, trade, transfer) is up to you. > ! > > **Note**: Only primary FT allocated via the Private and Public Capital Allocation carries the Perpetual PUT Option. ### Where FT's value comes from (and where dollars go)[​](https://docs.flyingtulip.com/product-suite/ft-token/#where-fts-value-comes-from-and-where-dollars-go "Direct link to Where FT's value comes from (and where dollars go)") Flying Tulip routes multiple cashflow streams toward FT: **1) Backing yield (carry)** Primary contributions (while the Perpetual PUT Option is open) are deployed to conservative, liquid strategies. For example, major stables on Aave, staked assets like stETH/jupSOL/AVAX, or sUSDe for USDe. The first call on this carry is the ecosystem budget (salaries, marketing, infrastructure, operations). Any surplus carry is used for continuous buyback‑and‑burn of FT. **2) Protocol revenue & fees** As products like ftUSD, Spot, Lend, Futures, and Insurance are used, revenue and fees are used to buy FT (and, in many cases, burn it). This is the core of the token‑first integration: user activity translates into programmatic FT demand. **3) PUT invalidation releases (Withdrawals)** When a primary holder withdraws FT from the Option, the PUT is invalidated, and the previously reserved backing becomes buyback ammo to purchase and burn FT on the market. **4) Divests recycle supply in-contract** When a holder Divests at par, the original collateral goes back to the holder. Together, these flows tie usage and prudently managed capital to per‑token scarcity. ### Unlock mechanics (alignment)[​](https://docs.flyingtulip.com/product-suite/ft-token/#unlock-mechanics-alignment "Direct link to Unlock mechanics (alignment)") FT's unlocks are governed by revenue‑funded buybacks. When protocol revenue funds buybacks, Foundation / Team / Incentives unlock 1:1 in a 40:40:20 split. ### Key facts[​](https://docs.flyingtulip.com/product-suite/ft-token/#key-facts "Direct link to Key facts") * **Ticker:** FT * **Supply cap:** 10,000,000,000 (10B) * **Primary issuance:** via PCA at 10 FT per $1 contributed (implied $0.10) * **Unlock policy:** revenue‑funded buybacks unlock 40:40:20 (Foundation / Team / Incentives) * **Cross‑chain:** FT supports omnichain transfers (OFT) ### What this is not[​](https://docs.flyingtulip.com/product-suite/ft-token/#what-this-is-not "Direct link to What this is not") FT is not a promise of fixed yield or principal outside the conditions of the Perpetual PUT Option for primary allocations. Market prices vary; yields fluctuate; burns depend on realized activity and budgets. Nothing in this page is investment advice. ### Related pages[​](https://docs.flyingtulip.com/product-suite/ft-token/#related-pages "Direct link to Related pages") * **[Capital Allocation](https://docs.flyingtulip.com/capital-allocation/) **: mechanics, accepted assets, Perpetual PUT Option lifecycle * **[Technical Appendix](https://docs.flyingtulip.com/capital-allocation/technical-appendix/) **: backtests, formulas (yield/revenue → buybacks), scenario tables * **[Risks, Security & Audits](https://docs.flyingtulip.com/risks/) **: general DeFi risks and PCA‑specific considerations * **[Smart Contracts → FT Token](https://docs.flyingtulip.com/smart-contracts/ft-token/) **: token interfaces, roles, and implementation details * [Product Overview](https://docs.flyingtulip.com/product-suite/ft-token/#product-overview) * [What FT is and how it fits](https://docs.flyingtulip.com/product-suite/ft-token/#what-ft-is-and-how-it-fits) * [Issuance & supply (high‑level)](https://docs.flyingtulip.com/product-suite/ft-token/#issuance--supply-highlevel) * [The Perpetual PUT Option (for primary allocations)](https://docs.flyingtulip.com/product-suite/ft-token/#the-perpetual-put-option-for-primary-allocations) * [Where FT's value comes from (and where dollars go)](https://docs.flyingtulip.com/product-suite/ft-token/#where-fts-value-comes-from-and-where-dollars-go) * [Unlock mechanics (alignment)](https://docs.flyingtulip.com/product-suite/ft-token/#unlock-mechanics-alignment) * [Key facts](https://docs.flyingtulip.com/product-suite/ft-token/#key-facts) * [What this is not](https://docs.flyingtulip.com/product-suite/ft-token/#what-this-is-not) * [Related pages](https://docs.flyingtulip.com/product-suite/ft-token/#related-pages) --- # Roadmap | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/roadmap/#__docusaurus_skipToContent_fallback) On this page Development Cycle[​](https://docs.flyingtulip.com/roadmap/#development-cycle "Direct link to Development Cycle") ----------------------------------------------------------------------------------------------------------------- Flying Tulip's releases adhere to the following development cycle: 1. **Internal Development:** the codebase is rapidly changed with ongoing audits. 2. **Code Freeze:** the codebase is finalized. 3. **Independent Comprehensive Review:** codebase passes through at least 3 independent audits. 4. **Go-to-market Preparation:** the codebase is shaped as a product. 5. **Release:** product reaches users. An advance to a downstream item occurs only when upstream dependencies are stable and audited. This creates a waterfall path rather than hard calendar promises. Detailed breakdown and sequencing reflect those dependencies in the next sections. Milestones[​](https://docs.flyingtulip.com/roadmap/#milestones "Direct link to Milestones") -------------------------------------------------------------------------------------------- Milestones execution and dependencies can be described by the following diagram: > ! > > **Note:** Each block is a fully-working product released independently. FT starts working as soon as the first product block is released, and each block adds more services to the FT offering. ![dark-image](https://docs.flyingtulip.com/assets/images/FT_Roadmap_Dark-aa9798e2c90852b0dc67bb1f0a7cb595.webp#dark-mode-only) ![light-image](https://docs.flyingtulip.com/assets/images/FT_Roadmap_Light-d01e25dbdba8e4f4d35034c9edd2d4db.webp#light-mode-only) Roadmap: release dependencies and milestones. Right‑side items have a hard dependency on the left‑side items, e.g., CLOB depends on ftUSD. Top items are executed first. Bottom items start only after the complete cycle for the item above it is finished. The numbers next to product names indicate delivery order, so 1 comes before 2. > ! > > **Note:** In the following sections, product mentions match their planned delivery order. ### 1\. Public Capital Allocation[​](https://docs.flyingtulip.com/roadmap/#1-public-capital-allocation "Direct link to 1. Public Capital Allocation") An on‑chain raise where [**FT token**](https://docs.flyingtulip.com/product-suite/ft-token/) is minted as capital gets allocated. [Capital Allocation](https://docs.flyingtulip.com/capital-allocation/) comes together with on‑chain **Perpetual PUT Option**. This step lays a foundation for a **token‑first model** and funds future development while preserving capital in conservative, liquid strategies. ### 2\. Core Permissioned Trading Stack[​](https://docs.flyingtulip.com/roadmap/#2-core-permissioned-trading-stack "Direct link to 2. Core Permissioned Trading Stack") Permissioned release of core Flying Tulip products. This step demonstrates protocol mechanics under tighter controls and completes the audit cycle before expanding the surface area. "Permissioned" in this case refers to capped deposits, guarded launches, and approved asset lists. * **[Lend](https://docs.flyingtulip.com/product-suite/ft-lend/) **: Cross‑collateral pool that backs CLOB orders and Futures while deposits continue to earn. * **[ftUSD](https://docs.flyingtulip.com/product-suite/ft-usd/) **: Dollar‑target settlement rail that enables Futures, trading, and collateral. * **Leveraged Spot**: Comes with dependency on Lend. * **[Spot](https://docs.flyingtulip.com/product-suite/ft-spot/) **: Price source and execution venue that feeds time and reserve‑weighted windows to downstream systems. * **Perpetual [Futures](https://docs.flyingtulip.com/product-suite/ft-futures/) **: Oracleless perpetual futures engine that settles to internal trading. * **Futures and Options**: Sequenced after perpetual futures once the stack is stable. ### 3\. Core Permissionless Trading Stack[​](https://docs.flyingtulip.com/roadmap/#3-core-permissionless-trading-stack "Direct link to 3. Core Permissionless Trading Stack") Open access to the Flying Tulip core, which is mature and audited. Lift of "permissions" introduced in the previous step. Core Stack surfaces the same mechanics with **market‑driven discovery** and **broader listings**. * **Volatility‑adaptive AMM**: An adaptive curve shifts between constant‑sum and constant‑product based on implied volatility and emits depth‑aware windows used across Lend and Futures. See the [Spot](https://docs.flyingtulip.com/product-suite/ft-spot/) page. * **[Dynamic Lend](https://docs.flyingtulip.com/product-suite/ft-lend/#permissionless-markets-lending-where-there-is-liquidity) **: Every AMM pair exposes a lending market automatically. LTVs and liquidations remain depth‑aware. * **Permissionless Futures and Options**: Depth‑aware internal pricing extends to a wider set of markets. Futures settle in [ftUSD](https://docs.flyingtulip.com/product-suite/ft-usd/) . ### 4\. Oracles & Applications Layer[​](https://docs.flyingtulip.com/roadmap/#4-oracles--applications-layer "Direct link to 4. Oracles & Applications Layer") Proven pricing and settlement stack powers ecosystem apps and integrations. * **[Witnessnet](https://docs.flyingtulip.com/glossary/#w) **: Brings oracleless proofs for on‑chain verification of HTTPS data without third‑party oracles. * **[Binary prediction markets](https://docs.flyingtulip.com/glossary/#b) **: Resolve to facts proven via Witnessnet from accepted domains such as CoinDesk and CoinTelegraph. Anyone can submit proof to resolve a Yes or No question. * **[Launchpad](https://docs.flyingtulip.com/glossary/#l) **: Token creation flow with threshold‑based launches and auto‑deployed AMM plus a money market. The initial launch window has anti‑MEV protections. Leverage and futures unlock after an [RWAP](https://docs.flyingtulip.com/glossary/#r) warm‑up. * **[Insurance](https://docs.flyingtulip.com/product-suite/ft-insurance/) **: Provides pay‑as‑you‑go protection that behaves like a lending market, integrates with Lend for cross‑collateral, and uses AMM and CLOB context for risk. With the whole product vertical set, protocol revenue flows into FT buyback-and-burn, reinforcing the token‑first model. Timeline Expectations[​](https://docs.flyingtulip.com/roadmap/#timeline-expectations "Direct link to Timeline Expectations") ----------------------------------------------------------------------------------------------------------------------------- > ! > > **Note:** Each block is a fully-working product released independently. FT starts working as soon as the first product block is released, and each block adds more services to the FT offering. Assuming each stage, including development, freeze, audit, and launch preparation, averages 2 to 3 months, the full roadmap spans roughly **36 to 54 months** (3 to 4.5 years), with downstream items beginning only after upstream milestones pass audits. Brief Summaries[​](https://docs.flyingtulip.com/roadmap/#brief-summaries "Direct link to Brief Summaries") ----------------------------------------------------------------------------------------------------------- The following products/features either lack their own documentation pages or include additional context here. Brief summaries are provided for clarity: * [Witnessnet](https://docs.flyingtulip.com/glossary/#w) accepts `(url, response, proof)` and validates [AEAD](https://docs.flyingtulip.com/glossary/#a) ‑authenticated TLS records, key derivation to traffic keys, finished verification, and certificate and hostname binding through [CertificateVerify](https://docs.flyingtulip.com/glossary/#c) . Any HTTPS endpoint becomes an implicit oracle. * [Launchpad](https://docs.flyingtulip.com/glossary/#l) is a simple token‑launch workflow with liquidity thresholding and staged unlocks for leverage and futures after an [RWAP](https://docs.flyingtulip.com/glossary/#r) warm‑up. * [Binary Prediction Markets](https://docs.flyingtulip.com/glossary/#b) are "Yes" or "No" markets resolved permissionlessly via Witnessnet proofs from approved domains. Accepted sources are configured per market. * Volatility‑Adaptive AMM provides an adaptive curve that transitions between constant‑sum and constant‑product based on implied volatility with smoothing through EMAs and bounded shifts. It emits [TWAP](https://docs.flyingtulip.com/glossary/#t) , [RWAP](https://docs.flyingtulip.com/glossary/#r) , [TWAR](https://docs.flyingtulip.com/glossary/#t) , and [RVOL](https://docs.flyingtulip.com/glossary/#r) windows and supports concentrated and leveraged liquidity. See the [AMM](https://docs.flyingtulip.com/product-suite/ft-spot/) page. * Options run on on‑chain [Black–Scholes](https://docs.flyingtulip.com/glossary/#b) model with implied volatility from AMM windows. They support covered call and put writing and later IV‑informed pricing. * The Cross‑Margin permissioned venue is an institution‑oriented stack with reporting and OFAC controls. Deposits can back CLOB orders, futures, and options under one risk engine. * [Session Keys](https://docs.flyingtulip.com/glossary/#s) and Wallet Abstraction provide Passkey and WebAuthn sign‑in and delegated session keys for seamless UX. State channels enable continuous trading while withdrawals remain on‑chain gated. * [Development Cycle](https://docs.flyingtulip.com/roadmap/#development-cycle) * [Milestones](https://docs.flyingtulip.com/roadmap/#milestones) * [1\. Public Capital Allocation](https://docs.flyingtulip.com/roadmap/#1-public-capital-allocation) * [2\. Core Permissioned Trading Stack](https://docs.flyingtulip.com/roadmap/#2-core-permissioned-trading-stack) * [3\. Core Permissionless Trading Stack](https://docs.flyingtulip.com/roadmap/#3-core-permissionless-trading-stack) * [4\. Oracles & Applications Layer](https://docs.flyingtulip.com/roadmap/#4-oracles--applications-layer) * [Timeline Expectations](https://docs.flyingtulip.com/roadmap/#timeline-expectations) * [Brief Summaries](https://docs.flyingtulip.com/roadmap/#brief-summaries) --- # Flying Tulip Product Suite | Flying Tulip Docs [Skip to main content](https://docs.flyingtulip.com/product-suite/#__docusaurus_skipToContent_fallback) [![Flying Tulip Token](https://docs.flyingtulip.com/img/Flying%20Tulip_FT.webp)\ \ **Token**\ \ Revolutionary tokenomics with perpetual redemption rights and sustainable buybacks funded by protocol yield and revenue.](https://docs.flyingtulip.com/product-suite/ft-token) [![Flying Tulip ftUSD](https://docs.flyingtulip.com/img/Flying%20Tulip_FTUSD.webp)\ \ **ftUSD**\ \ A next-generation stablecoin that generates 7-8% APY through delta-neutral strategies while maintaining a perfect $1 peg.](https://docs.flyingtulip.com/product-suite/ft-usd) [![Flying Tulip Spot](https://docs.flyingtulip.com/img/Flying%20Tulip_Spot.webp)\ \ **Spot**\ \ Adaptive trading pools that automatically adjust between efficiency during calm markets and protection during volatility.](https://docs.flyingtulip.com/product-suite/ft-spot) [![Flying Tulip Futures](https://docs.flyingtulip.com/img/Flying%20Tulip_Futures.webp)\ \ **Futures**\ \ Oracle-free perpetual futures with sub-500ms settlement and no surprise liquidations, powered by our integrated Spot.](https://docs.flyingtulip.com/product-suite/ft-futures) [![Flying Tulip Lend](https://docs.flyingtulip.com/img/Flying%20Tulip_Lend.webp)\ \ **Lend**\ \ Dynamic lending markets that let you borrow any asset against any collateral with market-responsive loan-to-value ratios.](https://docs.flyingtulip.com/product-suite/ft-lend) [![Flying Tulip Insure](https://docs.flyingtulip.com/img/Flying%20Tulip_Insure.webp)\ \ **Insure**\ \ On-demand protection for digital assets with pay-as-you-go premiums that operates like a lending market for risk coverage.](https://docs.flyingtulip.com/product-suite/ft-insurance) ---