Skip to content

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OmniCurve: Universal Multi-Asset Launchpad Engine

npm version License: MIT TypeScript Node.js pnpm CI Discord

The most advanced Meteora DBC & DAMM v2 integration framework for launching tokenized stocks, RWAs, AI agents, meme tokens, and custom asset classes.

OmniCurve is a comprehensive TypeScript SDK and CLI that enables builders to create sophisticated token launch mechanisms using Meteora's Dynamic Bonding Curve (DBC), DAMM v2, and DLMM protocols. It provides production-ready curve configurations, fee schedules, and migration flows for various asset classes.


🎯 Core Features

Asset Class Presets (Marketplace Ready)

Asset Class Curve Type Fee Schedule Migration Best For
Tokenized Stocks Flat/Linear 2% β†’ 0.3% (linear) DAMM v2 xStocks, Backpack Onchain, Ondo RFQ
RWA (Real World Assets) Long/Extended 1.5% β†’ 0.1% (30-day) DAMM v2 Bonds, commodities, real estate
AI Agents / Compute Exponential 5% β†’ 0.5% (1-day) DLMM AI compute tokens, agent economies
Meme / Community Exponential 9% β†’ 1% (1-hour) DAMM v2 Community tokens, fair launches

Advanced Curve Engine

  • Flat Curve: Minimal price impact for stable price discovery
  • Exponential Curve: High upside discovery with anti-snipe protection
  • Long Curve: Extended price discovery window (30+ days)
  • Step Curve: Tiered valuation milestones
  • Sigmoid Curve: Bounded growth with S-curve dynamics
  • Custom Curve: User-defined √price checkpoints

DBC Configuration Control

  • Dynamic Fee Schedulers: Linear, Exponential, Time-based
  • Migration Destinations: DAMM v2, DLMM, DAMM v1
  • Conviction Locks: Permanent LP liquidity in Meteora Dynamic Vaults
  • Vesting Schedules: Cliff + linear vesting for team/community
  • Anti-Bot Mechanisms: First-swap min fee, dynamic fees

Developer Experience

  • TypeScript SDK: Full type safety with Meteora SDK integration
  • CLI Tool: omnicurve for rapid config/pool creation
  • Real-time Streams: WebSocket subscriptions for pool updates
  • Preset Marketplace: Export/import/share DBC configurations
  • Comprehensive Testing: Unit tests for all curve math

πŸ“š Table of Contents


πŸš€ Installation

# Using npm
npm install @omnicurve/meteora-launchpad

# Using pnpm (recommended)
pnpm add @omnicurve/meteora-launchpad

# Using yarn
yarn add @omnicurve/meteora-launchpad

πŸš€ Quick Start

TypeScript SDK

import { 
  OmniCurveSDK, 
  buildEquityStockCurveConfig, 
  AssetClass,
  Connection,
  PublicKey,
  Keypair
} from '@omnicurve/meteora-launchpad';

// Initialize SDK
const connection = new Connection('https://api.mainnet-beta.solana.com', 'confirmed');
const sdk = new OmniCurveSDK(connection);

// Build equity stock curve config
const config = buildEquityStockCurveConfig({
  initialValuationUSD: 1_000_000,
  targetGraduationValuationUSD: 10_000_000,
  totalTokensToLaunch: 1_000_000_000,
});

// Create config transaction
const keypair = Keypair.fromSecretKey(/* your secret key */);
const configTx = await sdk.createConfig(config, keypair.publicKey);

// Create pool
const poolTx = await sdk.createPool(
  configTx.configAddress,
  'Apple Onchain',
  'xAAPL',
  'https://arweave.net/metadata...',
  keypair.publicKey
);

// Get real-time pool state
const state = await sdk.getPoolState(poolTx.poolAddress);
console.log(`Current price: $${state.currentPrice}`);

// Subscribe to updates
const unsubscribe = sdk.subscribeToPool(poolTx.poolAddress, (update) => {
  console.log('Price updated:', update.currentPrice);
});

// Later: unsubscribe()
unsubscribe();

CLI Usage

# Create a tokenized stock config
omnicurve create-config \
  --rpc https://api.mainnet-beta.solana.com \
  --keypair ~/.config/solana/id.json \
  --asset-class stocks \
  --curve flat \
  --starting-fee 200 \
  --ending-fee 30 \
  --migration damm_v2 \
  --total-supply 1000000000

# Create a pool
omnicurve create-pool \
  --rpc https://api.mainnet-beta.solana.com \
  --keypair ~/.config/solana/id.json \
  --config <CONFIG_ADDRESS> \
  --name "Apple Onchain" \
  --symbol "xAAPL" \
  --uri "https://arweave.net/metadata..."

# Get pool state
omnicurve pool-state \
  --rpc https://api.mainnet-beta.solana.com \
  --pool <POOL_ADDRESS>

# Get swap quote
omnicurve quote \
  --rpc https://api.mainnet-beta.solana.com \
  --pool <POOL_ADDRESS> \
  --amount 1000 \
  --direction buy

# Subscribe to real-time updates
omnicurve subscribe \
  --rpc https://api.mainnet-beta.solana.com \
  --pool <POOL_ADDRESS> \
  --interval 5000

# List all presets
omnicurve presets

# Export preset to JSON
omnicurve export-preset \
  --asset-class stocks \
  --output ./stocks-preset.json

πŸ—οΈ Architecture

omnicurve/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ index.ts                 # Main exports
β”‚   β”œβ”€β”€ types/
β”‚   β”‚   └── index.ts            # Core type definitions
β”‚   β”œβ”€β”€ sdk/
β”‚   β”‚   β”œβ”€β”€ index.ts            # Main SDK class
β”‚   β”‚   └── curves.ts           # Curve configuration helpers
β”‚   β”œβ”€β”€ curves/
β”‚   β”‚   β”œβ”€β”€ equityStockCurve.ts # Tokenized equity configurations
β”‚   β”‚   β”œβ”€β”€ rwaCurve.ts         # Real World Asset configurations
β”‚   β”‚   β”œβ”€β”€ aiAgentCurve.ts     # AI agent compute token configurations
β”‚   β”‚   └── memeCurve.ts        # Meme/community token configurations
β”‚   └── cli/
β”‚       └── omnicurve.ts        # CLI commands
β”œβ”€β”€ tests/
β”‚   └── curves.test.ts          # Curve math tests
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ workflows/ci.yml        # CI/CD pipeline
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/         # Issue templates
β”‚   β”œβ”€β”€ PULL_REQUEST_TEMPLATE.md
β”‚   └── CODEOWNERS
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ README.md
β”œβ”€β”€ CHANGELOG.md
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ LICENSE
β”œβ”€β”€ SECURITY.md
└── CODE_OF_CONDUCT.md

πŸ“Š Curve Mathematics

Flat Curve (Tokenized Stocks)

Price(t) = Pβ‚€ + (P₁ - Pβ‚€) * (t / T)

Linear price discovery matching off-chain equity valuations.

Exponential Curve (AI/Memes)

Price(t) = Pβ‚€ * e^(kt)

Rapid price growth with configurable decay constant.

Long Curve (RWAs)

Price(t) = Pβ‚€ * (1 + Ξ±)^t

Extended discovery with low volatility, Ξ± β‰ˆ 0.01-0.05/day.

Dynamic Fee Schedule

Fee(t) = F_start + (F_end - F_start) * (t / T)^Ξ³

Where Ξ³=1 for linear, Ξ³>1 for exponential decay.


πŸ”— Meteora Integration

Programs Used

  • Dynamic Bonding Curve: dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN
  • DAMM v2 (CP-AMM): cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG
  • DLMM: LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo

SDK Dependencies

  • @meteora-ag/dynamic-bonding-curve-sdk v1.5+
  • @meteora-ag/cp-amm-sdk v1.2+
  • @coral-xyz/anchor v0.30+
  • @solana/web3.js v1.95+

πŸͺ Preset Marketplace

Builders can create, share, and monetize DBC configurations:

// Export a preset
import { OmniCurveSDK, AssetClass } from '@omnicurve/meteora-launchpad';

const config = sdk.buildPresetConfig(AssetClass.STOCKS);
const preset = {
  id: 'my-stocks-preset-v1',
  creator: wallet.publicKey.toBase58(),
  name: 'Conservative Equity Launch',
  description: 'Optimized for low-slippage stock tokenization',
  category: AssetClass.STOCKS,
  curveType: CurveType.FLAT,
  config,
  price: 0.5, // 0.5 SOL
  verified: true,
};

// Publish to marketplace (IPFS + on-chain registry)
// ...

πŸ§ͺ Testing

# Run all tests
pnpm test

# Test specific curve
pnpm test -- --grep "Equity Stock Curve"

# Test with local validator
solana-test-validator &
pnpm test -- --rpc http://localhost:8899

πŸ“š Resources


🀝 Contributing

We welcome contributions! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new curve types
  4. Ensure all tests pass
  5. Submit a PR with detailed description

πŸ“„ License

MIT License - See LICENSE file for details


⚠️ Disclaimer

This software is provided "as is" without warranty. Token launches involve financial risk. Always test on devnet/localnet before mainnet deployment. Audit smart contracts before production use.


Built with ❀️ for the Meteora ecosystem by OmniCurve Core Team

About

Universal Multi-Asset Launchpad SDK for Meteora DBC & DAMM v2 - Launch tokenized stocks, RWAs, AI agents & meme tokens with configurable bonding curves

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages