Integrations Guide
Overview of Available Integrations
POTLAUNCH integrates with multiple blockchain networks and services to provide seamless cross-chain functionality:
Core Integrations
- NEAR Protocol - Primary blockchain for smart contracts and account management
- Solana - High-performance token launches and trading
- Ethereum - EVM-compatible token operations
- Base - Layer 2 scaling solution with Aerodrome DEX
- Arbitrum - Optimistic rollup for fast transactions
DEX Integrations
- Jupiter - Solana aggregator for optimal swap routing
- Raydium - Solana AMM for liquidity pools
- Meteora DLMM - Dynamic liquidity market maker
- Aerodrome - Base DEX for liquidity management
- Ref Finance - NEAR Protocol DEX
Cross-Chain Services
- NEAR Omni Bridge - Multi-chain asset bridge
- SwapKit - Cross-chain swaps across 13+ blockchains
- Wormhole - Token bridge protocol
- 1-Click API - Simplified deployment and interaction
Leveraging 1-Click API
The 1-Click API provides simplified access to POTLAUNCH functionality without managing complex blockchain interactions.
Features
- Easy Token Deployment - Launch tokens with a single API call
- Automated Trading - Execute buy/sell operations programmatically
- Cross-Chain Bridging - Transfer assets between chains
- Status Monitoring - Track transaction and token status
Quick Start
import { OneClickAPI } from '@potlaunch/sdk';
// Initialize API
const api = new OneClickAPI({
apiKey: 'your-api-key',
environment: 'mainnet'
});
// Deploy token
const token = await api.deployToken({
name: 'My Token',
symbol: 'MTK',
initialSupply: '1000000'
});
// Execute trade
const trade = await api.executeTrade({
mintAddress: token.address,
amount: '100',
side: 'buy'
});Authentication
# Set your API key
export ONECLICK_JWT=your_jwt_tokenUnderstanding NEAR Omni Bridge Integration
The NEAR Omni Bridge is a decentralized multi-chain asset bridge that enables secure cross-chain transfers using Chain Signatures and Multi-Party Computation (MPC).
Full Documentation: NEAR Omni Bridge GitHub
Supported Networks
| Network | Status | Method |
|---|---|---|
| Ethereum | ✅ Production | Light client + Chain Signatures |
| Bitcoin | ✅ Production | Light client + Chain Signatures |
| Solana | ⚡ Transitioning | Wormhole → Chain Signatures |
| Base | ⚡ Transitioning | Wormhole → Chain Signatures |
| Arbitrum | ⚡ Transitioning | Wormhole → Chain Signatures |
Contract Addresses (Mainnet)
const BRIDGE_ADDRESSES = {
near: 'omni.bridge.near',
ethereum: '0xe00c629aFaCCb0510995A2B95560E446A24c85B9',
solana: 'dahPEoZGXfyV58JqqH85okdHmpN8U2q8owgPUXSCPxe',
base: '0xd025b38762B4A4E36F0Cde483b86CB13ea00D989',
arbitrum: '0xd025b38762B4A4E36F0Cde483b86CB13ea00D989'
};Transfer Times
NEAR → Other Chains: ~30 seconds (MPC signatures)
Other Chains → NEAR:
- Solana: ~14 seconds
- Base: ~17 minutes
- Arbitrum: ~18 minutes
- Ethereum: ~16 minutes
Additional processing: Relayer (2s) + Wormhole validators (60s)
Quick Integration
1. Using SDK
import { getClient } from 'omni-bridge-sdk';
import { ChainKind } from 'omni-bridge-sdk';
// Initialize client
const client = getClient(ChainKind.Near, wallet);
// Log metadata (required before deployment)
const txHash = await client.logMetadata('near:token.near');
// Deploy token to another chain
await client.deployToken({
sourceChain: 'near',
targetChain: 'ethereum',
txHash: txHash
});
// Transfer tokens
await client.initTransfer({
token: 'near:token.near',
amount: '1000',
recipient: '0x...',
targetChain: 'ethereum',
fee: '10' // Optional: fee in token or native
});2. Token Operations
Log Metadata (First Step):
// Required before deploying to other chains
const tx = await client.logMetadata('near:token.near');Deploy Token:
// Deploy NEAR token to another chain
await client.deployToken({
sourceChain: 'near',
targetChain: 'ethereum',
logMetadataTx: tx
});Transfer Assets:
// Transfer between chains
await client.initTransfer({
token: 'ethereum:0x...',
amount: '100',
recipient: 'user.near',
targetChain: 'near',
nativeFee: '0.01' // ETH for gas
});Fee Structure
Transfers require a fee paid in either:
- Transferred Token - Deducted from transfer amount
- Native Chain Token - ETH, SOL, etc. for gas
Note: On NEAR, fees require separate storage deposit call before
ft_transfer_call
API Endpoints
Fee Provider & Status API:
- Mainnet:
https://mainnet.api.bridge.nearone.org/api/v1 - Testnet:
https://testnet.api.bridge.nearone.org/api/v1
Query transfer status, fees, and bridge health.
Resources
- Full Documentation: Omni Bridge Docs
- Rust SDK: omni-bridge
- JavaScript SDK: omni-bridge-sdk
- OpenAPI Spec: Available at API endpoints
Integration Examples
Cross-Chain Token Launch
import {
PotlaunchSDK,
PotlaunchLiquidityManager,
getClient,
ChainKind
} from '@potlaunch/sdk';
// 1. Create token on Solana
const sdk = new PotlaunchSDK({ connection, wallet });
const token = await sdk.createToken({
name: 'Cross Chain Token',
symbol: 'XCT',
initialSupply: '1000000'
});
// 2. Bridge to NEAR via Omni Bridge
const bridgeClient = getClient(ChainKind.Solana, wallet);
await bridgeClient.initTransfer({
token: `solana:${token.mintAddress}`,
amount: '100000',
recipient: 'user.near',
targetChain: 'near'
});
// 3. Add liquidity on NEAR
const liquidityManager = new PotlaunchLiquidityManager(config);
await liquidityManager.addLiquidity({
chain: 'near',
dex: 'ref-finance',
tokenA: token.mintAddress,
tokenB: 'wrap.near',
amountA: '50000',
amountB: '100'
});Multi-DEX Trading
import { CrossDexTradingManager, getAppConfig } from '@potlaunch/sdk';
const appConfig = getAppConfig('potlaunch');
const manager = new CrossDexTradingManager(connection, appConfig.config, wallet);
// Automatically detects best DEX and executes trade
const result = await manager.buyToken({
mintAddress: 'token_address',
amount: '1000',
side: 'buy'
});
console.log(`Traded on: ${result.dex}`);
console.log(`Price: ${result.price}`);Best Practices
Security
- Always verify contract addresses before transactions
- Use testnet for development and testing
- Implement proper error handling for bridge transfers
- Monitor transfer status via API endpoints
Performance
- Cache token metadata to reduce API calls
- Use batch operations when possible
- Consider finality times when building UX
- Implement retry logic for failed transfers
Cost Optimization
- Batch multiple operations together
- Choose optimal fee payment method (token vs native)
- Use custom relayers for zero-fee transfers (if available)
- Monitor gas prices and adjust accordingly
Support & Resources
- POTLAUNCH SDK: @potlaunch/sdk
- Omni Bridge: GitHub Repository
- API Documentation: Check individual integration docs
- Community Support: Join our Discord for help