Trading API
Integrate Solana & EVM swaps in your app
Build your own custom swap widget with native token pair support across the major DEXs including Raydium, Meteora, Pump.fun, Swap.pump.fun (Dex by Pump.fun), Uniswap and more.
Before Integration
Reach out to our team for:
- Authorisation token and API keys
- Provide your fee wallet
Authentication
All API requests require two forms of authentication:
- API Key (
x-api-key
header)
- Format:
x-api-key: <your_api_key>
- Example:
x-api-key: 8d4f3c2b-1a5e-4f9d-8c7b-6a5d4e3f2c1b
- This is your unique API key for accessing the services
- Bearer Token (
Authorization header
)
- Format:
Bearer <your_token>
- Example:
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9f4k2l5j6m7n8p9q0r1s2t3u4v5w6x7y8z9
- This is a unique token tied to your integration
IMPORTANT: make sure to use the correct endpoint for each supported DEX (Raydium AMMv4; CLMM; Meteora DYN; DLMM; Pump.fun LP & AMM; Uniwap v2)
Fees collected
We support fees to be collected in SOL (so feeMintAddress in prepare endpoint needs to be So11111111111111111111111111111111111111112), ETH and stables (e.g. USDC). We can customise the fees you'd like to charge your customers (e.g. 1% split 80/20 with Helio)
Raydium (AMMv4)
**Base URL (Mainnet): **https://api.btftx.io/v1
Authorisation: Request your bearer tokens from the Helio team
1. Raydium Swap Price
- Endpoint: POST /raydium-swap/price
- Authentication: Required
- Description: Retrieves the current price for a swap transaction based on the specified pool and token amounts.
- Request Body:
poolId (string)
: Liquidity pool ID of the token pair being swappedmintFrom (string)
: Contract Address of the token that the sender hasmintTo (string)
: Contract Address of the token being swapped toamountIn (BigInt as string)
: Amount of mintFrom tokens to be swapped in minimal units
- Response: (string) Indicates the estimated price, such as the expected amount of mintTo tokens
Sample Request:
{
"poolId": "FRhB8L7Y9Qq41qZXYLtC2nw8An1RJfLLxRF2x9RwLLMo",
"mintFrom": "So11111111111111111111111111111111111111112",
"mintTo": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr",
"amountIn": "100000"
}
Sample Response:
"0.052495764"
2. Prepare Raydium Swap
- Endpoint:
POST /raydium-swap/prepare
- Authentication: Required
- Description: Prepares a swap transaction by setting up necessary details and validations before submission.
- Request Body:
sender (string)
: Wallet address(public key) of the senderpoolId (string)
: Liquidity pool ID of the token pair being swappedmintFrom (string)
: Contract Address of the token that the sender hasmintTo (string)
: Contract Address of the token being swapped toamountIn (string)
: The amount of mintFrom tokens to be swapped in minimal unitsamountOut (string)
: The desired amount of mintTo tokens to receive in minimal unitsfeeAmount (string)
: The total fee amount in feeMintAddress tokens.feeMintAddress (string)
: The mint address for the token in which the fee will be charged.swapType (string, optional)
: Select the swap strategy;EXACT_IN
: fix the amount of mintFrom tokens so that the amount of mintTo tokens adjusts based on slippageEXACT_OUT
: fix the amount of mintTo tokens so that the amount of mintFrom tokens adjusts based on slippage
priority(Optional)
: Priority fees are dynamically optimised. You can optionally send a tip amount and other priority related parameterspriorityTipAmount (string)
: Boost transaction speed & conversions with tips. We recommend that you set the default to 2M for the optimal performance, and enable a UI for users to change it (see example). This amount is optimally sent to Jito pools to efficiently increase the rate of landing transactionsfrontRunningProtection (optional, boolean)
: Enable front-running protection to increase chances of landing with Jito.fastBestEffort (Optional, boolean)
: Attempt to process the transaction as quickly as possible.
useStakedRPCs (Optional, boolean)
: Utilise staked RPC nodes for better performance- Response:
serializedTx (string)
: A serialized transaction prepared for submission.
token (string)
:
Sample Request:
{
"sender": "FdzNYdgdWPKDWmwFwdjRNh48sEh6RkE7RPXvrbjMJszm",
"poolId": "FRhB8L7Y9Qq41qZXYLtC2nw8An1RJfLLxRF2x9RwLLMo",
"mintFrom": "So11111111111111111111111111111111111111112",
"mintTo": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr",
"amountIn": "1000000",
"amountOut": "521901480",
"feeAmount": "0",
"feeMintAddress": "11111111111111111111111111111111",
"swapType": "EXACT_IN",
"priority": {
"priorityTipAmount": "2000000",
"frontRunningProtection": false
}
}
Sample Response:
{
"serializedTx": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAJGNl9ZW8SJNIbmMgnCO1IEqGI0kjnl//nskkffYhHKfxGqRdkCqM+DPwbpCNRnQgmtoq0oCIdGj8uHyYIU6Z9LFHsxgD6ywZ22caoxUN2/0I4Msq4TIVyHcBLBygFaKIs2NZW+2CkwQH0/mbhheae1fZssFsdLiDC/WLCYoQ6GEA6MyhLEMzhz9JVKn7Aq8alUpf6K+fXMVs8cX6V7m43+vF9Q/EKt1IqEkXBSqD+2F5frcKpc9kvviRrLWyShJnomTPnAKwzjt6c5KgIBRRr3ZE+gNb8v84vex9DmyoQ1sR5C40Fy7WuZGLIodWscvJ7s1KJBr/vwjoMFfAnox2PZA53OmFAmcrvLU6U1c4IuONz9HHYueKXPLHa1Qy0hMFM+K1zOOlJ8xQlRVlEzYfddMRgFdR8EcxsuM+3VyWddf/NSL6jjmJT9/SUMwzICHSr9NyX7yxaCKxg0m1F5Dw20o/yNJO/Ot7U4O3q0JQdzT4Spf1f1oZqENdnb9ByzpzNAMPz9pPTlkMDgWOzlycw12HyF869tygZFYxRxQ6pyYe+uIYdEgIuik8KQEzGiex/+l3iV3RgmZeZVhXbn9bjhKL15UFr0nRKiCSRFpHkgexInSYIpBjN5W39YLKdFWzBVQMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqQabiFf+q4GE+2h/Y0YYwDXaxDncGus7VZig8AAAAAABBqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAACMlyWPTiSJ8bs9ECkUjg2DC1oTmdr/EIQEjnvY2+n4WV0LFZr/y8zxZcCbwvXUuvtKpjRa95O5syItqkApOpUNS9lJxDYCwz8gd5DtFqNSTKG5l1zxIaKpDP/sffi2is1wJKUvUtTWYO3euNJ/k5ovFUmxmTGJjOBB/S5nVyEftmJ5Eda9iEU1YZAgXVoZ5JDny5vfglhlE5PMJc6JoKcfCA8ABQKghgEADwAJA6CGAQAAAAAAEAIAAXwDAAAA2X1lbxIk0huYyCcI7UgSoYjSSOeX/+eySR99iEcp/EYgAAAAAAAAAEFvVXoxbTJUalNGM2Zqcm5zTHBQWloydXg4QzVVQTRnMGAuAAAAAAClAAAAAAAAAAbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpEQQBEgATAQEUBgACABUQEQAWEhEDGAQFBgcZCAkKCwwNFwECABEJQEIPAAAAAAColRsfAAAAABEDAQAAAQkQAgAODAIAAACAhB4AAAAAAAFD3CiQeGRTwrhlOjhVgnHBwVfolxhcM92rTS23wbEvcgACCAk=",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eEhhc2giOiJ0T2ZYYXQ1T1hYSWNiTHZMVWozMTlyV21rWEk9Iiwic2Vzc2lvbkhhc2giOiJ1VzdPTWVXRDlGUjN6SUg4S2I4ZSIsInR4SWQiOiJhZGQtbGF0ZXIiLCJ0eFR5cGUiOiJTV0FQIiwiaGVsaW9GZWUiOiIwIiwicGFydG5lckZlZSI6IjAiLCJmZWVNaW50QWRkcmVzcyI6IjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExIiwic3VibWl0UHJpb3JpdHkiOnsidGlwIjoyMDAwMDAwLCJmcm9udFJ1bm5pbmdQcm90ZWN0aW9uIjpmYWxzZSwiaml0b1RpcCI6MTAwMDAwMCwicm91dGVyIjoiTU9PTkJPT1NUIn0sInVuaXhUaW1lc3RhbXAiOjE3NDA3NTY1MzY0NjYsImlhdCI6MTc0MDc1NjUzNiwiZXhwIjoxNzQwNzU2NzE2fQ.AK93_XqkwuxmhvNXCZ22psscubC1lRxd6GKTgvd8bZI"
}
3. Submit Raydium Swap
Endpoint: POST /raydium-swap/submit
Authentication: Required
Description: Submits a swap transaction to the blockchain using the provided signed transaction data.
Request Body:
signedTransaction (string)
: The signed transaction data returned from prepare endpoint and which is required to execute the swap
token (string)
: received from the prepare endpoint
Response:
status
:- “SUCCESS”
- “PENDING”
- “FAILED”
transactionSignature
:
Raydium (CLMM Pools)
- Everything remains same as V4(above) except for the endpoints
- Price endpoint:
https://api.mintlp.io/v1/raydium-swap/clmm/price
- Prepare endpoint:
https://api.mintlp.io/v1/raydium-swap/clmm/prepare
- Submit endpoint:
https://api.mintlp.io/v1/raydium-swap/clmm/submit
Sample Request:
{
"signedTransaction": "AYG6+P9piG/qqa1cm0LgftBm1U6U5T50S4GeERnr4m6yKaH8kt6L6mAEZf/O/RzYdPHpk180aFHBfPX3hBC64AiAAQAJGNl9ZW8SJNIbmMgnCO1IEqGI0kjnl//nskkffYhHKfxGqRdkCqM+DPwbpCNRnQgmtoq0oCIdGj8uHyYIU6Z9LFHsxgD6ywZ22caoxUN2/0I4Msq4TIVyHcBLBygFaKIs2NZW+2CkwQH0/mbhheae1fZssFsdLiDC/WLCYoQ6GEA6MyhLEMzhz9JVKn7Aq8alUpf6K+fXMVs8cX6V7m43+vF9Q/EKt1IqEkXBSqD+2F5frcKpc9kvviRrLWyShJnomTPnAKwzjt6c5KgIBRRr3ZE+gNb8v84vex9DmyoQ1sR5C40Fy7WuZGLIodWscvJ7s1KJBr/vwjoMFfAnox2PZA53OmFAmcrvLU6U1c4IuONz9HHYueKXPLHa1Qy0hMFM+K1zOOlJ8xQlRVlEzYfddMRgFdR8EcxsuM+3VyWddf/NSL6jjmJT9/SUMwzICHSr9NyX7yxaCKxg0m1F5Dw20o/yNJO/Ot7U4O3q0JQdzT4Spf1f1oZqENdnb9ByzpzNAMPz9pPTlkMDgWOzlycw12HyF869tygZFYxRxQ6pyYe+uIYdEgIuik8KQEzGiex/+l3iV3RgmZeZVhXbn9bjhKL15UFr0nRKiCSRFpHkgexInSYIpBjN5W39YLKdFWzBVQMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqQabiFf+q4GE+2h/Y0YYwDXaxDncGus7VZig8AAAAAABBqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAACMlyWPTiSJ8bs9ECkUjg2DC1oTmdr/EIQEjnvY2+n4WV0LFZr/y8zxZcCbwvXUuvtKpjRa95O5syItqkApOpUNS9lJxDYCwz8gd5DtFqNSTKG5l1zxIaKpDP/sffi2is1wJKUvUtTWYO3euNJ/k5ovFUmxmTGJjOBB/S5nVyEftmJ5Eda9iEU1YZAgXVoZ5JDny5vfglhlE5PMJc6JoKcfCA8ABQKghgEADwAJA6CGAQAAAAAAEAIAAXwDAAAA2X1lbxIk0huYyCcI7UgSoYjSSOeX/+eySR99iEcp/EYgAAAAAAAAAEFvVXoxbTJUalNGM2Zqcm5zTHBQWloydXg4QzVVQTRnMGAuAAAAAAClAAAAAAAAAAbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpEQQBEgATAQEUBgACABUQEQAWEhEDGAQFBgcZCAkKCwwNFwECABEJQEIPAAAAAAColRsfAAAAABEDAQAAAQkQAgAODAIAAACAhB4AAAAAAAFD3CiQeGRTwrhlOjhVgnHBwVfolxhcM92rTS23wbEvcgACCAk=",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eEhhc2giOiJ0T2ZYYXQ1T1hYSWNiTHZMVWozMTlyV21rWEk9Iiwic2Vzc2lvbkhhc2giOiJ1VzdPTWVXRDlGUjN6SUg4S2I4ZSIsInR4SWQiOiJhZGQtbGF0ZXIiLCJ0eFR5cGUiOiJTV0FQIiwiaGVsaW9GZWUiOiIwIiwicGFydG5lckZlZSI6IjAiLCJmZWVNaW50QWRkcmVzcyI6IjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExIiwic3VibWl0UHJpb3JpdHkiOnsidGlwIjoyMDAwMDAwLCJmcm9udFJ1bm5pbmdQcm90ZWN0aW9uIjpmYWxzZSwiaml0b1RpcCI6MTAwMDAwMCwicm91dGVyIjoiTU9PTkJPT1NUIn0sInVuaXhUaW1lc3RhbXAiOjE3NDA3NTY1MzY0NjYsImlhdCI6MTc0MDc1NjUzNiwiZXhwIjoxNzQwNzU2NzE2fQ.AK93_XqkwuxmhvNXCZ22psscubC1lRxd6GKTgvd8bZI"
}
Sample Response:
{
"status": "FAILED",
"transactionSignature": "2VFtKzjdVWYY8ovpTPxomwsgFFe8M4aMPvV82KSfYkrgHomryp855m11fwFu2bZaumPR2QSgmzrAGM3V5TEHB1Sp"
}
Meteora (DYN Pools)
Base URL (Mainnet): https://api.btftx.io/v1
Authorisation: Request your Bearer Token from the Helio team
1. Meteora Swap Price
- Endpoint: POST /meteora-swap/price
- Authentication: Required
- Description: Retrieves the current price for a swap transaction based on the specified pool and token amounts.
- Request Body:
poolId (string)
: Liquidity pool ID of the token pair being swappedmintFrom (string)
: Contract Address of the token that the sender hasmintTo (string)
: Contract Address of the token being swapped toamountIn (BigInt as string)
: Amount of mintFrom tokens to be swapped in minimal unitsslippageBps(Number)
: slippage BPS (10000 is 100%)- Max 10000
- Min 0
- Response: (string) Indicates the estimated price, such as the expected amount of mintTo tokens
Sample Request:
{
"amountIn": "100000000",
"mintFrom": "So11111111111111111111111111111111111111112",
"mintTo": "CNyMaRR4krm1yAxfCvPXevNMArZZZk7sRqKwX68uCeJk",
"poolId": "Gc9yHrCpcUMXCw1YhAVTcrUb6ZGbCv7ns363FZpDTbHW",
"slippageBps": 100
}
Sample Response:
"3059889328560"
2. Prepare Meteora Swap
- Endpoint:
POST /meteora-swap/prepare
- **Authentication: **Required
- Description: Prepares a swap transaction by setting up necessary details and validations before submission.
- Request Body:
sender (string)
: Wallet address(public key) of the senderpoolId (string)
: Liquidity pool ID of the token pair being swappedmintFrom (string)
: Contract Address of the token that the sender hasmintTo (string)
: Contract Address of the token being swapped toamountIn (string)
: The amount of mintFrom tokens to be swapped in minimal unitsamountOut (string)
: The desired amount of mintTo tokens to receive in minimal unitsfeeAmount (string)
: The total fee amount in feeMintAddress tokens.feeMintAddress (string)
: The mint address for the token in which the fee will be charged.priority(Optional)
: Priority fees are dynamically optimised. You can optionally send a tip amount and other priority related parameterspriorityTipAmount (string)
: Boost transaction speed & conversions with tips. We recommend that you set the default to 2M for the optimal performance, and enable a UI for users to change it (see example). This amount is optimally sent to Jito pools to efficiently increase the rate of landing transactionsfrontRunningProtection (optional, boolean)
: Enable front-running protection to increase the chances of landing with JitofastBestEffort (Optional, boolean)
: Attempt to process the transaction as quickly as possible.useStakedRPCs (Optional, boolean)
: Utilize staked RPC nodes for better performance
- Response:
serializedTx (string)
: A serialized transaction prepared for submission.token (string)
:
Sample Request:
{
"sender": "FdzNYdgdWPKDWmwFwdjRNh48sEh6RkE7RPXvrbjMJszm",
"poolId": "Gc9yHrCpcUMXCw1YhAVTcrUb6ZGbCv7ns363FZpDTbHW",
"mintFrom": "So11111111111111111111111111111111111111112",
"mintTo": "CNyMaRR4krm1yAxfCvPXevNMArZZZk7sRqKwX68uCeJk",
"amountIn": "100000000",
"feeAmount": "100000",
"feeMintAddress": "So11111111111111111111111111111111111111112",
"amountOut": "3059889342657",
"priority": {
"priorityTipAmount": "2000000",
"frontRunningProtection": false
}
}
Sample Response:
{
"serializedTx": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAHF9l9ZW8SJNIbmMgnCO1IEqGI0kjnl//nskkffYhHKfxGoPkjYjZWG9iBx8OtU2fpptWAi0ypz7OyDafqyIypEg7JlIBfrnc2wO5bM5oR0rn+5u4Gq+w7p6jStxLJIvnDoOfgxnS6OakrrtFguwUqtsLBbpPdvd1jswjqhutmi0a103QhdricXhTJa3SJmEIfOBAeCeXFkzGxaLYlzScVuyYv6cFT3i+zHc83PVJcImKrOuzGwrT55iU2nTIP/jctNfYXzUUQr3DHYZIEmfj+l9WyMRpp4ZoXaDyiqqSL7Jp9KrKMKufzL0G4tIvRw/1bLu6j6bzrclF6nyJt7YSVFLHYThKQwZjniLoOEU8DghRnlgjaKPzSChYx78OT+79pKljBgSeNf85FqHlZctVPAuFPpA/Xr7w86jap6O5s79nq0H9G2Tc0tmZbInVvXV1qriAy0I3h4iWQY18/H1BE7C1YGD12XFCXvHg69lGvkUNj3gu2mvptSLsZqkPPNR6NpCiFLYUDrHnBeGhObkxtMnl+ttqeGiSPgTKtA4fWsLi79eVBa9J0SogkkRaR5IHsSJ0mCKQYzeVt/WCynRVswVVAEDXTWrtTEl2R6bMAPLi4v0ZWZb8BResLmfiD0dDAGY0LjqD0Gt3mbJMzEG/zDcP8bx9dfKhx37dvGh20ofDGjJclj04kifG7PRApFI4NgwtaE5na/xCEBI572Nvp+FkGm4hX/quBhPtof2NGGMA12sQ53BrrO1WYoPAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKmpEXlFSg3a16aw9DO+B/QdyVbxXmGE1fDI8M+Znfus0cz4AtTMzITX+yG19ztJ2BoWxbTIjuMjlOHJHTWIzECAD7/ohG1oXL3GLMp+BMfo9o3MMTqzEnfi4BEqLsDgUuVl7qcZNT7dopp+PtEEATSrID5snAlHwoO07IutVAtWbAgQBgABABESEwAQBgACABQSEwASAgABDAIAAAAA4fUFAAAAABMBAQERFQ8DAQIEBQYHCAkKCwwAFhMY+MaekeF1h8gA4fUFAAAAAMEInm/IAgAAEgIADQwCAAAAgIQeAAAAAAASAgAODAIAAACIEwAAAAAAABICAA8MAgAAABhzAQAAAAAAAA==",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eEhhc2giOiJPaDZRU2hXbE41d2g5VWRuZEZCb1ByelN1WE09Iiwic2Vzc2lvbkhhc2giOiJUbGk2ZnR0V0FBbFlKdnEzREtPZSIsInR4SWQiOiJhZGQtbGF0ZXIiLCJ0eFR5cGUiOiJTV0FQIiwiaGVsaW9GZWUiOiI1MDAwIiwicGFydG5lckZlZSI6Ijk1MDAwIiwiZmVlTWludEFkZHJlc3MiOiJTbzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyIiwic3VibWl0UHJpb3JpdHkiOnsidGlwIjoyMDAwMDAwLCJmcm9udFJ1bm5pbmdQcm90ZWN0aW9uIjpmYWxzZSwiaml0b1RpcCI6MTAwMDAwMCwicm91dGVyIjoiTU9PTkJPT1NUIn0sInVuaXhUaW1lc3RhbXAiOjE3NDA3NTcyODcxMDgsImlhdCI6MTc0MDc1NzI4NywiZXhwIjoxNzQwNzU3NDY3fQ.WSaExFtSwhD7ZnHCpRtsQbZ0fHtsgWO7ld0bQ85du5U"
}
3. Submit Meteora Swap
- Endpoint:
POST /meteora-swap/submit
- Authentication: Required
- Description: Submits a swap transaction to the blockchain using the provided signed transaction data.
- Request Body:
signedTransaction (string)
: The signed transaction data required to execute the swap.token (string)
: token from the prepare endpoint response
- Response:
status
:- "SUCCESS"
- "PENDING"
- "FAILED"
transactionSignature
:
Sample Request:
{
"signedTransaction": "AbTIcfj9+ub+6+gvfHo/6ofNxJ8tOR6NQmImQmMY+NMVraXqE1DoL+innRfzLt+TSR0etQQ3YWXzVKSs8PW+wwWAAQAIGNl9ZW8SJNIbmMgnCO1IEqGI0kjnl//nskkffYhHKfxGoPkjYjZWG9iBx8OtU2fpptWAi0ypz7OyDafqyIypEg7JlIBfrnc2wO5bM5oR0rn+5u4Gq+w7p6jStxLJIvnDoOfgxnS6OakrrtFguwUqtsLBbpPdvd1jswjqhutmi0a103QhdricXhTJa3SJmEIfOBAeCeXFkzGxaLYlzScVuyYv6cFT3i+zHc83PVJcImKrOuzGwrT55iU2nTIP/jctNfYXzUUQr3DHYZIEmfj+l9WyMRpp4ZoXaDyiqqSL7Jp9KrKMKufzL0G4tIvRw/1bLu6j6bzrclF6nyJt7YSVFLHYThKQwZjniLoOEU8DghRnlgjaKPzSChYx78OT+79pKljBgSeNf85FqHlZctVPAuFPpA/Xr7w86jap6O5s79nq0H9G2Tc0tmZbInVvXV1qriAy0I3h4iWQY18/H1BE7C1YGD12XFCXvHg69lGvkUNj3gu2mvptSLsZqkPPNR6NpCiFLYUDrHnBeGhObkxtMnl+ttqeGiSPgTKtA4fWsLi79eVBa9J0SogkkRaR5IHsSJ0mCKQYzeVt/WCynRVswVVAEDXTWrtTEl2R6bMAPLi4v0ZWZb8BResLmfiD0dDAGY0LjqD0Gt3mbJMzEG/zDcP8bx9dfKhx37dvGh20ofDGAwZGb+UhFzL/7K26csOb57yM5bvF9xJrLEObOkAAAACMlyWPTiSJ8bs9ECkUjg2DC1oTmdr/EIQEjnvY2+n4WQabiFf+q4GE+2h/Y0YYwDXaxDncGus7VZig8AAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqakReUVKDdrXprD0M74H9B3JVvFeYYTV8Mjwz5md+6zRzPgC1MzMhNf7IbX3O0nYGhbFtMiO4yOU4ckdNYjMQIAPv+iEbWhcvcYsyn4Ex+j2jcwxOrMSd+LgESouwOBS5dLBUB7r1T1WMnfv80LJhI2uBn2w7NFQxFCQ/mF89NXQChAACQOghgEAAAAAABAABQLAXBUAEQYAAQASExQAEQYAAgAVExQAEwIAAQwCAAAAoIYBAAAAAAAUAQEBERYPAwECBAUGBwgJCgsMABcUGPjGnpHhdYfIoIYBAAAAAADfFTG4AAAAABMCAA0MAgAAANAHAAAAAAAAEwIADgwCAAAAiBMAAAAAAAATAgAPDAIAAAAYcwEAAAAAAAA=",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eEhhc2giOiJQT3hSZytNKytxaGhFWXVUTngvQ001dEhsdmc9Iiwic2Vzc2lvbkhhc2giOiI3cmtFeDdwbFNzY0R3eldURGZiVSIsInR4SWQiOiJhZGQtbGF0ZXIiLCJ0eFR5cGUiOiJTV0FQIiwiaGVsaW9GZWUiOiI1MDAwIiwicGFydG5lckZlZSI6Ijk1MDAwIiwiZmVlTWludEFkZHJlc3MiOiJTbzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyIiwic3VibWl0UHJpb3JpdHkiOnsidGlwIjoyMDAwLCJmcm9udFJ1bm5pbmdQcm90ZWN0aW9uIjpmYWxzZSwiaml0b1RpcCI6MTAwMDAwMCwicm91dGVyIjoiTU9PTkJPT1NUIn0sInVuaXhUaW1lc3RhbXAiOjE3NDA3NTc0NTMwNjUsImlhdCI6MTc0MDc1NzQ1MywiZXhwIjoxNzQwNzU3NjMzfQ.gElatl0VgvKmArsrQ8FrdApXWjWyIHrag67c82q2Kbs"
}
Sample Response:
{
"status": "SUCCESS",
"transactionSignature": "4cdwrs4WrzDxZr5cWvwEy5AxAjRLGwAqdpC8e7uNaNTLbWbA28Do3L3hwdVyvchMih6QydYCd2wx2NB8sX8YRdnt"
}
Meteora (DLMM Pools)
Everything remains same as DYN but the endpoints
- Price: https://api.btftx.io/v1/meteora-swap/dlmm/price
- Prepare: https://api.btftx.io/v1/meteora-swap/dlmm/prepare
- Submit: https://api.btftx.io/v1/meteora-swap/dlmm/submit
Base
Base URL (Mainnet): https://api.btftx.io/v1
Authorisation: Request your Bearer Token from the Helio team
1. Get Uniswap Price
- Endpoint:
/uniswap/price/base
- Authentication: Required
- Description: Retrieves the price information for a token swap on Uniswap.
- Request Body:
mintFrom (string)
: Contract address of the token to swap frommintTo (string)
: Contract address of the token to swap toamount (string)
: The amount of mintFrom tokens to be swappedpoolId (string, optional)
: Specific Uniswap pool ID to use for the swap
Sample Request:
{
"amount": "1000000000000000",
"mintFrom": "0x0000000000000000000000000000000000000000",
"mintTo": "0x1F1c695f6b4A3F8B05f2492ceF9474Afb6d6Ad69",
"poolId": "0x7Dc3662f4C2C41c5752652e8B417a9024c2B1f63",
"swapType": "EXACT_IN"
}
Sample Response:
"170715047628202137"
2. Prepare Uniswap Swap
- Endpoint:
POST /uniswap/prepare/base
- Authentication: Required
- Description: Prepares a swap transaction by setting up necessary details and validations before submission.
- Request Body:
sender (string)
: Wallet address of the senderpoolId (string)
: Liquidity pool ID for the token pairmintFrom (string)
: Contract address of the token to swap frommintTo (string)
: Contract address of the token to swap toamountIn (string)
: The amount of mintFrom tokens to be swappedamountOut (string)
: The expected amount of mintTo tokens to receivefeeAmount (string)
: The total fee amount in feeMintAddress tokensfeeMintAddress (string)
: Contract address of the token in which fees will be chargedswapType (string, optional)
: Type of swap to performEXACT_IN
: fix the amount of mintFrom tokens so that the amount of mintTo tokens adjusts based on slippageEXACT_OUT
: fix the amount of mintTo tokens so that the amount of mintFrom tokens adjusts based on slippage
- Response:
serializedTx (string)
: A serialized transaction prepared for submission.token (string)
:contractAddress (string)
: contract which will execute trades and is required on sell to approve funds
Sample Request:
{
"sender": "0xC3da585b27af55e3BeFBc72CFd13DF7022fB5002",
"poolId": "0x7Dc3662f4C2C41c5752652e8B417a9024c2B1f63",
"mintFrom": "0x0000000000000000000000000000000000000000",
"mintTo": "0x1F1c695f6b4A3F8B05f2492ceF9474Afb6d6Ad69",
"amountIn": "1000000000000000",
"amountOut": "145107790483971808",
"feeAmount": "100000000000000",
"feeMintAddress": "0x0000000000000000000000000000000000000000",
"swapType": "EXACT_IN"
}
Sample Response:
{
"serializedTx": "0x01f87082210580834de5b88307a12094d28a68072a19202ce386136661fb4ff6a111f39c87038d7ea4c68000b844b79c48e50000000000000000000000001f1c695f6b4a3f8b05f2492cef9474afb6d6ad69000000000000000000000000000000000000000000000000020386c441f05ee0c0",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eEhhc2giOiI1OCtWV0FEYmFPNmw4akc5eG9tNDZBUDJxRzA9Iiwic2Vzc2lvbkhhc2giOiJHb0dKT2hWUzZjeXBURVVXODVqdSIsInR4SWQiOiJhZGQtbGF0ZXIiLCJ0eFR5cGUiOiJTV0FQIiwiaGVsaW9GZWUiOiI1MDAwMDAwMDAwMDAwIiwicGFydG5lckZlZSI6Ijk1MDAwMDAwMDAwMDAwIiwiZmVlTWludEFkZHJlc3MiOiIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsInVuaXhUaW1lc3RhbXAiOjE3NDA3NTk0OTQ4MzgsImlhdCI6MTc0MDc1OTQ5NCwiZXhwIjoxNzQwNzYwNjk0fQ.egZizblX_OH19DbEMAvrK0strgCGp07NKNMSTuqxBmo",
"contractAddress": "0xD28a68072A19202ce386136661FB4Ff6A111F39c"
}
3. Confirm Uniswap Swap
- Endpoint:
POST /uniswap/confirm/base
- Authentication: Required
- Description: Confirms and submits the prepared swap transaction to the network.
- Request Body:
signedTransaction (string)
: The signed transaction data ready for submissiontoken (string)
: Authentication token received from the prepare endpoint
- Response
status (string)
:“SUCCESS”
“PENDING”
“FAILED”
transactionSignature (string)
:
Sample Request:
{
"signedTransaction": "{\"_type\":\"TransactionResponse\",\"accessList\":null,\"blockNumber\":null,\"blockHash\":null,\"blobVersionedHashes\":null,\"chainId\":null,\"data\":\"0xb79c48e50000000000000000000000001f1c695f6b4a3f8b05f2492cef9474afb6d6ad69000000000000000000000000000000000000000000000000020386c441f05ee0\",\"from\":\"0xC3da585b27af55e3BeFBc72CFd13DF7022fB5002\",\"gasLimit\":\"500000\",\"gasPrice\":\"5105080\",\"hash\":\"0xf98f3c84e362701c55f753ae66e8aec645f588a2f50faa8bfa50fe435945c7dd\",\"maxFeePerGas\":\"5105080\",\"maxPriorityFeePerGas\":\"5105080\",\"maxFeePerBlobGas\":null,\"nonce\":81,\"signature\":{\"_type\":\"signature\",\"networkV\":null,\"r\":\"0x7afce8796a911fa98cc2082a1ba795ec81ed7975b80bb34ed4d2a2b0f23f4362\",\"s\":\"0x0f78996257f927b15fac339d46ccaf26719e7ce9767cf4239991f6b86defcee5\",\"v\":27},\"to\":\"0xD28a68072A19202ce386136661FB4Ff6A111F39c\",\"type\":2,\"value\":\"1000000000000000\"}",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eEhhc2giOiI1OCtWV0FEYmFPNmw4akc5eG9tNDZBUDJxRzA9Iiwic2Vzc2lvbkhhc2giOiJHb0dKT2hWUzZjeXBURVVXODVqdSIsInR4SWQiOiJhZGQtbGF0ZXIiLCJ0eFR5cGUiOiJTV0FQIiwiaGVsaW9GZWUiOiI1MDAwMDAwMDAwMDAwIiwicGFydG5lckZlZSI6Ijk1MDAwMDAwMDAwMDAwIiwiZmVlTWludEFkZHJlc3MiOiIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsInVuaXhUaW1lc3RhbXAiOjE3NDA3NTk0OTQ4MzgsImlhdCI6MTc0MDc1OTQ5NCwiZXhwIjoxNzQwNzYwNjk0fQ.egZizblX_OH19DbEMAvrK0strgCGp07NKNMSTuqxBmo"
}
Sample Response:
{
"status": "SUCCESS",
"transactionSignature": "0xf98f3c84e362701c55f753ae66e8aec645f588a2f50faa8bfa50fe435945c7dd"
}
Ethereum
All structures are the same as those of Base; only the names of the endpoints are different.
Base URL (Mainnet): https://api.btftx.io/v1
1. Get Uniswap Price
- Endpoint:
POST /uniswap/price/eth
Prepare Uniswap Price
- Endpoint:
POST /uniswap/prepare/eth
Confirm Uniswap Swap
- Endpoint: Post
/uniswap/confirm/eth
Pump.fun - Launchpad
Base URL (Mainnet): https://api.btftx.io/v1
1. Get Price Quote
- Endpoint: POST /pumpfun-swap/price
- Authentication: Required
- Description: Retrieves a price quote for a token swap.
- Request Body:
mintFrom (string)
: Token mint address to swap frommintTo (string)
: Token mint address to swap tominimalUnitsTokenAmount (string)
: Amount of mintFrom tokens in minimal units to get quote for
- Response:
- Returns a string representing the quoted amount in minimal units (e.g., "123456790")
Sample Request:
{
"minimalUnitsTokenAmount":"1000000",
"mintTo":"4em1AYxoDeehCBbgCkBqY1PDvk7Ly1dsR1v6bgmapump",
"mintFrom":"So11111111111111111111111111111111111111112"
}
Sample Response:
{
"price":"7375643054"
}
2. Prepare Swap Transaction
- Endpoint:
POST /pumpfun-swap/prepare
- Authentication: Required
- Description: Prepares a swap transaction for signing.
- Request Body:
sender (string)
: Address of the transaction sendermintFrom (string)
: Token mint address to swap frommintTo (string)
: Token mint address to swap toamountIn (string)
: Amount of input token in minimal unitsamountOut (string)
: Expected output amount in minimal unitsfeeAmount (string)
: Fee amount in minimal unitsfeeMintAddress (string)
: Address of the fee token mintpriority (object, optional)
: Priority fees are dynamically optimised. You can optionally send a tip amount and other priority related parameterspriorityTipAmount (string)
: Boost transaction speed & conversions with tips. We recommend that you set the default to 2M for the optimal performance, and enable a UI for users to change it (see example). This amount is optimally sent to Jito pools to efficiently increase the rate of landing transactionsfrontRunningProtection (optional, boolean)
: Enable front-running protection to increase the chances of landing with Jito
- Response:
serializedTx (string)
: Serialised transaction ready for signingtoken (string, optional)
: Token for transaction tracking
Sample Request:
{
"sender": "FdzNYdgdWPKDWmwFwdjRNh48sEh6RkE7RPXvrbjMJszm",
"mintFrom": "So11111111111111111111111111111111111111112",
"mintTo": "4em1AYxoDeehCBbgCkBqY1PDvk7Ly1dsR1v6bgmapump",
"amountIn": "1000000",
"amountOut": "7375643054",
"slippageBps": 0,
"feeAmount": "100",
"feeMintAddress": "So11111111111111111111111111111111111111112",
"priority": {
"priorityTipAmount": "200000",
"frontRunningProtection": true
}
}
Sample Response:
{
"serializedTx": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAJEdl9ZW8SJNIbmMgnCO1IEqGI0kjnl//nskkffYhHKfxGKqhJpBdxAOHeGPci56iavzBxWYWrxDznjZPIKHnpmIytEeak/ClEpPqCUb74FUJuG/soxrZkZndgfGrZ9WamRqsDzYYoJ+qtqe6SW4kbBa5nGIhTfO1uQ6ji+ncJNZL/GM9vLzWWbCvffDw6FMwRspDMUmeqOI+s5V/DvkY7z2T15UFr0nRKiCSRFpHkgexInSYIpBjN5W39YLKdFWzBVUAQNdNau1MSXZHpswA8uLi/RlZlvwFF6wuZ+IPR0MAZjQuOoPQa3eZskzMQb/MNw/xvH118qHHft28aHbSh8MYDBkZv5SEXMv/srbpyw5vnvIzlu8X3EmssQ5s6QAAAAIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZNj9ODNxLrqxQXEM5m3KWvUeRk9p+9yhCcRwHFwM5aR8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpAVbg9pNmWs9E2xVovxdbqlGJy5f10v87ZV0rtv1tGLA6hl5p7g9UgMq89mNX5NwvGNWNRcHqdIn7NyPZeTxypgan1RcZLFxRIYzJTD1K8X9Y2u4Im6H9ROPb2YoAAAAArPE26wH8HE6IPSPItYRKtZo39mrdV8XprDtT4FnTXGQVD+6iPwaL36smPDBarQbo9sxFUREhjb7aeAybIkbZyQYIAAUCoIYBAAkGAAEACgsMAA0MDgIKAwQBAAsMDxANGGYGPRIB2uvqrmGftwEAAABRaQ8AAAAAAAsCAAUMAgAAAEANAwAAAAAACwIABgwCAAAABQAAAAAAAAALAgAHDAIAAABfAAAAAAAAAAA=",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eEhhc2giOiIvRHpSek1qcTZQSlVsa2krMldjTWFwMmM0V0U9Iiwic2Vzc2lvbkhhc2giOiI5NW5PdkZHc0hpNTg5TkFJa09UNyIsInR4SWQiOiJhZGQtbGF0ZXIiLCJ0eFR5cGUiOiJTV0FQIiwiaGVsaW9GZWUiOiI1IiwicGFydG5lckZlZSI6Ijk1IiwiZmVlTWludEFkZHJlc3MiOiJTbzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyIiwic3VibWl0UHJpb3JpdHkiOnsidGlwIjoyMDAwMDAsImZyb250UnVubmluZ1Byb3RlY3Rpb24iOnRydWUsImppdG9UaXAiOjEwMDAwMDAsInJvdXRlciI6Ik1PT05CT09TVCJ9LCJ1bml4VGltZXN0YW1wIjoxNzQwNzYwNjAwNjExLCJpYXQiOjE3NDA3NjA2MDAsImV4cCI6MTc0MDc2MDc4MH0.443oPOMmk-1bl196vSLWAfKERHn3Yy0KpP8RB9hjkUo"
}
3. Submit Swap Transaction
- Endpoint:
POST /pumpfun-swap/submit
- Authentication: Required
- Description: Submits a signed swap transaction to the network.
- Request Body:
signedTransaction (string)
: The signed transaction datatoken (string)
: Transaction tracking token from prepare step
- Response:
transactionSignature (string)
: Signature of the submitted transactionstatus (string)
: Transaction status
Swap.pump.fun (Dex by Pump.fun)
Base URL (Mainnet): https://api.btftx.io/v1
1. Get Price Quote
- Endpoint:
POST /pumpfun-swap/price
- Authentication: Required
- Description: Retrieves a price quote for a token swap.
- URL:
https://api.btftx.io/v1/pumpfun-swap/price
- Request Body:
minimalUnitsTokenAmount (string)
: Amount of mintFrom tokens in minimal units to get quote formintFrom (string)
: Token mint address to swap frommintTo (string)
: Token mint address to swap to- Response:
price (string)
: The quoted amount in minimal units
Sample Request:
{
"minimalUnitsTokenAmount": "1000000",
"mintFrom": "So11111111111111111111111111111111111111112",
"mintTo": "4em1AYxoDeehCBbgCkBqY1PDvk7Ly1dsR1v6bgmapump"
}
Sample Response:
{
"price": "7375643054"
}
2. Prepare Swap Transaction
- Endpoint:
POST /pumpfun-swap/prepare
- Authentication: Required
- Description: Prepares a swap transaction for signing.
- URL:
https://api.btftx.io/v1/pumpfun-swap/prepare
- Request Body:
sender (string)
: Address of the transaction sendermintFrom (string)
: Token mint address to swap frommintTo (string)
: Token mint address to swap toamountIn (string)
: Amount of input token in minimal unitsamountOut (string)
: Expected output amount in minimal unitsslippageBps (number)
: Slippage tolerance in basis points (optional)feeAmount (string)
: Fee amount in minimal unitsfeeMintAddress (string)
: Address of the fee token mintpriority (object)
: Optional priority settingspriorityTipAmount (string)
: Boost transaction speed & conversions with tips. We recommend that you set the default to 2M for the optimal performance, and enable a UI for users to change it (see example). This amount is optimally sent to Jito pools to efficiently increase the rate of landing transactionsfrontRunningProtection (boolean)
: Enable front-running protection to increase the chances of landing with Jito
- Response:
serializedTx (string)
: Serialized transaction ready for signingtoken (string)
: Token for transaction tracking
Sample Request:
{
"sender": "FdzNYdgdWPKDWmwFwdjRNh48sEh6RkE7RPXvrbjMJszm",
"mintFrom": "So11111111111111111111111111111111111111112",
"mintTo": "4em1AYxoDeehCBbgCkBqY1PDvk7Ly1dsR1v6bgmapump",
"amountIn": "1000000",
"amountOut": "7375643054",
"slippageBps": 0,
"feeAmount": "100",
"feeMintAddress": "So11111111111111111111111111111111111111112",
"priority": {
"priorityTipAmount": "200000",
"frontRunningProtection": true
}
}
Sample Response:
{
"serializedTx": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAJEdl9ZW8SJNIbmMgnCO1IEqGI0kjnl//nskkffYhHKfxGKqhJpBdxAOHeGPci56iavzBxWYWrxDznjZPIKHnpmIytEeak/ClEpPqCUb74FUJuG/soxrZkZndgfGrZ9WamRqsDzYYoJ+qtqe6SW4kbBa5nGIhTfO1uQ6ji+ncJNZL/GM9vLzWWbCvffDw6FMwRspDMUmeqOI+s5V/DvkY7z2T15UFr0nRKiCSRFpHkgexInSYIpBjN5W39YLKdFWzBVUAQNdNau1MSXZHpswA8uLi/RlZlvwFF6wuZ+IPR0MAZjQuOoPQa3eZskzMQb/MNw/xvH118qHHft28aHbSh8MYDBkZv5SEXMv/srbpyw5vnvIzlu8X3EmssQ5s6QAAAAIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZNj9ODNxLrqxQXEM5m3KWvUeRk9p+9yhCcRwHFwM5aR8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpAVbg9pNmWs9E2xVovxdbqlGJy5f10v87ZV0rtv1tGLA6hl5p7g9UgMq89mNX5NwvGNWNRcHqdIn7NyPZeTxypgan1RcZLFxRIYzJTD1K8X9Y2u4Im6H9ROPb2YoAAAAArPE26wH8HE6IPSPItYRKtZo39mrdV8XprDtT4FnTXGQVD+6iPwaL36smPDBarQbo9sxFUREhjb7aeAybIkbZyQYIAAUCoIYBAAkGAAEACgsMAA0MDgIKAwQBAAsMDxANGGYGPRIB2uvqrmGftwEAAABRaQ8AAAAAAAsCAAUMAgAAAEANAwAAAAAACwIABgwCAAAABQAAAAAAAAALAgAHDAIAAABfAAAAAAAAAAA=",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eEhhc2giOiIvRHpSek1qcTZQSlVsa2krMldjTWFwMmM0V0U9Iiwic2Vzc2lvbkhhc2giOiI5NW5PdkZHc0hpNTg5TkFJa09UNyIsInR4SWQiOiJhZGQtbGF0ZXIiLCJ0eFR5cGUiOiJTV0FQIiwiaGVsaW9GZWUiOiI1IiwicGFydG5lckZlZSI6Ijk1IiwiZmVlTWludEFkZHJlc3MiOiJTbzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyIiwic3VibWl0UHJpb3JpdHkiOnsidGlwIjoyMDAwMDAsImZyb250UnVubmluZ1Byb3RlY3Rpb24iOnRydWUsImppdG9UaXAiOjEwMDAwMDAsInJvdXRlciI6Ik1PT05CT09TVCJ9LCJ1bml4VGltZXN0YW1wIjoxNzQwNzYwNjAwNjExLCJpYXQiOjE3NDA3NjA2MDAsImV4cCI6MTc0MDc2MDc4MH0.443oPOMmk-1bl196vSLWAfKERHn3Yy0KpP8RB9hjkUo"
}
3. Submit Swap Transaction
- Endpoint:
POST /pumpfun-swap/submit
- Authentication: Required
- Description: Submits a signed swap transaction to the network.
- URL:
https://api.btftx.io/v1/pumpfun-swap/submit
- Request Body:
signedTransaction (string)
: The signed transaction datatoken (string)
: Transaction tracking token from prepare step
Sample Request:
{
"signedTransaction": "AXz5Db6eLwkoAPFptp2L3BpL5qq8uX1ng+A+3SZ/wpeg4Lzxysky1jKsl0NQR9UtNnuMZ6QchKBMHadHtSaDuQ6AAQALFNl9ZW8SJNIbmMgnCO1IEqGI0kjnl//nskkffYhHKfxGoPkjYjZWG9iBx8OtU2fpptWAi0ypz7OyDafqyIypEg5Vb3/4bnCuz/FpGN1wbhrfmHNG/sR7/QRiahXhcsovNonGk4jXP1ym2ZFSzyZ1nztfK6E2FTnssNjivlL8wO+l+pcEB3n8Rci/tJUvV/TgAuocuEm+SDJhQ3rQD7/8wxLUEXuWRjrqaw28gxoeB52B2nK9qoyy5sh+wlJKiK1aVfXlQWvSdEqIJJEWkeSB7EidJgikGM3lbf1gsp0VbMFVQBA101q7UxJdkemzADy4uL9GVmW/AUXrC5n4g9HQwBmNC46g9Brd5myTMxBv8w3D/G8fXXyocd+3bxodtKHwxgMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAAjJclj04kifG7PRApFI4NgwtaE5na/xCEBI572Nvp+FkGm4hX/quBhPtof2NGGMA12sQ53BrrO1WYoPAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKnMpe5BANWHMHXTe2d6bLGxlvV0m77GXKrOC98WQF9P/wwU3vyCXsZ2lCUIGLtlQGX0KY0xVtVxtNT4CQwY6ahjWMdaDWaNZr0NAUuOhZc9uwtDdtKariHb8X6S9vPfcfGJC6ZE/h9VqhnxHNLS7BTTIztuCkvq7vcraYWOIeFw1o0YGgyEn6k3pvNK3tMIHvlXAKrLDJuz2QmkuRR1J6Tr5UpwlSiDn2HAubhgeYkcE5IW5Hpxti+3O+xyFpRYdF5C1nYt5bnmMk4sy1XpWlMErmhjdF3qiPJlkSse5lFXDAsJAAkDoIYBAAAAAAAJAAUCQA0DAAoGAAEACwwNAQEMAgABDAIAAACAhB4AAAAAAA0BAQERCgYAAgAODA0BAQ8REAARDgsCAQMEEgUNDQwKEw8YZgY9EgHa6+pd/FkOAAAAAICEHgAAAAAADQMBAAABCQwCAAYMAgAAAECcAAAAAAAADAIABwwCAAAAiBMAAAAAAAAMAgAIDAIAAAAYcwEAAAAAAAA=",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eEhhc2giOiJCSUdQU2psM1hNbDZERkxnempXT3JCRzBJcEk9Iiwic2Vzc2lvbkhhc2giOiI2QUZMUXphS3N0N2RGRGZTZ2QzcyIsInR4SWQiOiJhZGQtbGF0ZXIiLCJ0eFR5cGUiOiJTV0FQIiwiaGVsaW9GZWUiOiI1MDAwIiwicGFydG5lckZlZSI6Ijk1MDAwIiwiZmVlTWludEFkZHJlc3MiOiJTbzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyIiwic3VibWl0UHJpb3JpdHkiOnsidGlwIjo0MDAwMCwiZnJvbnRSdW5uaW5nUHJvdGVjdGlvbiI6ZmFsc2UsImppdG9UaXAiOjQwMDAwLCJyb3V0ZXIiOiJNT09OQk9PU1QifSwidW5peFRpbWVzdGFtcCI6MTc0MjQ5MzIzODM4NCwiaWF0IjoxNzQyNDkzMjM4LCJleHAiOjE3NDI0OTM0MTh9.RWzT_YPeU7RFTb662QD5WPNFj-kP1sg8G5aej-lbdCg"
}
Sample Response:
{
"status": "SUCCESS",
"transactionSignature": "3VvKP1RauxwkCcxqdCHjwhMzuAn6Aqgmfam7o89YxL7d4bpjQhiVowsQGqQAL6EfuQsNxMC1DX37RR2uVeEPzcVb"
}
Updated 15 days ago