🌊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 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