To create a VEO, begin by navigating to the VEOs section from the sidebar menu on the Lucid homepage. As shown in the first screenshot, click the “VEOs” button in the sidebar to proceed.
2. Choose Organisation
Once you enter the VEOs page, you’ll have to click on Organisations View to see an overview of existing organisations. This page displays various organisations, along with the number of markets each organisation has.
Click the Explore button under the desired organisation to proceed. For demonstration purposes we will be displaying Lucid.
3. Enter VEO Creation Page
After clicking “Explore” on the selected organisation, you will be directed to a detailed organisation page. To create a VEO, click the + Create VEO button in the top-right corner.
Creating a Vested Emission Offering (VEO) in Lucid requires setting up a Smart Pool beforehand. This ensures that the liquidity provisioning is correctly linked to an underlying pool managed by Steer Protocol.
4. Create a Smart Pool on Steer
Quote Token: token to be received by the market and provided by purchaser.
Click on "Create Smart Pool" button in the VEO Market Setup to be redirected to Steer Protocol. (See the screenshot below)
Create a new Smart Pool with your desired LP configuration on Steer Protocol (50/50 token split).
Once deployed, locate and copy the Smart Contract address of the Smart Pool. You can find this in the URL of the Steer app. Copy this address. You’ll need it in the next step.
5. Start Setting Up the VEO Market
Now that you have created a Smart Pool in Steer, it is time to define the parameters for your VEO market on Setup VEO Market page of Lucid.
Key Fields to Fill Out
1. Select Chain: Choose the blockchain where the VEO will be deployed.
2. Select Type: Define the VEO type, such as strategic, TVL, or liquidity.
Types of VEOs in Lucid
Lucid supports multiple VEO types tailored to different liquidity strategies:
Strategic VEOs: Designed for long-term capital acquisition and ecosystem incentives. (e.g USDC, USDT or ETH)
TVL (Total Value Locked) VEOs: Used to attract liquidity providers by offering vested incentives. Driving liquidity inside of a lending market by only accepting the yield bearing token as a deposit token for the VEOs. (e.g. aUSDC from Aave.)
Liquidity VEOs: Helps bootstrap liquidity across different chains with time-based emissions. (e.g. achieving deep liquidity inside of LP pools in DEXs.)
3. Select Strategy: Choose the strategy, such as fixed price, sequential dutch auction, oracle fixed, oracle sequential.
Strategies explained
Each VEO type can follow including:
Fixed-Price: Tokens are sold at a set price.
Sequential Dutch: A pricing strategy where the bond price adjusts gradually over time based on demand, following a Dutch auction format. Unlike oracle-based pricing, this model operates independently of external price feeds, creating a self-contained market driven purely by supply and demand dynamics. The price typically starts high and decreases incrementally at set intervals until buyers step in. This structure enables natural price discovery, as participants decide when to enter based on perceived value and market competition. Sequential Dutch is ideal for protocols looking to foster an open, flexible market environment where price is determined organically through participant behavior, without relying on external oracles.
Oracle-Fixed Pricing: This pricing model uses real-time data from an external oracle to determine the bond price, which is then fixed for the entire duration of the VEO. For example, the bond may be set to always offer a 5% discount relative to the market price at the time the VEO is launched. Users benefit from a consistent and transparent discount, making it easy to understand the value of the offering. This model is ideal for protocols seeking stable, predictable pricing and a straightforward user experience. It removes uncertainty around price fluctuations and encourages participation from users who prefer clear terms upfront.
Oracle-Sequential Pricing: This is a dynamic pricing strategy where the bond price is tied to an external oracle and updated at regular intervals (e.g., daily) to reflect changes in market conditions. The bond price and discount level update at defined intervals (e.g., every 24 hours). Early users might access smaller discounts, while later users might get better terms—if the VEO hasn’t been filled. Oracle-Sequential pricing is ideal for protocols that want the VEO price to adapt with market conditions. It balances flexibility with fairness and is particularly effective for campaigns aiming to maximize participation and capital efficiency over time.The pricing mechanism follows a Dutch auction format.
Dutch Auction Explained:
In a Dutch auction, the price starts high and gradually decreases over time until a buyer chooses to purchase. This approach introduces price discovery, as buyers must decide whether to act early at a higher price or wait for a potential discount—risking that others may buy before them. In the context of Lucid’s VEOs, this model incentivizes early participation while still giving later entrants a chance to engage at fair market rates.
Overview
Strategy
Pricing Source
Price Behavior
Oracle Dependency
Best For
Buyer Experience
Fixed-Price
Manually set by protocol
Remains constant for the entire VEO duration
❌ No
Simple, predictable pricing structures
Clear and consistent pricing with no changes
Sequential Dutch
Internal demand-based logic
Starts high and decreases over time (Dutch auction format)
❌ No
Open markets that rely on supply/demand for price discovery
Incentivizes early participation; price discovery through user behavior
Oracle-Fixed
External oracle
Pegged to oracle at launch, then fixed
✅ Yes
Stable pricing with a consistent discount off market price
Transparent discount; ideal for users who prefer fixed terms
Oracle-Sequential
External oracle
Adjusts dynamically (e.g., every 24h) based on updated oracle price
✅ Yes
Markets that need adaptive pricing to reflect changing conditions
Discount and price vary over time; balances fairness and flexibility
4. Payout Token: Select the token to be used for payouts.
5. Quote Token Address: Paste the Smart Pool address you created earlier on Steer Protocol. You can find this in the URL of the Steer app.
Additional Configurations
Vesting: Choose between “Fixed” or “Not Fixed.”
Vesting Options explained
When configuring a VEO, you’ll be asked to choose a Vesting Type. There are two options:
Fixed Expiry
The tokens purchased will unlock on a specific date & time.
All users receive their vested tokens on the same end date, regardless of when they purchased.
Ideal when the protocol wants to align all token unlocks to a specific timeline for strategic or liquidity reasons.
Fixed Term
The vesting period begins individually for each buyer at the moment of their purchase.
The unlock date varies per user based on when they bought the VEO.
Best when the goal is to create rolling vesting timelines.
Linear Fixed Expiry
In this model, tokens vest continuously (every second) starting from the time of purchase by the user and continue until a fixed expiry date set by the project. All users who receive tokens under this schedule follow the same timeline, regardless of when their individual allocation is made.
The expiry date is universal for all participants.
If a user joins later, they still vest only until the fixed expiry date, resulting in a shorter vesting window. Even though the vesting period is shorter, more tokens vest during this period compared to someone who bought the same amount of VEOs at an earlier date.
Vesting speed adjusts based on when the user joins, to ensure full vesting by the expiry date.
This model is ideal for scenarios where the project wants to align all recipients to a shared end date.
Linear Fixed Term
In this model, tokens vest continuously (every second) over a fixed duration (term) that starts when each individual user purchases. A vesting schedule is created when the user purchases the bond.
Each user has a personalized vesting timeline starting from their allocation date.
The vesting period lasts the same amount of time for everyone (e.g., 6 months), regardless of when they join.
Useful when recipients are onboarded at different times, ensuring each gets a consistent vesting experience.
Specify the vesting period in days for “Fixed” options.
Capacity: Enter the asset type and maximum amount that can be bonded.
Market Duration: Specify the start and end dates for the VEO market.
Price Model: Select and review the price model based on your chosen strategy. For example, sequential Dutch auctions gradually adjust prices over time to incentivize early participation.
Price Models explained
In Lucid’s VEO (Vested Emission Offering) creation interface, the Price Model section dynamically adapts based on the selected strategy, displaying specific configuration fields tailored to that pricing approach. Once a strategy is chosen, the relevant input fields appear automatically, and must be filled out accurately to ensure the VEO behaves as intended. This modular setup gives protocols the flexibility to align their offering with liquidity goals, market conditions, and incentive design. Below is a breakdown of each pricing model and the corresponding configuration fields.
Fixed-Price
Overview: A simple, static model where tokens are sold at a fixed price throughout the entire duration of the VEO.
Fields:
Initial Price: The constant price at which users will purchase the token. This value remains unchanged regardless of market activity.
Use Case: Ideal for protocols seeking predictable and straightforward pricing for participants.
Sequential Dutch
Overview: Implements a Dutch auction model where the price starts high and gradually decreases at fixed intervals until it reaches a minimum threshold or the VEO is filled. This mechanism allows natural price discovery based on buyer demand.
Fields:
Initial Price: The starting price for the auction.
Minimum Price: The lowest allowable price that the auction can reach.
Use Case: Best suited for protocols that want to reward early buyers while still allowing for wider participation as price lowers over time.
Oracle Fixed
Overview: Price is determined using a live oracle feed but remains constant during the VEO. A fixed discount is applied relative to the oracle price at the moment of market creation.
Fields:
Fixed Discount (%): Discount applied to the oracle price.
Max Discount from Current (%): Safeguard to cap how far below the current price the discount can go.
Use Case: Suitable for stable pricing environments or protocols that want to offer transparent, consistent discounts with oracle-based tracking.
Oracle Sequential
Overview: Dynamic pricing strategy that updates the bond price periodically (e.g., daily) based on a live oracle feed. This allows the price to adjust over time in line with market conditions.
Fields:
Base Discount (%): Starting discount applied to the oracle price.
Max Discount from Current (%): The maximum allowable discount from the live oracle price.
Target Interval Discount (%): Amount by which the discount will change at each interval.
Use Case: Great for protocols seeking adaptive pricing that evolves with the market, encouraging timely participation across a campaign.
Market Simulation
The right-hand section of the page displays a Market Simulation preview based on your selected parameters. This helps visualise how the VEO market will operate.
6. Deploy the VEO
Once you’ve configured your VEO settings, the final step is deployment. However, depending on your organization’s setup, VEO creation may require multi-signature approval before going live.
Step-by-Step Flow
1. Click “Deploy” After Setup
After configuring your VEO parameters, click the Deploy button. This action initiates a proposal to create the VEO but does not launch it immediately if your organization uses a multisig setup.
Only wallets that hold approval rights (multisig owners) will be able to approve and activate the VEO on-chain.
2. Multisig Approval (If Applicable)
If your organization is governed by a multisig wallet:
The proposal will now wait for signatures from authorized multisig participants.
All signers must go to the Organisation Summary Page and click the “VEOs” module (as shown in the screenshot below).
Under the VEO Manager, they will see the Pending VEOs section (as shown in the screenshot below).
Each signer must individually approve the VEO.
🛑 Note: A single multisig signature is not sufficient. The required threshold (e.g., 2-of-3 or 3-of-5) must be reached before execution is possible.
3. Execute the VEO
Once the required number of signatures is collected:
Any of the multisig signers can now Execute the proposal.
Upon execution, the VEO is deployed onchain and becomes visible in the Live Markets section for buyers to participate in.
Where to Monitor Status
You can check the status of pending and historical VEOs under the VEO Manager Module.
This module provides:
Pending VEOs: Proposals awaiting signature or execution.
VEOs History: Successfully deployed markets.
Before initiating VEO creation in Lucid, the first step is to create a Smart Pool via . Lucid uses the Smart Pool address as the Quote Token Address in the VEO configuration.
Deposit Interval: Set deposit intervals to “High” or “Low,” controlling the frequency of deposits.
Debt Buffer (%): Additional margin factored into pricing to ensure sustainability of emissions.