🌊Pool API

The FluxBeam Pool API allows developers to quickly and easily integrate the creation of pools within their platform.

Create Pool

Create a new pool

post

Create a new pool from a given signature

Body
payerstringOptional
priority_fee_lamportsintegerOptionalExample: 1000
token_astringOptionalExample: So11111111111111111111111111111111111111112
token_a_amountintegerOptionalExample: 100000
token_bstringOptionalExample: FLUXBmPhT3Fd1EDVFdg46YREqHBeNypn1h4EbnTzWERX
token_b_amountintegerOptionalExample: 1000000
Responses
200
OK
application/json
post
POST /v1/token_pools HTTP/1.1
Host: api.fluxbeam.xyz
Content-Type: application/json
Accept: */*
Content-Length: 207

{
  "payer": "text",
  "priority_fee_lamports": 1000,
  "token_a": "So11111111111111111111111111111111111111112",
  "token_a_amount": 100000,
  "token_b": "FLUXBmPhT3Fd1EDVFdg46YREqHBeNypn1h4EbnTzWERX",
  "token_b_amount": 1000000
}
200

OK

{
  "lp_mint": "{LP_MINT}",
  "pool": "{NEW_POOL}",
  "token_a": "So11111111111111111111111111111111111111112",
  "token_b": "FLUXBmPhT3Fd1EDVFdg46YREqHBeNypn1h4EbnTzWERX",
  "transaction": "text"
}

Example

import { Connection, Keypair, VersionedTransaction } from '@solana/web3.js';

const form = {
	payer: "", 	  // Wallet address of the payer
	tokenA: "", 	  // Token A Mint
	tokenB: "", 	  // Token B Mint
	tokenAAmount: "", // Token A Liquidity Amount
	tokenBAmount: ""  // Token B Liquidity Amount
}

const resp = await (
	await fetch(`https://api.fluxbeam.xyz/v1/token_pools`, {
		method: 'POST',
		headers: {'Content-Type': 'application/json'},
		body: JSON.stringify({
			"payer": form.payer,
			"token_a": form.tokenA,
			"token_b": .form.tokenB,
			"token_a_amount": form.tokenAAmount,
			"token_b_amount": form.tokenBAmount
		})
	})).json()

console.log("Pool Address:", resp.pool)

//Decode the transaction from base64
const swapTransactionBuf = Buffer.from(resp.transaction, 'base64');
const transaction = VersionedTransaction.deserialize(swapTransactionBuf);

console.log("Transaction",transaction);

//Sign the transaction with the payer wallet
transaction.sign([wallet.payer]);

//Execute the transaction
const client= new Connection('{RPC_URL}');
const sig = client.sendRawTransaction(transaction.serialize(), {maxRetries: 3, skipPreflight: true})

console.log("Transaction Signature:", sig)

Last updated