Skip to Content

Quick Start - For Integrators

Want to integrate POTLAUNCH into your platform or launch a white-label version? This guide will help you get started.

Integration Options

POTLAUNCH offers multiple integration approaches to fit your needs:

1. SDK Integration

Integrate token launch functionality directly into your application using our TypeScript SDK.

2. White Label Solution

Deploy a fully-branded version of POTLAUNCH with your own domain and branding.

3. API Integration

Use our REST API to integrate launch functionality without using our SDK.

4. Smart Contract Integration

Interact directly with POTLAUNCH smart contracts for maximum flexibility.

Quick Integration Guide

Choose Your Integration Type

Decide which integration approach best fits your needs:

  • SDK Integration - Best for TypeScript/JavaScript applications
  • White Label - Best for launching your own branded platform
  • API Integration - Best for non-JavaScript applications
  • Contract Integration - Best for custom smart contract integrations

Set Up Your Environment

npm install @potlaunch/sdk

Initialize the SDK:

import { PotlaunchSDK } from '@potlaunch/sdk'; const potlaunch = new PotlaunchSDK({ connection: yourConnection, wallet: yourWallet, });

Configure Your Integration

Set up your integration with the appropriate configuration:

// For SDK Integration const config = { network: 'mainnet-beta', rpcUrl: 'YOUR_RPC_URL', apiKey: 'YOUR_API_KEY', webhooks: { onLaunchCreated: 'https://your-domain.com/webhooks/launch-created', onTokenPurchase: 'https://your-domain.com/webhooks/token-purchase', }, }; const potlaunch = new PotlaunchSDK(config);

Test Your Integration

Before going live, test your integration thoroughly:

// Use devnet for testing const testConfig = { ...config, network: 'devnet', }; // Create a test launch const testLaunch = await potlaunch.createLaunch({ name: 'Test Token', symbol: 'TEST', // ... test parameters }); // Verify launch was created successfully console.log('Test launch created:', testLaunch.launchAddress);

Go Live

Once testing is complete, switch to mainnet:

// Switch to mainnet const prodConfig = { ...config, network: 'mainnet-beta', }; const potlaunch = new PotlaunchSDK(prodConfig);

White Label Setup

Custom Branding

Configure your platform’s branding:

// config/branding.ts export const branding = { // Basic Information name: 'Your Launchpad', tagline: 'Launch tokens your way', // Visual Identity logo: '/assets/logo.png', favicon: '/assets/favicon.ico', // Color Scheme colors: { primary: '#6366f1', secondary: '#8b5cf6', accent: '#ec4899', background: '#0f172a', }, // Social Links social: { twitter: 'https://twitter.com/yourplatform', discord: 'https://discord.gg/yourserver', github: 'https://github.com/yourorg', }, // Custom Domain domain: 'launch.yourdomain.com', };

Fee Configuration

Set up your fee structure:

// config/fees.ts export const feeConfig = { // Platform fees (in basis points, 100 = 1%) platformFee: 100, // 1% platform fee // Creator fees creatorFee: 50, // 0.5% creator fee // Fee recipients platformFeeRecipient: 'YOUR_WALLET_ADDRESS', // Fee splits splits: [ { address: 'WALLET_1', percentage: 70 }, // 70% to wallet 1 { address: 'WALLET_2', percentage: 30 }, // 30% to wallet 2 ], };

Custom Features

Enable or disable features for your platform:

// config/features.ts export const features = { enableBondingCurves: true, enableDutchAuctions: true, enableCrossChainBridge: true, enableLiquidityMigration: true, enableAdvancedTrading: true, // Custom features requireKYC: false, enableWhitelist: true, customAntiRugMechanisms: true, };

Integration Examples

Embedded Launch Widget

Embed a launch widget in your application:

import { PotlaunchWidget } from '@potlaunch/widget'; function MyApp() { return ( <PotlaunchWidget theme="dark" defaultLaunchType="bonding-curve" onLaunchCreated={(launch) => { console.log('Launch created:', launch); }} /> ); }

Custom Launch Flow

Build a custom launch flow with your own UI:

import { usePotlaunch } from '@potlaunch/react'; function CustomLaunchFlow() { const { createLaunch, isLoading } = usePotlaunch(); const handleLaunch = async (formData) => { const launch = await createLaunch({ name: formData.name, symbol: formData.symbol, // ... other parameters }); // Handle success router.push(`/launch/${launch.launchAddress}`); }; return ( <YourCustomUI onSubmit={handleLaunch} loading={isLoading} /> ); }

Webhook Integration

Setting Up Webhooks

Configure webhooks to receive real-time updates:

// config/webhooks.ts export const webhooks = { endpoints: { launchCreated: 'https://your-api.com/webhooks/launch-created', tokenPurchase: 'https://your-api.com/webhooks/token-purchase', liquidityMigrated: 'https://your-api.com/webhooks/liquidity-migrated', }, secret: 'your-webhook-secret', };

Handling Webhook Events

import { verifyWebhookSignature } from '@potlaunch/sdk'; app.post('/webhooks/launch-created', async (req, res) => { // Verify webhook signature const isValid = verifyWebhookSignature( req.body, req.headers['x-potlaunch-signature'], process.env.WEBHOOK_SECRET ); if (!isValid) { return res.status(401).send('Invalid signature'); } // Process the event const { launch } = req.body; console.log('New launch created:', launch); // Your custom logic here await notifyUsers(launch); await updateDatabase(launch); res.status(200).send('OK'); });

Next Steps

Ready to build? Check out our comprehensive integration guides and white label documentation.

Learn More

Support

  • Join our integrator Discord channel
  • Schedule a call with our integration team
  • Access priority support for white label partners

Enterprise Options

For enterprise integrations and custom requirements:

  • Custom SLA agreements
  • Dedicated support channel
  • Custom feature development
  • On-premise deployment options

Contact us at partners@potlaunch.com

Last updated on