├── .gitignore ├── README.md ├── gridbot.js ├── install.bat ├── package-lock.json ├── package.json └── tokens.txt /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .env 3 | GridNodeJs.njsproj 4 | bin/ 5 | obj/ 6 | tokens.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Solana Jupiter Grid Bot 2 | 3 | Run at your own risk! I am not liable for any losses using this script! 4 | 5 | Please ensure you have the correct tokens already available in your wallet. Auto-50/50 balancing will come later, as well as full auto setup. 6 | 7 | NodeJS and NPM required 8 | 9 | Run the install.bat file to create the .env file for you, and run the npm install command, to download all extra necessary packages. 10 | 11 | In the new .env file, simply paste you Solana Wallet Keypair, and your RPC Endpoint address. (Tested with Phantom, but any base58 keypair should work). 12 | 13 | Then, node gridbot.js to run! 14 | 15 | --- Parameter Setup --- 16 | 17 | The Token Symbols are downloaded and saved locally from Jupiter's Strict List (https://github.com/jup-ag/token-list) for ensured user security. 18 | 19 | ----- 20 | 21 | Grid Spread in Percent --- This is the distance between orders, where you wish to buy or sell in %. 1% spread, from a token starting at $100, means you will Buy every $1 the token moves down, and sell every $1 the token moves up. 22 | 23 | Default = 1% 24 | 25 | ----- 26 | 27 | Donation Fee in Percent --- This is just a tipjar for me (The developer!) - It is totally optional, the script will work as normal with 0% selected. This is only valid for SOL, USDC, USDT, mSOL, stSOL and ARB. (Input OR Output) 28 | 29 | Default = 0.02% 30 | 31 | ----- 32 | 33 | Swap Value --- This is just "How much do you want to swap". A fixed value here, ensures that you will secure a profit between buy and sell orders. 34 | 35 | Default = 0% --- This needs to be set, else the bot will crash when executing a transaction. 36 | 37 | ----- 38 | 39 | Acceptable Slippage --- This is how much you can allow the price to deviate from your intended swap value. For example, a Grid Spread of 0.2%, and Acceptable Slippage of 0.1%, will result in a minimum return of 0.1% profit. 40 | 41 | Default = 0.2% 42 | 43 | My advice, is to make sure Grid Spread % is more than Donation Fee + Acceptable Slippage. This will always ensure profits end up in your pocket. 44 | Most Swaps will succeed with 0.2%. Its a happy medium. 45 | 46 | --- 47 | 48 | Refresh Time --- This is how fast you want the bot to recalculate its prices and get new data. Grid Bots normally work slowly, and dont require constant following/babysitting. 49 | 50 | Default = 10 Seconds. 51 | -------------------------------------------------------------------------------- /gridbot.js: -------------------------------------------------------------------------------- 1 | import fetch from "node-fetch"; 2 | import inquirer from "inquirer"; 3 | import readline from "readline"; 4 | import fs from "fs/promises"; 5 | import chalk from "chalk"; 6 | import { Connection, Keypair, VersionedTransaction, PublicKey } from '@solana/web3.js'; 7 | import bs58 from 'bs58'; 8 | import dotenv from 'dotenv'; 9 | import { Wallet } from '@project-serum/anchor'; 10 | import axios from 'axios'; 11 | import { promisify } from 'util'; 12 | 13 | async function getTokens() { 14 | try { 15 | const response = await axios.get('https://token.jup.ag/strict'); 16 | const data = response.data; 17 | const tokens = data.map(({ symbol, address, decimals }) => ({ symbol, address, decimals })); 18 | await fs.writeFile('tokens.txt', JSON.stringify(tokens)); 19 | console.log('Updated Token List'); 20 | console.log(""); 21 | return tokens; 22 | } catch (error) { 23 | console.error(error); 24 | } 25 | } 26 | 27 | dotenv.config(); 28 | //read keypair and decode to public and private keys. 29 | //const wallet = new Wallet(Keypair.fromSecretKey(bs58.decode(process.env.PRIVATE_KEY))); 30 | const keyPair = Keypair.fromSecretKey(bs58.decode(process.env.PRIVATE_KEY)); 31 | const wallet = new Wallet(keyPair); 32 | // Replace with the Solana network endpoint URL 33 | const connection = new Connection(process.env.RPC_ENDPOINT, 'confirmed', { 34 | commitment: 'confirmed', 35 | timeout: 90000 36 | }); 37 | 38 | //api request data for URL query on swaps 39 | class Tokens { 40 | constructor(mintSymbol, vsTokenSymbol, price) { 41 | this.mintSymbol = mintSymbol; 42 | this.vsTokenSymbol = vsTokenSymbol; 43 | this.price = price; 44 | } 45 | } 46 | 47 | class PriceData { 48 | constructor(selectedTokenA) { 49 | this.selectedTokenA = selectedTokenA; 50 | } 51 | } 52 | class PriceDataB { 53 | constructor(selectedTokenB) { 54 | this.selectedTokenB = selectedTokenB; 55 | } 56 | } 57 | 58 | class PriceResponse { 59 | constructor(data, timeTaken) { 60 | this.data = data; 61 | this.timeTaken = timeTaken; 62 | } 63 | } 64 | 65 | //vars for user inputs 66 | 67 | let gridSpread = 0.33; 68 | let devFee = 0.01; 69 | let fixedSwapVal = 0; 70 | let slipTarget = 0.15; 71 | let refreshTime = 5; 72 | let startTime = process.hrtime(); 73 | //const usdcMintAddress = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"); 74 | 75 | async function main() { 76 | await getTokens(); 77 | const rl = readline.createInterface({ 78 | input: process.stdin, 79 | output: process.stdout, 80 | }); 81 | 82 | 83 | let tokens = JSON.parse(await fs.readFile('tokens.txt')); 84 | const questionAsync = promisify(rl.question).bind(rl); 85 | 86 | let tokenAMintAddress = ''; 87 | let tokenBMintAddress = ''; 88 | let selectedTokenA = ''; 89 | let selectedAddressA = ''; 90 | let selectedDecimalsA = ''; 91 | let selectedTokenB = ''; 92 | let selectedAddressB = ''; 93 | let selectedDecimalsB = ''; 94 | let devFeeA; 95 | let devFeeB; 96 | let solDevFee = "CebibGKKY8ZAnZrFo7q5U8Wr9BswAKg2qWbdog13vRMR"; 97 | let usdcDevFee = "9eXRZqjY3htAn1VJy3aaHGgMaBzgWpFvYDSZrufKxHa5"; 98 | let msolDevFee = "CEPjU8AeGPan4TuzyCv7LKBSbUSKV3sEVfin4t22W1qh"; 99 | let stsolDevFee = "7ahUp232krm79f9CV7iTWkCYvsdBAdVN8QzvWVco1eiy"; 100 | let arbDevFee = "FJeCc3E4yn9fyJN7rY6wwVcjo19XNV9fNuy1Vh6tcbzQ"; 101 | let usdtDevFee = "4CxNnXSxdVd6svVFLRTGZN1vwEuFcP7ALSCWYSkbR8ib"; 102 | let validTokenA = false; 103 | let validTokenB = false; 104 | let start = new Date(); 105 | 106 | 107 | while (!validTokenA) { 108 | const answer = await questionAsync(`Please Enter The First Token Symbol (Case Sensitive):`); 109 | const token = tokens.find((t) => t.symbol === answer); 110 | if (token) { 111 | console.log(`Selected Token: ${token.symbol}`); 112 | console.log(`Token Address: ${token.address}`); 113 | console.log(`Token Decimals: ${token.decimals}`); 114 | console.log(""); 115 | const confirmAnswer = await questionAsync(`Is this the correct token? (Y/N):`); 116 | if (confirmAnswer.toLowerCase() === 'y' || confirmAnswer.toLowerCase() === 'yes') { 117 | validTokenA = true; 118 | selectedTokenA = token.symbol; 119 | selectedAddressA = token.address; 120 | selectedDecimalsA = token.decimals; 121 | } 122 | } else { 123 | console.log(`Token ${answer} not found. Please Try Again.`) 124 | } 125 | } 126 | 127 | while (!validTokenB) { 128 | const answer = await questionAsync(`Please Enter The Second Token Symbol (Case Sensitive):`); 129 | const token = tokens.find((t) => t.symbol === answer); 130 | if (token) { 131 | console.log(`Selected Token: ${token.symbol}`); 132 | console.log(`Token Address: ${token.address}`); 133 | console.log(`Token Decimals: ${token.decimals}`); 134 | console.log(""); 135 | const confirmAnswer = await questionAsync(`Is this the correct token? (Y/N):`); 136 | if (confirmAnswer.toLowerCase() === 'y' || confirmAnswer.toLowerCase() === 'yes') { 137 | if (selectedAddressA === token.address) { 138 | console.log(`Tokens cannot be the same. Please try again.`); 139 | } else { 140 | validTokenB = true; 141 | selectedTokenB = token.symbol; 142 | selectedAddressB = token.address; 143 | selectedDecimalsB = token.decimals; 144 | } 145 | } 146 | } else { 147 | console.log(`Token ${answer} not found. Please Try Again.`) 148 | } 149 | } 150 | 151 | 152 | console.log(`Selected Tokens: ${selectedTokenA} and ${selectedTokenB}`); 153 | console.log(`Selected Addresses: ${selectedAddressA} and ${selectedAddressB}`); 154 | tokenAMintAddress = new PublicKey( selectedAddressA ); 155 | tokenBMintAddress = new PublicKey( selectedAddressB ); 156 | 157 | while (true) { 158 | const question = [ 159 | { 160 | type: "input", 161 | name: "gridSpread", 162 | message: "What Grid Spread in Percent?", 163 | default: "0.33", 164 | validate: function (value) { 165 | var valid = !isNaN(parseFloat(value)); 166 | return valid || "Please Enter A Number"; 167 | }, 168 | filter: Number 169 | }, 170 | 171 | { 172 | type: "input", 173 | name: "devFee", 174 | message: "What Percentage Donation Fee would you like to set? - Default is 0.01%", 175 | default: '0.01', 176 | validate: function (value) { 177 | var valid = !isNaN(parseFloat(value)); 178 | return valid || "Please Enter A Number" 179 | }, 180 | filter: Number 181 | } 182 | ]; 183 | 184 | let answer = await inquirer.prompt(question); 185 | 186 | gridSpread = answer.gridSpread; 187 | devFee = (answer.devFee * 100); 188 | //* 100 is to get bps for queries 189 | 190 | const question2 = 191 | [ 192 | { 193 | type: "input", 194 | name: "fixedSwapVal", 195 | message: `How much ${selectedTokenA} would you like to swap, per layer?`, 196 | validate: function (value) { 197 | var valid = !isNaN(parseFloat(value)); 198 | return valid || "Please Enter A Number"; 199 | }, 200 | filter: Number 201 | }, 202 | { 203 | type: "input", 204 | name: "slipTarget", 205 | message: "Acceptable Slippage %? - Default 0.15%", 206 | default: '0.15', 207 | validate: function (value) { 208 | var valid = !isNaN(parseFloat(value)); 209 | return valid || "Please Enter A Number"; 210 | }, 211 | filter: Number 212 | }, 213 | { 214 | type: "input", 215 | name: "refreshTime", 216 | message: "What Refresh Time would you like? (Seconds) - Default 5 Seconds", 217 | default: '5', 218 | validate: function (value) { 219 | var valid = !isNaN(parseFloat(value)); 220 | return valid || "Please Enter A Number"; 221 | }, 222 | filter: Number 223 | } 224 | ]; 225 | 226 | let answer2 = await inquirer.prompt(question2); 227 | 228 | fixedSwapVal = answer2.fixedSwapVal; 229 | slipTarget = answer2.slipTarget; 230 | refreshTime = answer2.refreshTime; 231 | 232 | if (selectedTokenA === "SOL") { 233 | devFeeA = solDevFee; 234 | } else if (selectedTokenA === "USDC") { 235 | devFeeA = usdcDevFee; 236 | } else if (selectedTokenA === "USDT") { 237 | devFeeA = usdtDevFee; 238 | } else if (selectedTokenA === "mSOL") { 239 | devFeeA = msolDevFee; 240 | } else if (selectedTokenA === "stSOL") { 241 | devFeeA = stsolDevFee; 242 | } else if (selectedTokenA === "ARB") { 243 | devFeeA = arbDevFee; 244 | } else { 245 | devFeeA = "None"; 246 | } 247 | if (selectedTokenB === "SOL") { 248 | devFeeB = solDevFee; 249 | } else if (selectedTokenB === "USDC") { 250 | devFeeB = usdcDevFee; 251 | } else if (selectedTokenB === "USDT") { 252 | devFeeB = usdtDevFee; 253 | } else if (selectedTokenB === "mSOL") { 254 | devFeeB = msolDevFee; 255 | } else if (selectedTokenB === "stSOL") { 256 | devFeeB = stsolDevFee; 257 | } else if (selectedTokenB === "ARB") { 258 | devFeeB = arbDevFee; 259 | } else { 260 | devFeeB = "None"; 261 | } 262 | 263 | console.clear(); 264 | 265 | console.log(`Selected Tokens: ${selectedTokenA} and ${selectedTokenB}`); 266 | console.log(`Selected Grid Spread: ${gridSpread}%`); 267 | //console.log(`Selected Developer Donation: ${devFee}%`); 268 | console.log(`Swapping ${fixedSwapVal} ${selectedTokenA} for ${selectedTokenB} per layer.`); 269 | console.log(`Slippage Target: ${slipTarget}%`) 270 | console.log(""); 271 | break; 272 | } 273 | refresh(selectedTokenA, selectedTokenB, start, selectedAddressA, selectedAddressB, wallet, tokenAMintAddress, tokenBMintAddress, selectedDecimalsA, selectedDecimalsB, devFee, devFeeA, devFeeB, currentPrice); 274 | setInterval(() => { refresh(selectedTokenA, selectedTokenB, start, selectedAddressA, selectedAddressB, wallet, tokenAMintAddress, tokenBMintAddress, selectedDecimalsA, selectedDecimalsB, devFee, devFeeA, devFeeB, currentPrice); }, refreshTime * 1000); 275 | } 276 | 277 | //Init Spread Calculation once and declare spreads 278 | console.clear(); 279 | var gridCalc = true; 280 | let usdCalcStartA, usdCalcStartB, usdCalcNowA, usdCalcNowB, usdCalcChange; 281 | let spreadUp, spreadDown, spreadIncrement; 282 | let tokenABalanceStart, tokenBBalanceStart, tokenABalanceNow, tokenBBalanceNow, accountBalUSDStart, accountBalUSDCurrent; 283 | let tokenABalanceStartSol, tokenBBalanceStartSol; 284 | let buyOrders, sellOrders; 285 | var currentPrice; 286 | var lastPrice; 287 | var direction; 288 | let userPercentageChange; 289 | let percentageChange; 290 | let tokenAStart; 291 | 292 | async function refresh(selectedTokenA, selectedTokenB, start, selectedAddressA, selectedAddressB, wallet, tokenAMintAddress, tokenBMintAddress, selectedDecimalsA, selectedDecimalsB, devFee, devFeeA, devFeeB, currentPrice) { 293 | const response = await fetch( 294 | `https://price.jup.ag/v4/price?ids=${selectedTokenA}&vsToken=${selectedTokenB}` 295 | ); 296 | if (response.ok) { 297 | const data = await response.json(); 298 | if (data.data[selectedTokenA]) { 299 | const tokens = new Tokens( 300 | data.data[selectedTokenA].mintSymbol, 301 | data.data[selectedTokenA].vsTokenSymbol, 302 | data.data[selectedTokenA].price 303 | ); 304 | 305 | const priceData = new PriceData(tokens); 306 | const priceResponse = new PriceResponse(priceData, data.timeTaken); 307 | const endTime = new Date(); 308 | const elapsedMilliseconds = endTime.getTime() - start.getTime(); 309 | const elapsedSeconds = Math.floor(elapsedMilliseconds / 1000); 310 | const elapsedMinutes = Math.floor(elapsedSeconds / 60); 311 | const elapsedHours = Math.floor(elapsedMinutes / 60); 312 | const elapsedDays = Math.floor(elapsedHours / 24); 313 | const seconds = elapsedSeconds % 60; 314 | const minutes = elapsedMinutes % 60; 315 | const hours = elapsedHours % 24; 316 | const timeString = `${elapsedDays} days, ${hours} hours, ${minutes} minutes, ${seconds} seconds`; 317 | 318 | console.clear(); 319 | console.log(`Gridbot Started at ${start.toLocaleString()}`); 320 | console.log(`Gridbot has been running for ${timeString}`); 321 | console.log(""); 322 | console.log("Settings:"); 323 | console.log(`Grid Width: ${gridSpread}%`); 324 | //console.log(`Developer Donation: ${devFee}%`); 325 | console.log(`Swapping ${fixedSwapVal}${selectedTokenA} per Grid`); 326 | console.log(`Maximum Slippage: ${slipTarget}%`); 327 | console.log(""); 328 | 329 | //Create grid values 330 | if (gridCalc) { 331 | spreadDown = priceResponse.data.selectedTokenA.price * (1 - (gridSpread / 100)); 332 | spreadUp = priceResponse.data.selectedTokenA.price * (1 + (gridSpread / 100)); 333 | spreadIncrement = (priceResponse.data.selectedTokenA.price - spreadDown); 334 | currentPrice = priceResponse.data.selectedTokenA.price; 335 | lastPrice = priceResponse.data.selectedTokenA.price; 336 | buyOrders = 0; 337 | sellOrders = 0; 338 | 339 | //Get Start Balances 340 | if (selectedTokenA === "SOL") { 341 | tokenABalanceStartSol = await connection.getBalance(wallet.publicKey); 342 | tokenABalanceStart = tokenABalanceStartSol / 1000000000; 343 | //console.log(`${selectedTokenA} Start Balance: ${tokenABalanceStart.toFixed(4)}`); 344 | } else { 345 | const tokenAAccounts = await connection.getParsedTokenAccountsByOwner(wallet.publicKey, { mint: tokenAMintAddress }); 346 | if (tokenAAccounts && tokenAAccounts.value.length > 0) { 347 | const tokenAAccountInfo = tokenAAccounts.value[0].account; 348 | const tokenAAccount = tokenAAccountInfo.data.parsed.info; 349 | tokenABalanceStart = tokenAAccount.tokenAmount.uiAmount; 350 | //console.log(`${selectedTokenA} Start Balance: ${tokenABalanceStart.toFixed(4)}`); 351 | } else { 352 | console.log(chalk.red(`No token accounts found for ${selectedTokenA} in wallet ${wallet.publicKey}`)); 353 | process.exit(1); 354 | } 355 | }; 356 | 357 | if (selectedTokenB === "SOL") { 358 | tokenBBalanceStartSol = await connection.getBalance(wallet.publicKey); 359 | tokenBBalanceStart = tokenBBalanceStartSol / 1000000000; 360 | //console.log(`${selectedTokenB} Start Balance: ${tokenBBalanceStart.toFixed(4)}`); 361 | } else { 362 | const tokenBAccounts = await connection.getParsedTokenAccountsByOwner(wallet.publicKey, { mint: tokenBMintAddress }); 363 | if (tokenBAccounts && tokenBAccounts.value.length > 0) { 364 | const tokenBAccountInfo = tokenBAccounts.value[0].account; 365 | const tokenBAccount = tokenBAccountInfo.data.parsed.info; 366 | tokenBBalanceStart = tokenBAccount.tokenAmount.uiAmount; 367 | //console.log(`${selectedTokenB} Start Balance: ${tokenBBalanceStart.toFixed(4)}`); 368 | } else { 369 | console.log(chalk.red(`No token accounts found for ${selectedTokenB} in wallet ${wallet.publicKey}`)); 370 | process.exit(1); 371 | } 372 | await fetch(`https://price.jup.ag/v4/price?ids=${selectedTokenA}`) 373 | .then(response => response.json()) 374 | .then(data => { 375 | usdCalcStartA = data.data[selectedTokenA].price; 376 | }) 377 | .catch(error => { 378 | // handle errors 379 | console.error(error); 380 | }); 381 | 382 | await fetch(`https://price.jup.ag/v4/price?ids=${selectedTokenB}`) 383 | .then(response => response.json()) 384 | .then(data => { 385 | usdCalcStartB = data.data[selectedTokenB].price; 386 | }) 387 | .catch(error => { 388 | // handle errors 389 | console.error(error); 390 | }); 391 | 392 | accountBalUSDStart = ((tokenABalanceStart.toFixed(selectedDecimalsA) * usdCalcStartA) + (tokenBBalanceStart.toFixed(selectedDecimalsB) * usdCalcStartB)); 393 | }; 394 | 395 | gridCalc = false; 396 | } 397 | 398 | console.log(`USD Value Start: ${accountBalUSDStart.toFixed(4)}`); 399 | console.log(`${selectedTokenA} Start Balance: ${tokenABalanceStart.toFixed(selectedDecimalsA)}`); 400 | console.log(`${selectedTokenB} Start Balance: ${tokenBBalanceStart.toFixed(selectedDecimalsB)}`); 401 | console.log(""); 402 | 403 | //Get current wallet data - Token A 404 | if (selectedTokenA === "SOL") { 405 | tokenABalanceNow = await connection.getBalance(wallet.publicKey) / 1000000000; 406 | console.log(`Current ${selectedTokenA} Balance: ${tokenABalanceNow.toFixed(selectedDecimalsA)}`); 407 | } else { 408 | const tokenAAccounts = await connection.getParsedTokenAccountsByOwner(wallet.publicKey, { mint: tokenAMintAddress }); 409 | const tokenAAccountInfo = tokenAAccounts && tokenAAccounts.value[0] && tokenAAccounts.value[0].account; 410 | const tokenAAccount = tokenAAccountInfo.data.parsed.info; 411 | tokenABalanceNow = tokenAAccount.tokenAmount.uiAmount; 412 | console.log(`Current ${selectedTokenA} Balance: ${tokenABalanceNow.toFixed(selectedDecimalsA)}`); 413 | } 414 | //Get current wallet data - Token B 415 | if (selectedTokenB === "SOL") { 416 | tokenBBalanceNow = await connection.getBalance(wallet.publicKey) / 1000000000; 417 | console.log(`Current ${selectedTokenB} Balance: ${tokenBBalanceNow.toFixed(selectedDecimalsB)}`); 418 | } else { 419 | const tokenBAccounts = await connection.getParsedTokenAccountsByOwner(wallet.publicKey, { mint: tokenBMintAddress }); 420 | const tokenBAccountInfo = tokenBAccounts && tokenBAccounts.value[0] && tokenBAccounts.value[0].account; 421 | const tokenBAccount = tokenBAccountInfo.data.parsed.info; 422 | tokenBBalanceNow = tokenBAccount.tokenAmount.uiAmount; 423 | console.log(`Current ${selectedTokenB} Balance: ${tokenBBalanceNow.toFixed(selectedDecimalsB)}`); 424 | } 425 | //get USD price for each asset 426 | //TO DO 427 | await fetch(`https://price.jup.ag/v4/price?ids=${selectedTokenA}`) 428 | .then(response => response.json()) 429 | .then(data => { 430 | usdCalcNowA = data.data[selectedTokenA].price; 431 | }) 432 | .catch(error => { 433 | // handle errors 434 | console.error(error); 435 | }); 436 | await fetch(`https://price.jup.ag/v4/price?ids=${selectedTokenB}`) 437 | .then(response => response.json()) 438 | .then(data => { 439 | usdCalcNowB = data.data[selectedTokenB].price; 440 | }) 441 | .catch(error => { 442 | // handle errors 443 | console.error(error); 444 | }); 445 | 446 | userPercentageChange = ((accountBalUSDCurrent - accountBalUSDStart) / accountBalUSDStart) * 100; 447 | percentageChange = ((usdCalcNowA - usdCalcStartA) / usdCalcStartA) * 100; 448 | accountBalUSDCurrent = ((tokenABalanceNow.toFixed(selectedDecimalsA) * usdCalcNowA) + (tokenBBalanceNow.toFixed(selectedDecimalsB) * usdCalcNowB)); 449 | console.log(`Current USD Value: ${accountBalUSDCurrent.toFixed(4)}`); 450 | usdCalcChange = accountBalUSDCurrent - accountBalUSDStart; 451 | console.log(`Current USD Profit: ${usdCalcChange.toFixed(4)}`); 452 | console.log(`Current Profit Percentage: ${userPercentageChange.toFixed(2)}`); 453 | console.log(`${selectedTokenA} percentage change since start: ${percentageChange.toFixed(2)}`); 454 | //Print Data 455 | console.log(""); 456 | console.log(`Buy Orders: ${buyOrders}`); 457 | console.log(`Sell Orders: ${sellOrders}`); 458 | //Monitor price to last price difference. 459 | currentPrice = priceResponse.data.selectedTokenA.price.toFixed(selectedDecimalsA); 460 | if (currentPrice > lastPrice) { direction = "Trending Up" }; 461 | if (currentPrice === lastPrice) { direction = "Trending Sideways" }; 462 | if (currentPrice < lastPrice) { direction = "Trending Down" }; 463 | console.log(direction); 464 | //Monitor current price and trend, compared to spread 465 | console.log(""); 466 | if (currentPrice >= spreadUp) { 467 | console.log("Crossed Above! - Create Sell Order"); 468 | await makeSellTransaction(selectedAddressA, selectedAddressB, slipTarget, selectedDecimalsA, devFeeB, devFee, fixedSwapVal); 469 | console.log("Shifting Layers Up"); 470 | //create new layers to monitor 471 | spreadUp = spreadUp + spreadIncrement; 472 | spreadDown = spreadDown + spreadIncrement; 473 | } 474 | if (currentPrice <= spreadDown) { 475 | console.log("Crossed Down! - Create Buy Order"); 476 | await makeBuyTransaction(selectedAddressA, selectedAddressB, slipTarget, selectedDecimalsB, devFeeA, devFee, fixedSwapVal, currentPrice); 477 | console.log("Shifting Layers Down"); 478 | //create new layers to monitor 479 | spreadUp = spreadUp - spreadIncrement; 480 | spreadDown = spreadDown - spreadIncrement; 481 | } 482 | 483 | /* ---- Do not uncomment this block. Used for forcing transactions, and causes a memory leak. 484 | const force = readline.createInterface({ 485 | input: process.stdin, 486 | output: process.stdout 487 | }); 488 | force.on('line', async function (input) { 489 | if (input === 's') { 490 | console.log('Sell order triggered manually'); 491 | await makeSellTransaction(selectedAddressA, selectedAddressB, slipTarget, selectedDecimalsA, devFeeB, devFee, fixedSwapVal); 492 | } 493 | if (input === 'b') { 494 | console.log('Buy order triggered manually'); 495 | await makeBuyTransaction(selectedAddressA, selectedAddressB, slipTarget, selectedDecimalsB, devFeeA, devFee, fixedSwapVal, currentPrice); 496 | } 497 | }); 498 | */ 499 | 500 | console.log(chalk.red(`Spread Up: ${spreadUp.toFixed(selectedDecimalsA)}`, "-- Sell")); 501 | console.log(`Price: ${priceResponse.data.selectedTokenA.price.toFixed(selectedDecimalsA)}`); 502 | console.log(chalk.green(`Spread Down: ${spreadDown.toFixed(selectedDecimalsA)}`, "-- Buy")); 503 | console.log(""); 504 | lastPrice = priceResponse.data.selectedTokenA.price.toFixed(selectedDecimalsA); 505 | } else { 506 | console.log(`Token ${selectedTokenA} not found`); 507 | selectedTokenB = null; 508 | main(); 509 | } 510 | } else { 511 | console.log(`Request failed with status code ${response.status}`) 512 | } 513 | }; 514 | 515 | async function makeSellTransaction(selectedAddressA, selectedAddressB, slipTarget, selectedDecimalsA, devFeeB, devFee, fixedSwapVal) { 516 | try { 517 | //console.log(selectedDecimalsA); 518 | var tokenALamports = Math.floor(fixedSwapVal * (10 ** selectedDecimalsA)); 519 | //console.log(tokenALamports); 520 | //var fixedSwapValLamports = fixedSwapVal * 1000000000; 521 | var slipBPS = Math.floor(slipTarget * 100); 522 | //console.log(slipBPS); 523 | 524 | let data = null; 525 | if (devFee != 0 && devFeeB != "None") { 526 | const response = await fetch('https://quote-api.jup.ag/v4/quote?inputMint=' + selectedAddressA + '&outputMint=' + selectedAddressB + '&amount=' + tokenALamports + '&slippageBps=' + slipBPS + '&feeBps='); 527 | //console.log(response); 528 | const jsonData = await response.json(); 529 | data = jsonData.data; 530 | } else { 531 | const response = await fetch('https://quote-api.jup.ag/v4/quote?inputMint=' + selectedAddressA + '&outputMint=' + selectedAddressB + '&amount=' + tokenALamports + '&slippageBps=' + slipBPS); 532 | //console.log(response); 533 | const jsonData = await response.json(); 534 | data = jsonData.data; 535 | } 536 | //console.log(data); 537 | const routes = data; 538 | 539 | const transactions = await ( 540 | await fetch('https://quote-api.jup.ag/v4/swap', { 541 | method: 'POST', 542 | headers: { 543 | 'Content-Type': 'application/json' 544 | }, 545 | body: JSON.stringify({ 546 | // route from /quote api 547 | route: routes[0], 548 | // user public key to be used for the swap 549 | userPublicKey: wallet.publicKey.toString(), 550 | wrapUnwrapSOL: true, 551 | feeAccount: devFeeB 552 | }) 553 | }) 554 | ).json(); 555 | const { swapTransaction } = transactions; 556 | // deserialize the transaction 557 | const swapTransactionBuf = Buffer.from(swapTransaction, 'base64'); 558 | var transaction = VersionedTransaction.deserialize(swapTransactionBuf); 559 | console.log("Making Sell Order!") 560 | // sign the transaction 561 | transaction.sign([wallet.payer]); 562 | // Execute the transaction 563 | const rawTransaction = transaction.serialize() 564 | const txid = await connection.sendRawTransaction(rawTransaction, { 565 | skipPreflight: false, 566 | maxRetries: 5 567 | }); 568 | await connection.confirmTransaction(txid); 569 | console.log(`https://solscan.io/tx/${txid}`); 570 | sellOrders++; 571 | } 572 | catch (error) { 573 | console.error(`Transaction error: ${error.message}`) 574 | } 575 | }; 576 | 577 | async function makeBuyTransaction(selectedAddressA, selectedAddressB, slipTarget, selectedDecimalsB, devFeeA, devFee, fixedSwapVal, currentPrice) { 578 | try { 579 | var tokenBLamports = Math.floor(fixedSwapVal * currentPrice * (10 ** selectedDecimalsB)) 580 | var slipBPS = Math.floor(slipTarget * 100); 581 | let data = null; 582 | if (devFee != 0 && devFeeA != "None") { 583 | const response = await fetch('https://quote-api.jup.ag/v4/quote?inputMint=' + selectedAddressB + '&outputMint=' + selectedAddressA + '&amount=' + tokenBLamports + '&slippageBps=' + slipBPS + '&feeBps=' + devFee); 584 | 585 | const jsonData = await response.json(); 586 | data = jsonData.data; 587 | } else { 588 | const response = await fetch('https://quote-api.jup.ag/v4/quote?inputMint=' + selectedAddressB + '&outputMint=' + selectedAddressA + '&amount=' + tokenBLamports + '&slippageBps=' + slipBPS); 589 | 590 | const jsonData = await response.json(); 591 | data = jsonData.data; 592 | } 593 | const routes = data; 594 | // get serialized transactions for the swap 595 | const transactions = await ( 596 | await fetch('https://quote-api.jup.ag/v4/swap', { 597 | method: 'POST', 598 | headers: { 599 | 'Content-Type': 'application/json' 600 | }, 601 | body: JSON.stringify({ 602 | // route from /quote api 603 | route: routes[0], 604 | // user public key to be used for the swap 605 | userPublicKey: wallet.publicKey.toString(), 606 | wrapUnwrapSOL: true, 607 | feeAccount: devFeeA 608 | }) 609 | }) 610 | ).json(); 611 | 612 | const { swapTransaction } = transactions; 613 | // deserialize the transaction 614 | const swapTransactionBuf = Buffer.from(swapTransaction, 'base64'); 615 | var transaction = VersionedTransaction.deserialize(swapTransactionBuf); 616 | console.log("Making Buy Order!"); 617 | // sign the transaction 618 | transaction.sign([wallet.payer]); 619 | // Execute the transaction 620 | const rawTransaction = transaction.serialize() 621 | const txid = await connection.sendRawTransaction(rawTransaction, { 622 | skipPreflight: false, 623 | maxRetries: 5 624 | }); 625 | await connection.confirmTransaction(txid); 626 | console.log(`https://solscan.io/tx/${txid}`); 627 | buyOrders++; 628 | } catch (error) { 629 | console.error(`Transaction error: ${error.message}`) 630 | } 631 | }; 632 | main(); 633 | -------------------------------------------------------------------------------- /install.bat: -------------------------------------------------------------------------------- 1 | echo PRIVATE_KEY= >> .env 2 | echo RPC_ENDPOINT= >> .env 3 | npm install -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "grid-node-js", 3 | "version": "0.0.0", 4 | "description": "Solana Grid Bot using Jupiter DEX Aggregator", 5 | "main": "gridbot.js", 6 | "type": "module", 7 | "author": { 8 | "name": "" 9 | }, 10 | "devDependencies": { 11 | "eslint": "^8.38.0" 12 | }, 13 | "eslintConfig": {}, 14 | "dependencies": { 15 | "@jup-ag/core": "^4.0.0-beta.16", 16 | "@project-serum/serum": "^0.13.65", 17 | "@solana/web3.js": "^1.75.0", 18 | "axios": "^1.3.6", 19 | "bs58": "^5.0.0", 20 | "csv-parser": "^3.0.0", 21 | "dotenv": "^16.0.3", 22 | "fs": "^0.0.1-security", 23 | "inquirer": "^9.1.5", 24 | "jsbi": "^4.3.0", 25 | "line-reader": "^0.4.0", 26 | "node-fetch": "^3.3.1", 27 | "npm-install-all": "^1.1.21", 28 | "readline": "^1.3.0", 29 | "readline-sync": "^1.4.10" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tokens.txt: -------------------------------------------------------------------------------- 1 | [{"symbol":"USDC","address":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","decimals":6},{"symbol":"USDT","address":"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB","decimals":6},{"symbol":"PAI","address":"Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS","decimals":6},{"symbol":"USDH","address":"USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX","decimals":6},{"symbol":"USDCet","address":"A9mUU4qviSctJVPJdBJWkb28deg915LYJKrzQ19ji3FM","decimals":6},{"symbol":"USDTet","address":"Dn4noZ5jgGfkntzcQSUZ8czkreiZ1ForXYoV2H8Dm7S1","decimals":6},{"symbol":"DAI","address":"EjmyN6qEC1Tf1JxiG1ae7UTJhUxSwk1TCWNWqxWV4J6o","decimals":8},{"symbol":"abBUSD","address":"6nuaX3ogrr2CaoAPjtaKHAoBNWok32BMcRozuf32s2QF","decimals":9},{"symbol":"abUSDC","address":"8XSsNvaKU9FDhYWAv7Yc7qSNwuJSzVrXBNEk7AFiWF69","decimals":9},{"symbol":"abUSDT","address":"E77cpQ4VncGmcAXX16LHFFzNBEBb2U7Ar7LBmZNfCgwL","decimals":9},{"symbol":"BUSDbs","address":"5RpUwQ8wtdPCZHhu6MERp2RGrpobsbZ6MH5dDHkUjs2","decimals":8},{"symbol":"USDCbs","address":"FCqfQSujuPxy6V42UvafBhsysWtEq1vhjfMN1PUbgaxA","decimals":8},{"symbol":"USDTbs","address":"8qJSyQprMC57TWKaYEmetUR3UUiTP2M3hXdcvFhkZdmv","decimals":8},{"symbol":"stSOL","address":"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj","decimals":9},{"symbol":"SOL","address":"So11111111111111111111111111111111111111112","decimals":9},{"symbol":"apUSDC","address":"eqKJTf1Do4MDPyKisMYqVaUFpkEFAs3riGF3ceDH2Ca","decimals":6},{"symbol":"aeUSDC","address":"DdFPRnccQqLD4zCHrBqdY95D6hvw6PLWp9DEXj1fLCL9","decimals":9},{"symbol":"aaUSDC","address":"8Yv9Jz4z7BUHP68dz8E8m3tMe6NKgpMUKn8KVqrPA6Fr","decimals":9},{"symbol":"USN","address":"PUhuAtMHsKavMTwZsLaDeKy2jb7ciETHJP7rhbKLJGY","decimals":9},{"symbol":"acUSD","address":"EwxNF8g9UfmsJVcZFTpL9Hx5MCkoQFoJi6XNWzKf1j8e","decimals":9},{"symbol":"afUSDC","address":"Grk6b4UMRWkgyq4Y6S1BnNRF4hRgtnMFp7Sorkv6Ez4u","decimals":9},{"symbol":"aaUSDT","address":"FwEHs3kJEdMa2qZHv7SgzCiFXUQPEycEXksfBkwmS8gj","decimals":9},{"symbol":"aeUSDT","address":"Bn113WT6rbdgwrm12UJtnmNqGqZjY4it2WoUQuQopFVn","decimals":9},{"symbol":"apUSDT","address":"DNhZkUaxHXYvpxZ7LNnHtss8sQgdAfd1ZYS1fB7LKWUZ","decimals":6},{"symbol":"mSOL","address":"mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So","decimals":9},{"symbol":"wUST_v1","address":"CXLBjMMcwkc17GfJtBos6rQCo1ypeH6eDbB82Kby4MRm","decimals":9},{"symbol":"fUSD","address":"B7mXkkZgn7abwz1A3HnKkb18Y6y18WcbeSkh1DuLMkee","decimals":8},{"symbol":"UST","address":"9vMJfxuKxXBoEa7rM12mYLMwTacLMLDJqHozw96WQL8i","decimals":6},{"symbol":"pSOL","address":"9EaLkQrbjmbbuZG9Wdpo8qfNUEjHATJFSycEmw6f1rGX","decimals":9},{"symbol":"UXD","address":"7kbnvuGBxxj8AG9qp8Scn56muWGaRaFqxg1FsRp3PaFT","decimals":6},{"symbol":"atUST","address":"A96PoNcxa9LMxcF9HhKAfA1p3M1dGbubPMWf19gHAkgJ","decimals":6},{"symbol":"USDCav","address":"FHfba3ov5P3RjaiLVgh8FTv4oirxQDoVXuoUUDvHuXax","decimals":6},{"symbol":"USDTeav","address":"B2wfeYz5VtBnQVrX4M8F6FeDrprVrzKPws5qg1in8bzR","decimals":6},{"symbol":"USDTav","address":"Kz1csQA91WUGcQ2TB3o5kdGmWmMGp8eJcDEyHzNDVCX","decimals":6},{"symbol":"SAMO","address":"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU","decimals":9},{"symbol":"soETH","address":"2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk","decimals":6},{"symbol":"soBTC","address":"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E","decimals":6},{"symbol":"RAY","address":"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R","decimals":6},{"symbol":"SRM","address":"SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt","decimals":6},{"symbol":"soFTT","address":"AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3","decimals":6},{"symbol":"KIN","address":"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6","decimals":5},{"symbol":"ROPE","address":"8PMHT4swUMtBzgHnh5U564N5sjPSiUz2cjEQzFnnP1Fo","decimals":9},{"symbol":"STEP","address":"StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT","decimals":9},{"symbol":"OXY","address":"z3dn17yLaGMKffVogeFHQ9zWVcXgqgf3PQnDsNs2g6M","decimals":6},{"symbol":"MER","address":"MERt85fc5boKw3BW1eYdxonEuJNvXbiMbs6hvheau5K","decimals":6},{"symbol":"FIDA","address":"EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp","decimals":6},{"symbol":"MAPS","address":"MAPS41MDahZ9QdKXhVa4dWB9RuyfV4XqhyAZ8XcYepb","decimals":6},{"symbol":"COPE","address":"8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh","decimals":6},{"symbol":"ORCA","address":"orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE","decimals":6},{"symbol":"LIQ","address":"4wjPQJ6PrkC4dHhYghwJzGBVP78DkBzA2U3kHoFNBuhj","decimals":6},{"symbol":"SNY","address":"4dmKkXNHdgYsXqBHCuMikNQWwVomZURhYvkkX5c4pQ7y","decimals":6},{"symbol":"SLRS","address":"SLRSSpSLUTP7okbCUBYStWCo1vUgyt775faPqz8HUMr","decimals":6},{"symbol":"PORT","address":"PoRTjZMPXb9T7dyU7tpLEZRQj7e6ssfAE62j2oQuc6y","decimals":6},{"symbol":"SBR","address":"Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1","decimals":6},{"symbol":"scnSOL","address":"5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm","decimals":9},{"symbol":"ATLAS","address":"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx","decimals":8},{"symbol":"POLIS","address":"poLisWXnNRwC6oBu1vHiuKQzFjGL4XDSu4g9qjz9qVk","decimals":8},{"symbol":"BOP","address":"BLwTnYKqf7u4qjgZrrsKeNs2EzWkMLqVCu6j8iHyrNA3","decimals":8},{"symbol":"NINJA","address":"FgX1WD9WzMU3yLwXaFSarPfkgzjLb2DZCqmkx9ExpuvJ","decimals":6},{"symbol":"SLIM","address":"xxxxa1sKNGwFtw2kFn8XauW9xq8hBZ5kVtcSesTT9fW","decimals":6},{"symbol":"wHAPI","address":"6VNKqgz9hk7zRShTFdg5AnkfKwZUcojzwAkzxSH3bnUm","decimals":9},{"symbol":"SUNNY","address":"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag","decimals":6},{"symbol":"GRAPE","address":"8upjSpvjcdpuzhfR1zriwg5NXkwDruejqNE9WNbPRtyA","decimals":6},{"symbol":"ABR","address":"a11bdAAuV8iB2fu7X6AxAvDTo1QZ8FXB3kk5eecdasp","decimals":9},{"symbol":"KURO","address":"2Kc38rfQ49DFaKHQaWbijkE7fcymUMLY5guUiUsDmFfn","decimals":6},{"symbol":"MEDIA","address":"ETAtLmCmsoiEEKfNrHKJ2kYy3MoABhU6NQvpSfij5tDs","decimals":6},{"symbol":"TULIP","address":"TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs","decimals":6},{"symbol":"MNGO","address":"MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac","decimals":6},{"symbol":"wstETH","address":"ZScHuTtqZukUrtZS43teTKGs2VqkKL8k4QCouR2n6Uo","decimals":8},{"symbol":"SYP","address":"FnKE9n6aGjQoNWRBZXy4RW6LZVao7qwBonUbiD7edUmZ","decimals":9},{"symbol":"LDO","address":"HZRCwxP2Vq9PCpPXooayhJ2bxTpo5xfpQrwB1svh332p","decimals":8},{"symbol":"ETH","address":"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs","decimals":8},{"symbol":"MNDE","address":"MNDEFzGvMt87ueuHvVU9VcTqsAP5b3fTGPsHuuPA5ey","decimals":9},{"symbol":"WAG","address":"5tN42n9vMi6ubp67Uy4NnmM5DMZYN8aS8GeB3bEDHr6E","decimals":9},{"symbol":"IVN","address":"iVNcrNE9BRZBC9Aqf753iZiZfbszeAVUoikgT9yvr2a","decimals":6},{"symbol":"LARIX","address":"Lrxqnh6ZHKbGy3dcrCED43nsoLkM1LTzU2jRfWe8qUC","decimals":6},{"symbol":"PRT","address":"PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44","decimals":6},{"symbol":"JET","address":"JET6zMJWkCN9tpRT2v2jfAmm5VnQFDpUBCyaKojmGtz","decimals":9},{"symbol":"AURY","address":"AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP","decimals":9},{"symbol":"AVAX","address":"AUrMpCDYYcPuHhyNX8gEEqbmDPFUpBpHrNW3vPeCFn5Z","decimals":9},{"symbol":"SLND","address":"SLNDpmoWTVADgEdndyvWzroNL7zSi1dF9PC3xHGtPwp","decimals":6},{"symbol":"GOFX","address":"GFX1ZjR2P15tmrSwow6FjyDYcEkoFb4p4gJCpLBjaxHD","decimals":9},{"symbol":"WOOF","address":"9nEqaUcb16sQ3Tn1psbkWqyhPdLmfHWjKGymREjsAgTE","decimals":6},{"symbol":"SDOGE","address":"8ymi88q5DtmdNTn2sPRNFkvMkszMHuLJ1e3RVdWjPa3s","decimals":0},{"symbol":"CATO","address":"5p2zjqCd1WJzAVgcEnjhb9zWDU7b9XVhFhx4usiyN7jB","decimals":9},{"symbol":"OOGI","address":"H7Qc9APCWWGDVxGD5fJHmLTmdEgT9GFatAKFNg6sHh8A","decimals":9},{"symbol":"SONAR","address":"sonarX4VtVkQemriJeLm6CKeW3GDMyiBnnAEMw1MRAE","decimals":9},{"symbol":"APT","address":"APTtJyaRX5yGTsJU522N4VYWg3vCvSb65eam5GrPT5Rt","decimals":6},{"symbol":"DFL","address":"DFL1zNkaGPWm1BqAVqRjCZvHmwTFrEaJtbzJWgseoNJh","decimals":9},{"symbol":"FRKT","address":"ErGB9xa24Szxbk1M28u2Tx8rKPqzL6BroNkkzk5rG4zj","decimals":8},{"symbol":"TTT","address":"FNFKRV3V8DtA3gVJN6UshMiLGYA8izxFwkNWmJbFjmRj","decimals":6},{"symbol":"UPS","address":"EwJN2GqUGXXzYmoAciwuABtorHczTA5LqbukKXV1viH7","decimals":6},{"symbol":"FANT","address":"FANTafPFBAt93BNJVpdu25pGPmca3RfwdsDsRrT3LX1r","decimals":6},{"symbol":"BLOCK","address":"NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk","decimals":6},{"symbol":"RUN","address":"6F9XriABHfWhit6zmMUYAQBSy6XK5VF1cHXuW5LDpRtC","decimals":9},{"symbol":"UXP","address":"UXPhBoR3qG4UCiGNJfV7MqhHyFqKN68g45GoYvAeL2M","decimals":9},{"symbol":"CHICKS","address":"cxxShYRVcepDudXhe7U62QHvw8uBJoKFifmzggGKVC2","decimals":9},{"symbol":"1SOL","address":"4ThReWAbAVZjNVgs5Ui9Pk3cZ5TYaD9u6Y89fp6EFzoF","decimals":8},{"symbol":"WMP","address":"BygDd5LURoqztD3xETc99WCxLUbTi6WYSht9XiBgZ4HW","decimals":9},{"symbol":"UNQ","address":"UNQtEecZ5Zb4gSSVHCAWUQEoNnSVEbWiKCi1v9kdUJJ","decimals":6},{"symbol":"BASIS","address":"Basis9oJw9j8cw53oMV7iqsgo6ihi9ALw4QR31rcjUJa","decimals":6},{"symbol":"GST","address":"AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB","decimals":9},{"symbol":"MEAN","address":"MEANeD3XDdUmNMsRGjASkSWdC8prLYsoRJ61pPeHctD","decimals":6},{"symbol":"AART","address":"F3nefJBcejYbtdREjui1T9DPh5dBgpkKq7u2GAAMXs5B","decimals":6},{"symbol":"SHDW","address":"SHDWyBxihqiCj6YekG2GUr7wqKLeLAMK1gHZck9pL6y","decimals":9},{"symbol":"SCY","address":"SCYfrGCw8aDiqdgcpdGjV6jp4UVVQLuphxTDLNWu36f","decimals":9},{"symbol":"SLC","address":"METAmTMXwdb8gYzyCPfXXFmZZw4rUsXX58PNsDg7zjL","decimals":6},{"symbol":"LUNA","address":"F6v4wfAdJB8D8p77bMXZgYt8TDKsYxLYxH5AFhUkYx9W","decimals":6},{"symbol":"JSOL","address":"7Q2afV64in6N6SeZsAAB81TJzwDoD6zpqmHkzi9Dcavn","decimals":9},{"symbol":"daoSOL","address":"GEJpt3Wjmr628FqXxTgxMce1pLntcPV4uFi8ksxMyPQh","decimals":9},{"symbol":"GENE","address":"GENEtH5amGSi8kHAtQoezp1XEXwZJ8vcuePYnXdKrMYz","decimals":9},{"symbol":"CMFI","address":"5Wsd311hY8NXQhkt9cWHwTnqafk7BGEbLu8Py3DSnPAr","decimals":6},{"symbol":"CELO","address":"GNCjk3FmPPgZTkbQRSxr6nCvLtYMbXKMnRxg8BgJs62e","decimals":9},{"symbol":"FTM","address":"EsPKhGTMf3bGoy4Qm7pCv3UCcWqAmbC1UGHBTDxRjjD4","decimals":9},{"symbol":"HBB","address":"HBB111SCo9jkCejsZfz8Ec8nH7T6THF8KEKSnvwT6XK6","decimals":6},{"symbol":"SB","address":"SuperbZyz7TsSdSoFAZ6RYHfAWe9NmjXBLVQpS8hqdx","decimals":6},{"symbol":"SEEDED","address":"seedEDBqu63tJ7PFqvcbwvThrYUkQeqT6NLf81kLibs","decimals":9},{"symbol":"AUDIO","address":"9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM","decimals":8},{"symbol":"MMA","address":"MMAx26JtJgSWv6yH48nEHCGZcVvRbf9Lt9ALa7jSipe","decimals":9},{"symbol":"PUFF","address":"G9tt98aYSznRk7jWsfuz9FnTdokxS6Brohdo9hSmjTRB","decimals":9},{"symbol":"SAO","address":"2HeykdKjzHKGm2LKHw8pDYwjKPiFEoXAz74dirhUgQvq","decimals":9},{"symbol":"sRLY","address":"RLYv2ubRMDLcGG2UyvPmnPmkfuQTsMbg4Jtygc7dmnq","decimals":9},{"symbol":"ZBC","address":"zebeczgi5fSEtbpfQKVZKCJ3WgYXxjkMUkNNx7fLKAF","decimals":9},{"symbol":"GMT","address":"7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx","decimals":9},{"symbol":"NOVA","address":"BDrL8huis6S5tpmozaAaT5zhE5A7ZBAB2jMMvpKEeF8A","decimals":9},{"symbol":"TAKI","address":"Taki7fi3Zicv7Du1xNAWLaf6mRK7ikdn77HeGzgwvo4","decimals":9},{"symbol":"ZIG","address":"ANqY8h3sRSwkC29FvGJenAh7VGRABVVx7Ls6Mq4BuGT","decimals":9},{"symbol":"sRLY","address":"sRLY3migNrkC1HLgqotpvi66qGkdNedqPZ9TJpAQhyh","decimals":9},{"symbol":"SNS","address":"SNSNkV9zfG5ZKWQs6x4hxvBRV6s8SqMfSGCtECDvdMd","decimals":9},{"symbol":"RLB","address":"RLBxxFkseAZ4RgJH3Sqn8jXxhmGoz9jWxDNJMh8pL7a","decimals":2},{"symbol":"depKI","address":"kiTkNc7nYAu8dLKjQFYPx3BqdzwagZGBUrcb7d4nbN5","decimals":9},{"symbol":"ISC","address":"J9BcrQfX4p9D1bvLzRNCbMDv8f44a9LFdeqNE4Yk2WMD","decimals":6},{"symbol":"TRTLS","address":"q4bpaRKw3fJB1AJBeeBaKv3TjYzWsmntLgnSB275YUb","decimals":9},{"symbol":"HADES","address":"BWXrrYFhT7bMHmNBFoQFWdsSgA3yXoAnMhDK6Fn1eSEn","decimals":9},{"symbol":"MRC","address":"5HsZR8eG7QpQcN8Mnp8oFdENRkJMP9ZkcKhPSCKTJSWh","decimals":9},{"symbol":"WLKN","address":"EcQCUYv57C4V6RoPxkVUiDwtX1SP8y8FP5AEToYL8Az","decimals":9},{"symbol":"HNT","address":"hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux","decimals":8},{"symbol":"EPCT","address":"CvB1ztJvpYQPvdPBePtRzjL4aQidjydtUz61NWgcgQtP","decimals":6},{"symbol":"FISHY","address":"Fishy64jCaa3ooqXw7BHtKvYD8BTkSyAPh6RNE3xZpcN","decimals":6},{"symbol":"JELLY","address":"9WMwGcY6TcbSfy9XPpQymY3qNEsvEaYL3wivdwPG2fpp","decimals":6},{"symbol":"JitoSOL","address":"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn","decimals":9},{"symbol":"svtDGOD","address":"DCgRa2RR7fCsD63M3NgHnoQedMtwH1jJCwZYXQqk9x3v","decimals":8},{"symbol":"IOT","address":"iotEVVZLEywoTn1QdwNPddxPWszn3zFhEot3MfL9fns","decimals":6},{"symbol":"laineSOL","address":"LAinEtNLgpmCP9Rvsf5Hn8W6EhNiKLZQti1xfWMLy6X","decimals":9},{"symbol":"GUAC","address":"AZsHEMXd36Bj1EMNXhowJajpUXzrKcK57wW4ZGXVa7yR","decimals":5},{"symbol":"bSOL","address":"bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1","decimals":9},{"symbol":"NANA","address":"HxRELUQfvvjToVbacjr9YECdfQMUqGgPYB68jVDYxkbr","decimals":9},{"symbol":"DUAL","address":"DUALa4FC2yREwZ59PHeu1un4wis36vHRv5hWVBmzykCJ","decimals":6},{"symbol":"FTR","address":"HEhMLvpSdPviukafKwVN8BnBUTamirptsQ6Wxo5Cyv8s","decimals":9},{"symbol":"FORGE","address":"FoRGERiW7odcCBGU1bztZi16osPBHjxharvDathL5eds","decimals":9},{"symbol":"HONEY","address":"4vMsoUT2BWatFweudnQM1xedRLfJgJ7hswhcpz4xgBTy","decimals":9},{"symbol":"ARB","address":"9tzZzEHsKnwFL1A3DyFJwj36KnZj3gZ7g4srWp9YTEoh","decimals":6},{"symbol":"Bonk","address":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","decimals":5},{"symbol":"PHY","address":"EswgBj2hZKdgovX2ihWSUDnuBg9VNbGmSGoH5yjNsPRa","decimals":9},{"symbol":"CAVE","address":"4SZjjNABoqhbd4hnapbvoEPEqT8mnNkfbEoAwALf1V8t","decimals":6},{"symbol":"SUITE","address":"4h41QKUkQPd2pCAFXNNgZUyGUxQ6E7fMexaZZHziCvhh","decimals":6},{"symbol":"AVAX","address":"KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE","decimals":8},{"symbol":"WBTC","address":"3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh","decimals":8},{"symbol":"renBTC","address":"CDJWUqTcYTVAKXAVXoQZFes5JUFc7owSeq7eMQcDSbo5","decimals":8},{"symbol":"MBS","address":"Fm9rHUTF5v3hwMLbStjZXqNBBoZyGriQaFM6sTFz3K8A","decimals":6},{"symbol":"SVT","address":"svtMpL5eQzdmB3uqK9NXaQkq8prGZoKQFNVJghdWCkV","decimals":6},{"symbol":"JFI","address":"GePFQaZKHcWE5vpxHfviQtH5jgxokSs51Y5Q4zgBiMDs","decimals":9},{"symbol":"GP","address":"31k88G5Mq7ptbRDf3AM13HAq6wRQHXHikR8hik7wPygk","decimals":9},{"symbol":"LMDA","address":"LMDAmLNduiDmSiMxgae1gW7ubArfEGdAfTpKohqE5gn","decimals":6},{"symbol":"FUM","address":"EZF2sPJRe26e8iyXaCrmEefrGVBkqqNGv9UPGG9EnTQz","decimals":9},{"symbol":"HXRO","address":"HxhWkVpk5NS4Ltg5nij2G671CKXFRKPK8vy271Ub4uEK","decimals":8},{"symbol":"KI","address":"kiGenopAScF8VF31Zbtx2Hg8qA5ArGqvnVtXb83sotc","decimals":9},{"symbol":"PRISM","address":"PRSMNsEPqhGVCH1TtWiJqPjJyh2cKrLostPZTNy1o5x","decimals":6},{"symbol":"USH","address":"9iLH8T7zoWhY7sBmj1WK9ENbWdS1nL8n9wAxaeRitTa6","decimals":9},{"symbol":"MOBILE","address":"mb1eu7TzEc71KxDpsmsKoucSSuuoGLv1drys1oP2jh6","decimals":6},{"symbol":"CHEEMS","address":"3FoUAsGDbvTD6YZ4wVKJgTB76onJUKz7GPEBNiR5b8wc","decimals":4},{"symbol":"DUST","address":"DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ","decimals":9},{"symbol":"SOLAPE","address":"GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN","decimals":9},{"symbol":"MATICpo","address":"Gz7VkD4MacbEB6yC5XD3HcumEiYx2EtDYYrfikGsvopG","decimals":8},{"symbol":"SLCL","address":"SLCLww7nc1PD2gQPQdGayHviVVcpMthnqUz2iWKhNQV","decimals":9},{"symbol":"BAT","address":"EPeUFDgHRxs9xxEPVaL6kfGQvCon7jmAWKVUHuux1Tpz","decimals":8},{"symbol":"$HONEY","address":"HonyeYAaTPgKUgQpayL914P6VAqbQZPrbkGMETZvW4iN","decimals":6},{"symbol":"RESTACK","address":"48ntzCLdm9apLbZ8JV5b2s3teMZ1ij1XqokJiqiRYmb3","decimals":9},{"symbol":"cgntSOL","address":"CgnTSoL3DgY9SFHxcLj6CgCgKKoTBr6tp4CPAEWy25DE","decimals":9},{"symbol":"KING","address":"9noXzpXnkyEcKF3AeXqUHTdR59V5uvrRBUZ9bwfQwxeq","decimals":9},{"symbol":"BOO","address":"FfpyoV365c7iR8QQg5NHGCXQfahbqzY67B3wpzXkiLXr","decimals":6},{"symbol":"HOLY","address":"HezGWsxSVMqEZy7HJf7TtXzQRLiDruYsheYWqoUVnWQo","decimals":9},{"symbol":"DXL","address":"GsNzxJfFn6zQdJGeYsupJWzUAm57Ba7335mfhWvFiE9Z","decimals":6},{"symbol":"CHB","address":"YtfMZ4jg2ubdz4GasY86iuGjHdo5rCPJnFqgSf8gxAz","decimals":9},{"symbol":"KLGT","address":"519W6ZZnduudeo6tp1YMgeWiNFeoq4kTVS4uMZggKE5r","decimals":9},{"symbol":"CWAR","address":"HfYFjMKNZygfMC8LsQ8LtpPsPxEJoXJx4M6tqi75Hajo","decimals":9},{"symbol":"TWT","address":"HZNpqL7RT9gxf9eWoWsWzC5DfjzQ41XTQgEA7p3VzaaD","decimals":8},{"symbol":"DIO","address":"BiDB55p4G3n1fGhwKFpxsokBMqgctL4qnZpDH1bVQxMD","decimals":9},{"symbol":"CRYY","address":"56tNQ29XBrbovm5K5SThuQatjCy92w2wKUaUeQ8WCD9g","decimals":9},{"symbol":"SOLPAD","address":"GfJ3Vq2eSTYf1hJP6kKLE9RT6u7jF9gNszJhZwo5VPZp","decimals":9},{"symbol":"SAND","address":"49c7WuCZkQgc3M4qH8WuEUNXfgwupZf1xqWkDQ7gjRGt","decimals":8},{"symbol":"GLTR","address":"GHAhTrgtYW7jRkojQQWPGkMbmG5jGK25QBu6FSj5tvZ5","decimals":9},{"symbol":"VROOM","address":"KARTdF5K68Q2nGppizG3DeCzp7AhHy6YXf2uTQjBSQx","decimals":0},{"symbol":"HAWK","address":"BKipkearSqAUdNKa1WDstvcMjoPsSKBuNyvKDQDDu9WE","decimals":6},{"symbol":"TAPES","address":"DxRbkqB2cEqa4rnXJwq4z3GuksgpL2U27PWBw8QBcNv2","decimals":2},{"symbol":"GOLDY","address":"GoLDYyyiVeXnVf9qgoK712N5esm1cCbHEK9aNJFx47Sx","decimals":9},{"symbol":"IP3","address":"3uejHm24sWmniGA5m4j4S1DVuGqzYBR5DJpevND4mivq","decimals":9},{"symbol":"DOGGO","address":"Doggoyb1uHFJGFdHhJf8FKEBUMv58qo98CisWgeD7Ftk","decimals":5},{"symbol":"ROL","address":"RoLLn5qBN4juQ1D2KFpJyAcC7Deo3cYotXi4qDooHLU","decimals":6},{"symbol":"MIMO","address":"9TE7ebz1dsFo1uQ2T4oYAKSm39Y6fWuHrd6Uk6XaiD16","decimals":9},{"symbol":"LRA","address":"FMJotGUW16AzexRD3vXJQ94AL71cwrhtFaCTGtK1QHXm","decimals":9},{"symbol":"BBI","address":"GRsoqmhsS7fCLpEqqE7oRM92ag3WVy8VbJAi6KfWSeHS","decimals":2},{"symbol":"ROLL","address":"76aYNHbDfHemxSS7vmh6eJGfjodK8m7srCxiYCrKxzY1","decimals":6},{"symbol":"DOGELON","address":"HYoGYzMcbYq3tAvpg15d8VFYVHw6jWEVuGgpNTrG8hps","decimals":4},{"symbol":"RING","address":"7SEsxCsiNiYqCpYG16wx4c9u2YGLZphnEFTAU9ENAizD","decimals":9},{"symbol":"WAVES","address":"4uRn7vxRPWYP4HuAa4UNXwEPLRL8oQ71YByMhr6yBnL4","decimals":2},{"symbol":"SIXY","address":"GKNr1Gwf7AMvEMEyMzBoEALVBvCpKJue9Lzn9HfrYYhg","decimals":9},{"symbol":"GMFC","address":"42Y3CgJQLnHjdScYMu8VS4TbeZMUNVdBMKYbf7hz7aum","decimals":6},{"symbol":"SANTA","address":"EctmRn2jMAdTDvQdG7mxadyiTvhGZiGYNrt9PWe6zioG","decimals":9},{"symbol":"AERA","address":"BjZ5Hazjyp9LrzfapAHYZuceWm6zJZDqMH1QPCWtsouq","decimals":9},{"symbol":"SIX","address":"HWSqJdwemji7TNiKQPudUj86LXyF3vGAtWm5ePk5KzgD","decimals":9},{"symbol":"SOLPAY","address":"zwqe1Nd4eiWyCcqdo4FgCq7LYZHdSeGKKudv6RwiAEn","decimals":9},{"symbol":"CHI","address":"ARg9wfeLN4qZTxgYTYeuGtGFMmYdk5zFhBuSnTfXXUvb","decimals":9},{"symbol":"PERP","address":"EBQ6gWBQNxA2zB4twR5GWP6CkeAhqZZZeDgeP7BTtdM3","decimals":2},{"symbol":"DGE","address":"AAXng5czWLNtTXHdWEn9Ef7kXMXEaraHj2JQKo7ZoLux","decimals":9},{"symbol":"AFSeX","address":"FbUy1NubUtCfoif7TAr6wAtJVJFapYUVWxRGmUwvKNyS","decimals":2},{"symbol":"RIN","address":"E5ndSkaB17Dm7CsD22dvcjfrYSDLCxFcMd6z8ddCk5wp","decimals":9},{"symbol":"SBNK","address":"uNrix3Q5g51MCEUrYBUEBDdQ96RQDQspQJJnnQ4T3Vc","decimals":6},{"symbol":"rZOOM","address":"Vjq9T5xmqRzLXQRyvigzyZzpHCGCsbYAJ7afLVuF8j9","decimals":9},{"symbol":"MDF","address":"ALQ9KMWjFmxVbew3vMkJj3ypbAKuorSgGst6svCHEe2z","decimals":6},{"symbol":"PEEL","address":"GVsdtSe3E2fQoP3TzNT2M1VUchJ7sBmDBuvBZmGDGvmB","decimals":9},{"symbol":"BIJU","address":"4onzDs1X6ubktirorHB8iYbve3K4bBtkGpYehqzGm9So","decimals":9},{"symbol":"DGLN","address":"E6UU5M1z4CvSAAF99d9wRoXsasWMEXsvHrz3JQRXtm2X","decimals":9},{"symbol":"SBONK","address":"H1G6sZ1WDoMmMCFqBKAbg9gkQPCo1sKQtaJWz9dHmqZr","decimals":9},{"symbol":"BTL","address":"aYZPYgohjK6LYM8o1v6pnr3ZinhuRzSHd6TRDVDUBkK","decimals":8},{"symbol":"FLWRS","address":"CUvVMqXAcyFJnwMhojQ9jmGuWrijGt26HfY7b99dyBeB","decimals":6},{"symbol":"GOD","address":"9kt93AW5QMjFL6ZxomnSq3FbWiU5ibNeTSgBz9UDFSB6","decimals":6},{"symbol":"NCTR","address":"AgnHzGspNu7F3nFM4izuPt5g7m1URjVaTaFNgvqSXcjC","decimals":9},{"symbol":"WEYU","address":"EHaEBhYHWA7HSphorXXosysJem6qF4agccoqDqQKCUge","decimals":8},{"symbol":"BOXCH","address":"Boxch1343xWQWbahVBPhYHuYLXNHnWYHG6QbuqfNugQ1","decimals":9},{"symbol":"wDingocoin","address":"6VYF5jXq6rfq4QRgGMG6co7b1Ev1Lj7KSbHBxfQ9e1L3","decimals":8},{"symbol":"PSOL","address":"Hmatmu1ktLbobSvim94mfpZmjL5iiyoM1zidtXJRAdLZ","decimals":7},{"symbol":"DUSK","address":"DMbb79fgxR3fKKVKWcbetMCuxNNtJnfjY3qqAE4G4wJf","decimals":3},{"symbol":"BMT","address":"FanJWA4yEVUJj1r83tR7XybxmDGF6bNH8M81ag9aeUbF","decimals":9},{"symbol":"SCT","address":"4Te4KJgjtnZe4aE2zne8G4NPfrPjCwDmaiEx9rKnyDVZ","decimals":9},{"symbol":"Cope","address":"o1Mw5Y3n68o8TakZFuGKLZMGjm72qv4JeoZvGiCLEvK","decimals":2},{"symbol":"HTO","address":"htoHLBJV1err8xP5oxyQdV2PLQhtVjxLXpKB7FsgJQD","decimals":9},{"symbol":"APYS","address":"5JnZ667P3VcjDinkJFysWh2K2KtViy63FZ3oL5YghEhW","decimals":9},{"symbol":"PIP","address":"HHjoYwUp5aU6pnrvN4s2pwEErwXNZKhxKGYjRJMoBjLw","decimals":9},{"symbol":"SHILL","address":"6cVgJUqo4nmvQpbgrDZwyfd6RwWw5bfnCamS3M9N1fd","decimals":6},{"symbol":"NEKI","address":"ALKiRVrfLgzeAV2mCT7cJHKg3ZoPvsCRSV7VCRWnE8zQ","decimals":9},{"symbol":"GYC","address":"GYCVdmDthkf3jSz5ns6fkzCmHub7FSZxjVCfbfGqkH7P","decimals":9},{"symbol":"UNI","address":"8FU95xFJhUUkyyCLU13HSzDLs7oC4QZdXQHL6SCeab36","decimals":8},{"symbol":"$CRYPT","address":"CRYPTi2V87Tu6aLc9gSwXM1wSLc6rjZh3TGC4GDRCecq","decimals":9},{"symbol":"HONE","address":"hone3CJTYjczb5nJh45KCNMkjrKMt7SCnHkWGWsVfVu","decimals":0},{"symbol":"BASIC","address":"76DThuyLHagfkm2ssYw6Lv7k3MYHx6tXcwPBLU9tXm4D","decimals":9},{"symbol":"PRGC","address":"66edZnAPEJSxnAK4SckuupssXpbu5doV57FUcghaqPsY","decimals":9},{"symbol":"WET","address":"7R7rZ7SsLDXkYAfJyRCBScLuZwizeMWaTWrwFhSZU2Jq","decimals":9},{"symbol":"SPM","address":"GpQLC7KnNgAvEpamfWi1AWFdXECZ1eQetvFYTuETLZC7","decimals":9},{"symbol":"MRX","address":"8yQuj5v4s72UqZi3sYZL5rAD4NPV4ueUwBKzChBDWMVf","decimals":9},{"symbol":"SEI","address":"CRkwd2QedqDi5u6W2w6jeAViAUd1pR4AXs2aKvh7GW7M","decimals":6},{"symbol":"HC","address":"6eQ5a1qhn1v7Q8h7zYHZrfgeAKrVgN7RJgty3ttth6R7","decimals":4},{"symbol":"GRLC","address":"88YqDBWxYhhwPbExF966EdaCYBKP51xVm1oGBcbWzcf2","decimals":9},{"symbol":"ISL","address":"75XracgnqjPeuexHKWQU3bBcXMZG6XLDF867tKB1T9e6","decimals":9},{"symbol":"XGLI","address":"FsPncBfeDV3Uv9g6yyx1NnKidvUeCaAiT2NtBAPy17xg","decimals":6},{"symbol":"LIONESS","address":"EK6j5Shv99xttoT3F2DfG8uQMoX6NoAZgTuYwCvrHzqo","decimals":2},{"symbol":"FUJI","address":"fujiCeCeP9AFDVCv27P5JRcKLoH7wfs2C9xmDECs24m","decimals":3},{"symbol":"EGO","address":"2zjmVX4KDWtNWQyJhbNXgpMmsAoXwftB7sGV4qvV18xa","decimals":9},{"symbol":"soSUSHI","address":"AR1Mtgh7zAtxuxGd2XPovXPVjcSdY3i4rQYisNadjfKy","decimals":6},{"symbol":"PEPE","address":"F9CpWoyeBJfoRB8f2pBe2ZNPbPsEE76mWZWme3StsvHK","decimals":6},{"symbol":"MANA","address":"7dgHoN8wBZCc5wbnQ2C47TDnBMAxG4Q5L3KjP67z8kNi","decimals":8},{"symbol":"EDX","address":"3Ysmnbdddpxv9xK8FUKXexdhRzEA4yrCz8WaE6Za5sjV","decimals":9},{"symbol":"FRIES","address":"FriCEbw1V99GwrJRXPnSQ6su2TabHabNxiZ3VNsVFPPN","decimals":9},{"symbol":"MODUL","address":"A98UDy7z8MfmWnTQt6cKjje7UfqV3pTLf4yEbuwL2HrH","decimals":9},{"symbol":"QDOT","address":"HCpyiCXvziKByTGoQMLUmooAWBkCLvZmzB9D6TyPdACR","decimals":8},{"symbol":"SHARDS","address":"8j3hXRK5rdoZ2vSpGLRmXtWmW6iYaRUw5xVk4Kzmc9Hp","decimals":9},{"symbol":"UM","address":"DMCUFm2ZAnSU7UgsdVq23gRogMU3MEBjPgQF1gK53rEn","decimals":6},{"symbol":"UMF","address":"CZY2dDTb86ARthiLP47hpmEgX1h82XCEr51XWQ5GsZoj","decimals":6},{"symbol":"SWOLE","address":"4BzxVoBQzwKoqm1dQc78r42Yby3EzAeZmMiYFdCjeu5Z","decimals":9},{"symbol":"SHIB","address":"CiKu4eHsVrc1eueVQeHn7qhXTcVu95gSQmBpX4utjL9z","decimals":8},{"symbol":"PIXL","address":"5L2YboFbHAUpBDDJjvDB5M6pu9CW2FRjyDB2asZyvjtE","decimals":8},{"symbol":"HOTTO","address":"Bqd2ujCTEzpKzfjb1FHL7FKrdM6n1rZSnRecJK57EoKz","decimals":9},{"symbol":"SLOW","address":"2KE2UNJKB6RGgb78DxJbi2HXSfCs1EocHj4FDMZPr4HA","decimals":5},{"symbol":"POVT","address":"PhiLR4JDZB9z92rYT5xBXKCxmq4pGB1LYjtybii7aiS","decimals":5},{"symbol":"BURD","address":"Qikhhhg9Ta3Jg7WoDFbSYuCAE14hx9hPvdz1zVp3zUw","decimals":9},{"symbol":"GM","address":"3acxNNmfdKKZj9i35P4VDBFm74Ufdt8ojKWceVGynwC5","decimals":4},{"symbol":"PUGAI","address":"PugAiDuaQ5hzicBHAW9qrQQ8qi4B6sh3n7PknKhyjeX","decimals":5},{"symbol":"EDO","address":"7sWMHQaJJPn1rkeizq41iPiW5gG7Ry7PXYAVHaUwY4qu","decimals":9},{"symbol":"QF","address":"76ijxiMkj4DX8q9QMtqpzTxFnT4KPmWv47sZf2kKoVwk","decimals":9},{"symbol":"POOR","address":"2mqi8iLJf9WaVRHd7nhRkqvCafxfb3Us7wshaJR73ykS","decimals":5},{"symbol":"SVIZ","address":"GV6n9Uow3XzMWSs8vwTCML8SvMA6ozbidaEfdPoSoraQ","decimals":9},{"symbol":"GEMS","address":"2YJH1Y5NbdwJGEUAMY6hoTycKWrRCP6kLKs62xiSKWHM","decimals":9},{"symbol":"ZAP","address":"HxPoEHMt1vKeqjKCePcqTj6yYgn6Xqq1fKTY3Pjx4YrX","decimals":8},{"symbol":"XTAG","address":"5gs8nf4wojB5EXgDUWNLwXpknzgV2YWDhveAeBZpVLbp","decimals":6},{"symbol":"RIBH","address":"8UaGbxQbV9v2rsMxy2G2NEh1JYQ8T9dmggq1oesrXD9c","decimals":3},{"symbol":"HCOIN","address":"4B619RbcXbXrKTzNVgDSRiUn9wfxWgA1w1oFLveGacNy","decimals":3},{"symbol":"KART","address":"GDzfemoYR5GkbK4YupYpyq3E8Du9fSfKXxKDpkdrqGjs","decimals":6},{"symbol":"MALL","address":"5EbpXhW7t8ypBF3Q1X7odFaHjuh7XJfCohXR3VYAW32i","decimals":3},{"symbol":"JUNKz","address":"AMzmwvDRKdt5AQ3m1m28tWjzBxmQNe1PsmHnYitVZwzp","decimals":9},{"symbol":"MOONBURN","address":"F14Cp89oAXMrNnaC4mKMNKHPWw2p2R4DRFAZEdJhUBkD","decimals":6},{"symbol":"BRWNDO","address":"At5j3zhbEj8mfFsSy1MPbjVhrX2uNmRMPEDZiyFcETNX","decimals":4},{"symbol":"wHEX_v1","address":"ELSnGFd5XnSdYFFSgYQp7n89FEbDqxN4npuRLW4PPPLv","decimals":8},{"symbol":"WIZE","address":"7rrJLRar2WjZwRoF3iJKHKnA7d7d9YJT1X9HAJnwUH3Z","decimals":6},{"symbol":"POTATO","address":"GEYrotdkRitGUK5UMv3aMttEhVAZLhRJMcG82zKYsaWB","decimals":3},{"symbol":"$MILK","address":"8FktFPUvi73Ywf7ZivsbuQFyQCqZUwvqSQ51hNvRhR26","decimals":8},{"symbol":"SAMU","address":"SAMUmmSvrE8yqtcG94oyP1Zu2P9t8PSRSV3vewsGtPM","decimals":9},{"symbol":"sMEAN","address":"sMEANebFMnd9uTYpyntGzBmTmzEukRFwCjEcnXT2E8z","decimals":6},{"symbol":"RAD","address":"B6aJ3TGfme3SMnLSouHXqWXjVFqYyqj7czzhzr8WJFAi","decimals":4},{"symbol":"SHIBA","address":"Dhg9XnzJWzSQqH2aAnhPTEJHGQAkALDfD98MA499A7pa","decimals":9},{"symbol":"BIT","address":"EGiWZhNk3vUNJr35MbL2tY5YD6D81VVZghR2LgEFyXZh","decimals":9},{"symbol":"CRRT","address":"HkNokfCXG33eu5vCcS49mq3jZcKZeQSQCyta964YxxYg","decimals":0},{"symbol":"FORA","address":"ForaXiBD8K3a7C1PwxV1xqDHs5aV8y8nWRmHebafdkes","decimals":9},{"symbol":"CHIMP","address":"B8wCsjSv3TDZcaLuhPZNDvpk2vuBtRgpgmTuvoDAJZZ7","decimals":9},{"symbol":"TREN","address":"TRENpVRAR9LiZgyYv9zWrQwYqSHa7ThCYdbpFCJixj1","decimals":9},{"symbol":"GLXY","address":"CJ5U6wPmjxFUyTJpUTS7Rt1UqhTmSVRMvmJ8WD4nndXW","decimals":9},{"symbol":"MONKES","address":"FmoKY2ERGmE9NzrYphAJcqH5BPRy2Hs4VomRfu8Qgt7Y","decimals":2},{"symbol":"NOS","address":"nosXBVoaCTtYdLvKY6Csb4AC8JCdQKKAaWYtx2ZMoo7","decimals":6},{"symbol":"XTR","address":"6ABQdaTwRvmacto7aeRBGghS6Pxctd6cFGL8gDdwV1dd","decimals":8},{"symbol":"GODZ","address":"BB33fYoeBVA2uv119be9tKvmXeuwtcx1W25N9KFNd2ca","decimals":9},{"symbol":"PRANA","address":"PRAxfbouRoJ9yZqhyejEAH6RvjJ86Y82vfiZTBSM3xG","decimals":6},{"symbol":"ELIXIR","address":"ELXRYrf8wd4DcyXDU9QPnMdD8jn2twg7o7qEtf5z2GBW","decimals":9},{"symbol":"SOLLAMA","address":"ENvD2Y49D6LQwKTtcxnKBmEMmSYJPWMxXhNsAo18jxNc","decimals":9},{"symbol":"WAVE","address":"GS6E87SLTioRDG3uSVRwQmuKKMxDmWU7fktCTJ5xkEM8","decimals":9},{"symbol":"MARIJUANA","address":"DYbRXaQcnj44SH9woxvyFdtcKkSoPoCEshRTQDZSjsBm","decimals":9},{"symbol":"RIBBET","address":"32gaR4rn9JyzoDVwMzZ5j3NgcHc5RQhMSJby55FFKnq3","decimals":9},{"symbol":"KITTY","address":"6XWfkyg5mzGtKNftSDgYjyoPyUsLRf2rafj95XSFSFrr","decimals":9},{"symbol":"SCS","address":"SCSuPPNUSypLBsV4darsrYNg4ANPgaGhKhsA3GmMyjz","decimals":5},{"symbol":"YORK","address":"5K1JtWpdSksVKaL6R2DuLpCDAjzxK6sq2CpXaXDWHVLg","decimals":9},{"symbol":"SAC","address":"GZL4yjPohDShW4RofJ6dEWu2Fv7qEa5mBT7Dpje5hqe7","decimals":2},{"symbol":"YAW","address":"YAWtS7vWCSRPckx1agB6sKidVXiXiDUfehXdEUSRGKE","decimals":6},{"symbol":"CRWNY","address":"CRWNYkqdgvhGGae9CKfNka58j6QQkaD5bLhKXvUYqnc1","decimals":6},{"symbol":"ENX","address":"87rSGrpYdmTxfNBf8o2cpyiNcxCmNhUPBXjT8aoyfob5","decimals":9},{"symbol":"SMRAI","address":"rvxo8t7TKeSmAgpdqK1CY9ddZi3NyowRCh1m2d7KrUc","decimals":9},{"symbol":"CKC","address":"8s9FCz99Wcr3dHpiauFRi6bLXzshXfcGTfgQE7UEopVx","decimals":6},{"symbol":"PSY","address":"PsyFiqqjiv41G7o5SMRzDJCu4psptThNR2GtfeGHfSq","decimals":6},{"symbol":"DREAM","address":"HuMShjViKhcfihmHkgvctcFAyeyxAk8hK5K58zWpuRKf","decimals":9},{"symbol":"NEO","address":"NEo3D6MXRXf2iAfaqvZYqSmFkfutLvNjm86xmfGWNh5","decimals":9},{"symbol":"BOKU","address":"CN7qFa5iYkHz99PTctvT4xXUHnxwjQ5MHxCuTJtPN5uS","decimals":9},{"symbol":"DAWG","address":"3DHPqxdMXogNNnpqBMF8N4Zs4dn1WR31H7UjWq6FExwG","decimals":9},{"symbol":"AXSet","address":"HysWcbHiYY9888pHbaqhwLYZQeZrcQMXKQWRqS7zcPK5","decimals":8},{"symbol":"JCATS","address":"8e2G3tCTvKAosq4BnYbDczboRVhy7xaXwbTSJeXEefJX","decimals":2},{"symbol":"DASCH","address":"GTuDe5yneFKaWSsPqqKgu413KTk8WyDnUZcZUGxuNYsT","decimals":9},{"symbol":"CCC","address":"E9bjYSAqabYAd2Zaev4qAMVNAiX7Z2Dp4Sn1JgsTn2b6","decimals":9},{"symbol":"WAV","address":"4NGNdLiQ1KG8GgqZimKku4WCLdXbNw6UQJvqax3fE6CJ","decimals":2},{"symbol":"QUEST","address":"6ybxMQpMgQhtsTLhvHZqk8uqao7kvoexY6e8JmCTqAB1","decimals":4},{"symbol":"PLAYA","address":"E6oCGvmSYW7qhy7oeDfiNZLX6hEmPCVxBC8AknwAj82B","decimals":2},{"symbol":"DABLNS","address":"dab15vg2k8zGJPy4xM2DH2G2BY3khrqduXapzYAV3y8","decimals":8},{"symbol":"AIO","address":"4nhQdXfoHvCCVnyZQg3awXqPrKL89Ys7Rbe77oXM47GG","decimals":9},{"symbol":"LOOT","address":"GzpRsvnKXKz586kRLkjdppR4dUCFwHa2qaszKkPUQx6g","decimals":6},{"symbol":"ICHIGO","address":"4tejdaGTug9xWg58f92zmFMrsoWqCnvt8WaVuCiP3uUy","decimals":8},{"symbol":"Miku","address":"7GNyprqrpvJHNwzWSj4KVkqw9cKyV5aR3ehM2HeE5pw","decimals":0},{"symbol":"BNB","address":"9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa","decimals":8},{"symbol":"xALGO","address":"xALGoH1zUfRmpCriy94qbfoMXHtK6NDnMKzT4Xdvgms","decimals":6},{"symbol":"SLITE","address":"7eJCLyW5KkvzdzkVXs1ukA1WfFjCcocXjVit64tYcown","decimals":9},{"symbol":"JJJJC","address":"6FLsSkF4AqQeDuqEmGPyBZvVebc4WWWntnZP2QZyBzG8","decimals":9},{"symbol":"SOLA","address":"FYfQ9uaRaYvRiaEGUmct45F9WKam3BYXArTrotnTNFXF","decimals":9},{"symbol":"MINECRAFT","address":"FTkj421DxbS1wajE74J34BJ5a1o9ccA97PkK6mYq9hNQ","decimals":9},{"symbol":"RATIO","address":"ratioMVg27rSZbSvBopUvsdrGUzeALUfFma61mpxc8J","decimals":6},{"symbol":"AGVZ","address":"CRSzWoeyfR8sJxB2d6LLEre92Uc59TCPX2gZidp4t3eE","decimals":9},{"symbol":"FRENS","address":"HNm1VgnyhaMZZF71RjNFNiYLN76zyZTDcBZPjYveWFXX","decimals":6},{"symbol":"ALEPH","address":"3UCMiSnkcnkPE1pgQ5ggPCBv6dXgVUy16TmMUe1WpG9x","decimals":8},{"symbol":"CRY","address":"HbrmyoumgcK6sDFBi6EZQDi4i4ZgoN16eRB2JseKc7Hi","decimals":9},{"symbol":"ACF","address":"2cZv8HrgcWSvC6n1uEiS48cEQGb1d3fiowP2rpa4wBL9","decimals":2},{"symbol":"NNI","address":"buMnhMd5xSyXBssTQo15jouu8VhuEZJCfbtBUZgRcuW","decimals":6},{"symbol":"SOLC","address":"Bx1fDtvTN6NvE4kjdPHQXtmGSg582bZx9fGy4DQNMmAT","decimals":9},{"symbol":"WIPE","address":"9ae76zqD3cgzR9gvf5Thc2NN3ACF7rqqnrLqxNzgcre6","decimals":9},{"symbol":"RRR","address":"3zE4Qmh9hrC4inHynT3aSRzHcWhnxPCHLeN9WWqvoRVz","decimals":9},{"symbol":"STARS","address":"HCgybxq5Upy8Mccihrp7EsmwwFqYZtrHrsmsKwtGXLgW","decimals":6},{"symbol":"RPC","address":"EAefyXw6E8sny1cX3LTH6RSvtzH6E5EFy1XsE2AiH1f3","decimals":6},{"symbol":"FRNT","address":"3vHSsV6mgvpa1JVuuDZVB72vYbeUNzW4mBxiBftwzHEA","decimals":9},{"symbol":"KKO","address":"kiNeKo77w1WBEzFFCXrTDRWGRWGP8yHvKC9rX6dqjQh","decimals":9},{"symbol":"LSTAR","address":"C6qep3y7tCZUJYDXHiwuK46Gt6FsoxLi8qV1bTCRYaY1","decimals":6},{"symbol":"WOOP","address":"A3HyGZqe451CBesNqieNPfJ4A9Mu332ui8ni6dobVSLB","decimals":5},{"symbol":"sSOL","address":"8EDaoeBqpcVACwvkYXh1vAcU29HiBiNhqoF4pRsuUsZS","decimals":9},{"symbol":"UNKN","address":"unknXbA1bDg39nuBqVgMNZ5qSZa8pw5HditgkPe5eFA","decimals":9},{"symbol":"RICE","address":"5yw793FZPCaPcuUN4F61VJh2ehsFX87zvHbCA4oRebfn","decimals":2},{"symbol":"SOL100","address":"GkDg1ZfoFkroLAwLqtJNXhxCDg8gmKxHAGxSUZagYFfE","decimals":9},{"symbol":"TOCO","address":"7FntsntzGjK9PzPBbHLDJAFcKQVU14d2SbQZhgMUf2KA","decimals":2},{"symbol":"GARI","address":"CKaKtYvz6dKPyMvYq9Rh3UBrnNqYZAyd7iF4hJtjUvks","decimals":9},{"symbol":"rFRAKT","address":"7V5AaqHTwiySegaAmNPLekQfTAoK4WvEVgfi2R8V44tB","decimals":9},{"symbol":"BOT","address":"AkhdZGVbJXPuQZ53u2LrimCjkRP6ZyxG1SoM85T98eE1","decimals":8},{"symbol":"XSB","address":"4UuGQgkD3rSeoXatXRWwRfRd21G87d5LiCfkVzNNv1Tt","decimals":9},{"symbol":"PAW","address":"3WV4fTWGvtWNvQb8oVU4t99By8KztDLtExqHnkPfHAA9","decimals":9},{"symbol":"PNT","address":"AKxR1NLTtPnsVcWwPSEGat1TC9da3Z2vX7sY4G7ZLj1r","decimals":9},{"symbol":"SOLR","address":"7j7H7sgsnNDeCngAPjpaCN4aaaru4HS7NAFYSEUyzJ3k","decimals":6},{"symbol":"SHUT","address":"9e6nnqbsTjWx3ss6a3x7Q9ZvpupLNYLb8cTbVmm6UD2K","decimals":9},{"symbol":"PART","address":"AVKnbqNQgXDY8kbnno9eSGfwpVz5idimBnDKiz1vbWAh","decimals":9},{"symbol":"DARC","address":"CpFE715P5DnDoJj9FbCRcuyHHeTXNdRnvzNkHvq1o23U","decimals":8},{"symbol":"APEX","address":"51tMb3zBKDiQhNwGqpgwbavaGH54mk8fXFzxTc1xnasg","decimals":9},{"symbol":"DATE","address":"Ce3PSQfkxT5ua4r2JqCoWYrMwKWC5hEzwsrT9Hb7mAz9","decimals":9},{"symbol":"BOO","address":"boooCKXQn9YTK2aqN5pWftQeb9TH7cj7iUKuVCShWQx","decimals":9},{"symbol":"FamSOL","address":"3rH1toffQAELHo5vyRKdwEFxhPTZA7ocfRdJK2c8txoJ","decimals":9},{"symbol":"MILK","address":"CCKDRAd4Xwjoovtf2s1duu3d4TPTmFRyh1hfrb3ZUGR2","decimals":9},{"symbol":"BITXBIT","address":"DK6PWMyuZ4NMjsm9AWNCTMKrajQYrtfMjMJ3QauX2UH5","decimals":9},{"symbol":"$NEON","address":"DuSyBCGuhPvyGu6cSvbZonvQvh8JLyGvXJn1TmkJh6Zn","decimals":0},{"symbol":"PEPE","address":"CYuXNHURE8cF3rQc1687DZnmsWx9ATNG3mZPFmryu22S","decimals":9},{"symbol":"PRIMATES","address":"GqiReKpoAHQCnziNA1koxcttCkBD38W6Pyd45FoiBXQm","decimals":2},{"symbol":"KNK","address":"kNkT1RDnexWqYP3EYGyWv5ZtazB8CfgGAfJtv9AQ3kz","decimals":9},{"symbol":"PLD","address":"2cJgFtnqjaoiu9fKVX3fny4Z4pRzuaqfJ3PBTMk2D9ur","decimals":6},{"symbol":"MC","address":"FYUkUybywqUUyrUwiAezbvhTp2DUgx1eg8tQNiKkXqJ9","decimals":9},{"symbol":"VINU","address":"CgbJxXyaHeU8VsquBpySuFXA94b6LWXxioZ28wRr8fs9","decimals":6},{"symbol":"TINY","address":"HKfs24UEDQpHS5hUyKYkHd9q7GY5UQ679q2bokeL2whu","decimals":6},{"symbol":"BOFB","address":"45wdSjpSqZCk9mkqmq5Nh7beCEqqUJMJcVduwYCip5eq","decimals":8},{"symbol":"BOTS","address":"HDEqEpFgTrBawzDgTG1eyH8Go9PX84LCEC8Qjt8T4jFN","decimals":2},{"symbol":"DINOEGG","address":"2TxM6S3ZozrBHZGHEPh9CtM74a9SVXbr7NQ7UxkRvQij","decimals":6},{"symbol":"ATX","address":"ATX1pK34GgPtKJLaXvGHQqu5DKkoJnmZBbwCxvmq3Y3h","decimals":6},{"symbol":"ICE","address":"icex2Fy2KtXjfiAAUEHLPHu7XKDLvwiyVUPP9PNpSkF","decimals":9},{"symbol":"DGNA","address":"8iSagwHZNj4Hx4CMeoZwLLMVbWt4mUT6qk42TxiHkRtn","decimals":6},{"symbol":"SUSHI","address":"ChVzxWRmrTeSgwd3Ui3UumcN8KX7VK3WaD4KGeSKpypj","decimals":8},{"symbol":"BATT","address":"BzjsQpgKjxZedFawUV9GZMExhr7VbvsasQv12v2PVxSt","decimals":8},{"symbol":"ENG","address":"GtLBsmS6Z4FC9gmnCFS2ZzCKmb9vYL3kELnjVmxHurnh","decimals":2},{"symbol":"GU","address":"5KV2W2XPdSo97wQWcuAVi6G4PaCoieg4Lhhi61PAMaMJ","decimals":9},{"symbol":"DEO","address":"DeoP2swMNa9d4SGcQkR82j4RYYeNhDjcTCwyzEhKwfAf","decimals":9},{"symbol":"$FLY","address":"4h4LvS6NsVjZ87uBwrYyTeppTm1ii5PtRN9A6Ld2kZjw","decimals":6},{"symbol":"KREECHURE","address":"3XwZtyP5g2ku5cNzLXYcBYygvToXKdjw73GSRq73QYLQ","decimals":2},{"symbol":"XCOPE","address":"3K6rftdAaQYMPunrtNRHgnK2UAtjm2JwyT2oCiTDouYE","decimals":0},{"symbol":"VCC","address":"FZgL5motNWEDEa24xgfSdBDfXkB9Ru9KxfEsey9S58bb","decimals":6},{"symbol":"CORE","address":"2maDvG9nXGVstjdnsCZoSsNtjoda1SsZTLrHBVRgLR5F","decimals":9},{"symbol":"rPUNK","address":"4PhPtyBhmMYBLjiJPr3wef2syoMSJYn5WcNgXxvmG3NZ","decimals":9},{"symbol":"STR","address":"9zoqdwEBKWEi9G5Ze8BSkdmppxGgVv1Kw4LuigDiNr9m","decimals":9},{"symbol":"SLB","address":"2uRFEWRBQLEKpLmF8mohFZGDcFQmrkQEEZmHQvMUBvY7","decimals":9},{"symbol":"rLGND","address":"9m8E1yLHaG1B2TFSNeWahsitQh5yQRnrbyw756HFAcEa","decimals":9},{"symbol":"GV","address":"7TQTpG1qBvE9ui7J9yQWKFAYpQahkaKPKqGTsqSm1wUv","decimals":9},{"symbol":"TENKAI","address":"TKDrcm3n4mfXFfPKZoLp5soRSdFQSmyWLdomdKL3ktU","decimals":0},{"symbol":"PEOPLE","address":"CobcsUrt3p91FwvULYKorQejgsm5HoQdv5T8RUZ6PnLA","decimals":8},{"symbol":"DKM","address":"HtbhBYdcfXbbD2JiH6jtsTt2m2FXjn7h4k6iXfz98k5W","decimals":9},{"symbol":"CSM","address":"EzfnjRUKtc5vweE1GCLdHV4MkDQ3ebSpQXLobSKgQ9RB","decimals":6},{"symbol":"POZZ","address":"27nqFZqb2iPBeVA7bbE4KPZrJgi3dJdKV9VzhCguSy6Y","decimals":9},{"symbol":"Froggo","address":"A12XggFFk3b5GCd6ZYxuQ55cQbxarHL4h7Jxs3GQcdC3","decimals":9},{"symbol":"CAPY","address":"CAPYD6Lrm7bTZ6C7t7JvSxvpEcfKQ9YNB7kUjh6p6XBN","decimals":9},{"symbol":"MARIO","address":"7rmV64vLfbrbS5rTFvojYWzCVEn8dnJ9RfSRx3nD6C5E","decimals":4},{"symbol":"BMBO","address":"5sM9xxcBTM9rWza6nEgq2cShA87JjTBx1Cu82LjgmaEg","decimals":9},{"symbol":"BAIL","address":"3e9pHUxa2nvAqso2Kr2KqJxYvZaz9qZLjoLaG77uQwB1","decimals":9},{"symbol":"FAB","address":"EdAhkbj5nF9sRM7XN7ewuW8C9XEUMs8P7cnoQ57SYE96","decimals":9},{"symbol":"ANA","address":"ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo","decimals":6},{"symbol":"YARD","address":"8RYSc3rrS4X4bvBCtSJnhcpPpMaAJkXnVKZPzANxQHgz","decimals":9},{"symbol":"MSI","address":"2e7yNwrmTgXp9ABUmcPXvFJTSrEVLj4YMyrb4GUM4Pdd","decimals":6},{"symbol":"DYDX","address":"4Hx6Bj56eGyw8EJrrheM6LBQAvVYRikYCWsALeTrwyRU","decimals":8},{"symbol":"DEDS","address":"BvEj2MNMPsUrD4vSk7NHs4TtRcCcJd75Wx5HvVbY4rbK","decimals":9},{"symbol":"SDO","address":"7SZUnH7H9KptyJkUhJ5L4Kee5fFAbqVgCHvt7B6wg4Xc","decimals":5},{"symbol":"DRIPSPLIT","address":"uL2qhMckUAroJPt2MLHwEeppJNYE3wBAGFMCs3anwXn","decimals":2},{"symbol":"BANA","address":"BhPXDQio8xtNC6k5Bg5fnUVL9kGN8uvRDNwW8MZBu8DL","decimals":4},{"symbol":"HYPE","address":"8TQdiAzdZZEtkWUR8Zj1tqDYGPv9TR1XjPqrew39Vq9V","decimals":7},{"symbol":"Orbs","address":"7JnHPPJBBKSTJ7iEmsiGSBcPJgbcKw28uCRXtQgimncp","decimals":8},{"symbol":"DINO","address":"6Y7LbYB3tfGBG6CSkyssoxdtHb77AEMTRVXe8JUJRwZ7","decimals":6},{"symbol":"SOLX","address":"CH74tuRLTYcxG7qNJCsV9rghfLXJCQJbsu7i52a8F1Gn","decimals":9},{"symbol":"TAP","address":"CejQBkdRPN8Jyod2jVUYTfHwU9hPHvM3rD9prvQiffDU","decimals":9},{"symbol":"HUNT","address":"CTYiHf58UGShfHtpkTwx7vjPDA779dd6iVaeD281fEVx","decimals":9},{"symbol":"AIR","address":"E6eCEE3KqjRD5UxcBYQTdV8Z535hyaBuFin9Udm6s6bz","decimals":9},{"symbol":"IDOLZ","address":"idoLztG5ZGMVEjjoQWjeSu2eVkVsp3YnrFZKf7dNi4j","decimals":9},{"symbol":"VIBEZ","address":"FyNuYGBBry5LAtPEkh8Y73izjTUNT2td2J3sGCK7E9Ju","decimals":9},{"symbol":"NLTK","address":"3uNAevHamuZKKQdtdLzmHNvqD8r14tXUUXx5PN48UbYC","decimals":9},{"symbol":"$YETI","address":"FDKBUXKxCdNQnDrqP7DLe8Kri3hzFRxcXyoskoPa74rk","decimals":9},{"symbol":"BONES","address":"bonegFPgrpZ4bfVn3kQK1aMbGYddWtfMAywNt5LsuVE","decimals":2},{"symbol":"SCRAP","address":"6naWDMGNWwqffJnnXFLBCLaYu1y5U9Rohe5wwJPHvf1p","decimals":3},{"symbol":"NECTAR2","address":"7vVRYg24HvVmgxV4neAog66GjW6aCUwnArvjDn6bgrX5","decimals":9},{"symbol":"HDG","address":"5PmpMzWjraf3kSsGEKtqdUsCoLhptg4yriZ17LKKdBBy","decimals":9},{"symbol":"ATH","address":"F9BqFoWRML4Red6YPiL3xJBP7u9g8f61AKJMEYDB3wBR","decimals":9},{"symbol":"DBC","address":"98ouGzbMV2DnHfn3Uc7oahwvDP4Cf7Ls77JsBiARdjvn","decimals":6},{"symbol":"QUACK","address":"6frkvZf72wiz3uqRWhBqLftNU4PS6XXYCoNrW9P4CFdK","decimals":6},{"symbol":"ATS","address":"HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv","decimals":9},{"symbol":"FRONK","address":"5yxNbU8DgYJZNi3mPD9rs4XLh9ckXrhPjJ5VCujUWg5H","decimals":5},{"symbol":"WHEY","address":"5fTwKZP2AK39LtFN9Ayppu6hdCVKfMGVm79F2EgHCtsi","decimals":6},{"symbol":"EYE","address":"G7eETAaUzmsBPKhokZyfbaT4tD9igdZSmfQGEYWem8Sw","decimals":6},{"symbol":"BEAR","address":"9LmCL3nyvFG95cB9RpaszPTAwaQykVAHcSxQbJ6vNpAU","decimals":0},{"symbol":"FLTH","address":"FLTHudk5B5zag7JmGXqrYrFfey6otevLQA6jm1UHHLEE","decimals":9},{"symbol":"ELU","address":"4tJZhSdGePuMEfZQ3h5LaHjTPsw1iWTRFTojnZcwsAU6","decimals":9},{"symbol":"STYLE","address":"3FHpkMTQ3QyAJoLoXVdBpH4TfHiehnL2kXmv9UXBpYuF","decimals":9},{"symbol":"RACEFI","address":"AAmGoPDFLG6bE82BgZWjVi8k95tj9Tf3vUN7WvtUm2BU","decimals":6},{"symbol":"LUNY","address":"7a4cXVvVT7kF6hS5q5LDqtzWfHfys4a9PoK6pf87RKwf","decimals":9},{"symbol":"CONDOMS","address":"EzL6LLmv4vgfF7irkjG7ZxM92bTJ9f6nFopDXJTow7zj","decimals":9},{"symbol":"1SP","address":"2zzC22UBgJGCYPdFyo7GDwz7YHq5SozJc1nnBqLU8oZb","decimals":9},{"symbol":"CREAMY","address":"CREAMpdDimXxj2zTCwP5wMEtba4NYaKCrTBEQTSKtqHe","decimals":9},{"symbol":"GM","address":"CmSryDa4mnDYUicq7qSESsTKAdgBP26jSYcg8zavVoJd","decimals":7},{"symbol":"OOINK","address":"KRTapyUMe5fW92KZkYoXToFtc6Cn7UG6seaKz646oGu","decimals":9},{"symbol":"DEV","address":"H5euuuZXAuFak2NVTMu53fckdkHFWuJzXXb3TfKTrLWK","decimals":9},{"symbol":"RAIN","address":"rainH85N1vCoerCi4cQ3w6mCf7oYUdrsTFtFzpaRwjL","decimals":5},{"symbol":"GOSU","address":"6D7nXHAhsRbwj8KFZR2agB6GEjMLg4BM7MAqZzRT8F1j","decimals":8},{"symbol":"VOID","address":"DjPt6xxMoZx1DyyWUHGs4mwqWWX48Fwf6ZJgqv2F9qwc","decimals":9},{"symbol":"FCON","address":"HovGjrBGTfna4dvg6exkMxXuexB3tUfEZKcut8AWowXj","decimals":4},{"symbol":"BOOP","address":"CCRJohp9bfQdhZCvCe7MzUQuXMJkKBi4XCjUq3A2YqN8","decimals":10},{"symbol":"FREN","address":"7xd71KP4HwQ4sM936xL8JQZCwE4amUko1AdCCf6Znjrt","decimals":9},{"symbol":"FAC","address":"H3pWoh5Te12nHYVSQm1vQC6aAn2EbADj8zit23jP2jX3","decimals":9},{"symbol":"LIKE","address":"3bRTivrVsitbmCTGtqwp7hxXPsybkjn4XLNtPsHqa3zR","decimals":9},{"symbol":"NESTA","address":"Czt7Fc4dz6BpLh2vKiSYyotNK2uPPDhvbWrrLeD9QxhV","decimals":9},{"symbol":"ALIEN","address":"4mJ6N65rD9w6sFPQ17UDWot2H64UtzR31biVLaKpZT6J","decimals":0},{"symbol":"LILY","address":"LiLyT885cG9xZKYQk9x6VWMzmcui4ueV9J1uzPDDajY","decimals":6},{"symbol":"SAIL","address":"6kwTqmdQkJd8qRr9RjSnUX9XJ24RmJRSrU1rsragP97Y","decimals":6},{"symbol":"MMaps","address":"EFqYVEitSUpUTj2d9LSqun4eZ4BzouFuTPqQzU4hNtsS","decimals":6},{"symbol":"CC","address":"3KTkQJEMJXP741EJBFcAS34Lx9t8GsBYaW2BUUWkeyDH","decimals":9},{"symbol":"SPACEGOLD","address":"9mXZ54YnJJRmUN2MaMEtWCfFyoncP4ZhKz7U9DZ4JY2X","decimals":4},{"symbol":"WEC","address":"6y8W5YwAuzostqrS4YDJufBvksosfSi47Pd8U4A5vrBC","decimals":9},{"symbol":"MOLA","address":"AMdnw9H5DFtQwZowVFr4kUgSXJzLokKSinvgGiUoLSps","decimals":9},{"symbol":"ARTE","address":"6Dujewcxn1qCd6rcj448SXQL9YYqTcqZCNQdCn3xJAKS","decimals":6},{"symbol":"CHILI","address":"GPyzPHuFFGvN4yWWixt6TYUtDG49gfMdFFi2iniTmCkh","decimals":2},{"symbol":"$GARY","address":"8c71AvjQeKKeWRe8jtTGG1bJ2WiYXQdbjqFbUfhHgSVk","decimals":9},{"symbol":"N2H4","address":"4q5UBXJxE91BZKX548qhU8i5QBWvZdXzS3RZwfTgLQda","decimals":6},{"symbol":"BORG","address":"CFbdjaKonbBQTYG2GC6CmB7exofgDYGCDR8tp8KVGS7T","decimals":6},{"symbol":"ENRX","address":"5s4BYUXLuvs9ZcVDTxkTpKhThWFSpaU8GG55q2iySe2N","decimals":2},{"symbol":"FEED","address":"3LDAW7enNUZ4DjE1jCi1cDpXvXLrJ1rPiECPbcHpMgG2","decimals":2},{"symbol":"WHALES","address":"DSXWF79VQ3RzFBB67WeNfCzfzAQq5X6m97zi85bq1TRx","decimals":2},{"symbol":"CHP","address":"DHVUoxNqv3D7EgktBxUsxFF2Wx83hVDmD2wBBpUaw3jn","decimals":9},{"symbol":"ACA","address":"8BLiujyxu5gJajWBXoZQkwSsamdeHNKWQbu1ApAao8Ps","decimals":6},{"symbol":"REAL","address":"AD27ov5fVU2XzwsbvnFvb1JpCBaCB5dRXrczV9CqSVGb","decimals":9},{"symbol":"KRILL","address":"EP2aYBDD4WvdhnwWLUMyqU69g1ePtEjgYK6qyEAFCHTx","decimals":9},{"symbol":"soLINK","address":"CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG","decimals":6},{"symbol":"ILU","address":"Gm6szibJfB1ZzUxNYf85nXwFchugqTqNyE5fDwWfBc7K","decimals":9},{"symbol":"DRAW","address":"48AEwauAHsJibyt3WqjQ6EoHnFBcnyHASfo7vB2eCXPS","decimals":0},{"symbol":"SBABYDOGE","address":"BABYsocP6cB95xvBDXnjXKX96VBNC37dmNWUtaV9Jk6v","decimals":2},{"symbol":"FBZ","address":"BKydRTNdaMJ8B4zPva3YhwUQcpvAsyZaGJnKA6F44fX7","decimals":9},{"symbol":"OXS","address":"4TGxgCSJQx2GQk9oHZ8dC5m3JNXTYZHjXumKAW3vLnNx","decimals":9},{"symbol":"$FROG","address":"Frog8vt6gmuuUuuerd7ispP6yavssBUtMpEP5DCEuUgD","decimals":9},{"symbol":"GEAR","address":"7s6NLX42eURZfpyuKkVLrr9ED9hJE8718cyXFsYKqq5g","decimals":9},{"symbol":"KING","address":"5VQnKaTu522jRQyaawDNBKZjBa5SZoeetyDXEwocYxXN","decimals":6},{"symbol":"FLOOF","address":"3jzdrXXKxwkBk82u2eCWASZLCKoZs1LQTg87HBEAmBJw","decimals":1},{"symbol":"T1NY","address":"C5xtJBKm24WTt3JiXrvguv7vHCe7CknDB7PNabp4eYX6","decimals":9},{"symbol":"BRZ","address":"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD","decimals":4},{"symbol":"WATT","address":"GjdreVe7iUG4hyESSweGyFzgekWufhEwGJqAaa1hr7pf","decimals":9},{"symbol":"CSTR","address":"G7uYedVqFy97mzjygebnmmaMUVxWHFhNZotY6Zzsprvf","decimals":9},{"symbol":"COBAN","address":"7udMmYXh6cuWVY6qQVCd9b429wDVn2J71r5BdxHkQADY","decimals":3},{"symbol":"TPC","address":"5WWRMYPchxgh3VmYGPqoq2kfzCtBLxXB9vFH2TeFeR9m","decimals":4},{"symbol":"GMSOL","address":"gmdu3snwW28DmmxCseChp9owWLUhamH9eS3hWfHG8Vg","decimals":9},{"symbol":"WVE","address":"33MJjPS6H7P2nwD648uiTiUu8v5fJ1zKyjnVqeWZ344F","decimals":9},{"symbol":"soALEPH","address":"CsZ5LZkDS7h9TDKjrbL7VAwQZ9nsRu8vJLhRYfmGaN8K","decimals":6},{"symbol":"WNDO","address":"E8G4uo2i9d12aGnXDHXXcw6hU2fh2NytR5XR3qurTLBx","decimals":9},{"symbol":"NRC","address":"Gh1jKzmxf95cT5PQabNbfJskkQU8kQ5UugfpbHSnPq9z","decimals":3},{"symbol":"WOB","address":"DGXtHxKMFhb82RsqihyEHksgWWe3DXBXEvKjz24JruAP","decimals":9},{"symbol":"METAS","address":"3Ztt53vwGhQGoEp3n1RjSu4CFnGRfqzwo6L8KN8gmXfd","decimals":9},{"symbol":"SOULO","address":"Gz3u6eJaKEviYpPC5AwUziz891kNX76PNdsmJrnaNNY4","decimals":9},{"symbol":"DLP8","address":"9AGm8DWXiB4PwvH1V2r31ChsTE2f2TDySvDbfJmfaMBq","decimals":8},{"symbol":"KITTI","address":"B5Fvzd2RL5ctrmFsvDafXiNGbBqbxapiryJo8JfoSEcA","decimals":5},{"symbol":"DARK","address":"FmQ7v2QUqXVVtAXkngBh3Mwx7s3mKT55nQ5Z673dURYS","decimals":9},{"symbol":"MILK","address":"MLKmUCaj1dpBY881aFsrBwR9RUMoKic8SWT3u1q5Nkj","decimals":9},{"symbol":"CRP","address":"DubwWZNWiNGMMeeQHPnMATNj77YZPZSAz2WVR5WjLJqz","decimals":9},{"symbol":"COSHI","address":"FMG9mNVazePvGtAY1WESUmY9j3LvhVzmkQsaucwRy8EB","decimals":6},{"symbol":"$WNZ","address":"WNZzxM1WqWFH8DpDZSqr6EoHKWXeMx9NLLd2R5RzGPA","decimals":4},{"symbol":"$FORCE","address":"9MjAmgHXbu5drkNa9XpzfozgsM5Dcq6bSnKZzdNrwscC","decimals":9},{"symbol":"DMV","address":"4JWktLr39ZbyutVnym7wKxV1RDoJz7ifDYxMUHDmAbPB","decimals":8},{"symbol":"Clack","address":"2Y6sQjp2PiwnQpMPSvGGYFNSQGY24YubNYXtrB9ufon9","decimals":5},{"symbol":"SSU","address":"AGkFkKgXUEP7ZXazza5a25bSKbz5dDpgafPhqywuQnpf","decimals":9},{"symbol":"SLX","address":"AASdD9rAefJ4PP7iM89MYUsQEyCQwvBofhceZUGDh5HZ","decimals":9},{"symbol":"JUNGLE","address":"Aogv6j1wWiBAZcqRNN1Y89eozda2ke6rkc4CYy7c4iCi","decimals":9},{"symbol":"NEAR","address":"BYPsjxa3YuZESQz1dKuBw1QSFCSpecsm8nCQhY5xbU1Z","decimals":9},{"symbol":"PU238","address":"7p6zGHdmWHvCH4Lsik2MoMBXqPGhFbSPSceSBXd8KNEC","decimals":6},{"symbol":"TKMK","address":"TKMKgSh3aADsmjr4yFWG52tkCQvmDxsQC1he1aBsi65","decimals":9},{"symbol":"POT","address":"9iz45n44TQUPyoRymdZXEunqvZUksZyhzS6zQ7sLMadj","decimals":9},{"symbol":"BMA","address":"boomh1LQnwDnHtKxWTFgxcbdRjPypRSjdwxkAEJkFSH","decimals":9},{"symbol":"$CRECK","address":"Ao94rg8D6oK2TAq3nm8YEQxfS73vZ2GWYw2AKaUihDEY","decimals":9},{"symbol":"TICKET","address":"AymKzSDznoLT7Vhsb4wSRnCj1gjcG3zkgYFY8fxsHHer","decimals":8},{"symbol":"sUSDC-9","address":"JEFFSQ3s8T3wKsvp4tnRAsUBW7Cqgnf8ukBZC4C8XBm1","decimals":9},{"symbol":"sUSDT-9","address":"AEUT5uFm1D575FVCoQd5Yq891FJEqkncZUbBFoFcAhTV","decimals":9},{"symbol":"aaWBTC","address":"Fd8xyHHRjTvxfZrBirb6MaxSmrZYw99gRSqFUKdFwFvw","decimals":9},{"symbol":"srenBTC-9","address":"FACTQhZBfRzC7A76antnpAoZtiwYmUfdAN8wz7e8rxC5","decimals":9},{"symbol":"abBTCB","address":"3os2M3bX9qta154PRbU9rzaPUYAKAqVpaMMS8u2hoUQu","decimals":9},{"symbol":"abETH","address":"EyrnrbE5ujd3HQG5PZd9MbECN9yaQrqc8pRwGtaLoyC","decimals":9},{"symbol":"swhETH-9","address":"KNVfdSJyq1pRQk9AKKv1g5uyGuk6wpm4WG16Bjuwdma","decimals":9},{"symbol":"acUSDC","address":"DHpoYejUDqzByb6HAdaLWF7KZvwUv2vWYDY9cTENNZui","decimals":9},{"symbol":"aeDAI","address":"9w6LpS7RU1DKftiwH3NgShtXbkMM1ke9iNU4g3MBXSUs","decimals":9},{"symbol":"aeWETH","address":"AaAEw2VCw1XzgvKB8Rj2DyK2ZVau9fbt2bE8hZFWsMyE","decimals":9},{"symbol":"afBTC","address":"FdvkkCbCgYht1xTR1W9MBJhEF1JEPVhHtW1NXBYRzZts","decimals":9},{"symbol":"afDAI","address":"HjUhUzi6fVkY1BndaSc4Dcg2mCzvnqzXjVJtXsj78ver","decimals":9},{"symbol":"afETH","address":"BiryxNvVTABRs3pEE4fvVuu4d17aAYEsNmcPnJ8E8WeT","decimals":9},{"symbol":"aSOL","address":"ASoLXbfe7cd6igh5yiEsU8M7FW64QRxPKkxk7sjAfond","decimals":9},{"symbol":"sBTC-8","address":"SBTCB6pWqeDo6zGi9WVRMLCsKsN6JiR1RMUqvLtgSRv","decimals":8},{"symbol":"wBUSD_v1","address":"AJ1W9A9N9dEMdVyoDiam2rV44gnBm2csrPDP7xqcapgX","decimals":9},{"symbol":"calUSD","address":"CALusHembJf3tQ69BxFbLRUSpGRwKzEnLKWUPhQo5dFk","decimals":9},{"symbol":"CASH","address":"CASHVDm2wsJXfhj6VWxb7GiMdoLc17Du7paH4bNr5woT","decimals":6},{"symbol":"eSOL","address":"Hg35Vd8K3BS2pLB3xwC2WqQV8pmpCm3oNRGYP1PEpmCM","decimals":9},{"symbol":"sUSDC-8","address":"88881Hu2jGMfCs9tMu5Rr7Ah7WBNBuXqde4nR5ZmKYYy","decimals":8},{"symbol":"wFRAX_v1","address":"8L8pDf3jutdpdr4m3np68CL9ZroLActrqwxi6s9Ah5xU","decimals":9},{"symbol":"FRAX","address":"FR87nWEUxVgerFGhZM8Y4AggKGLnaXswr1Pd8wZ4kZcp","decimals":8},{"symbol":"sUST-8","address":"UST8SCn7jrqsq51odVLqcmvnC658HkqrKrPL3w2hHQ7","decimals":8},{"symbol":"wFTT_v1","address":"GbBWwtYTMPis4VHb8MrBbdibPhn28TSrLB53KvUmb7Gi","decimals":9},{"symbol":"sFTT-9","address":"FTT9rBBrYwcHam4qLvkzzzhrsihYMbZ3k6wJbdoahxAt","decimals":9},{"symbol":"wHUSD_v1","address":"BybpSTBoZHsmKnfxYG47GDhVPKrnEKX31CScShbrzUhX","decimals":8},{"symbol":"MAI","address":"9mWRABuz2x6koTPCWiCPM49WUbcrNqGTHBV9T9k7y1o7","decimals":9},{"symbol":"NIRV","address":"NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa","decimals":6},{"symbol":"pBTC","address":"DYDWu4hE4MN3aH897xQ3sRTs5EAjJDmQsKLNhbpUiKun","decimals":8},{"symbol":"prtSOL","address":"BdZPG9xWrG3uFrx2KrUW1jT4tZ9VKPDWknYihzoPRJS3","decimals":9},{"symbol":"HBTC","address":"7dVH61ChzgmN9BwG4PkzwRP8PbYwPJ7ZPNF2vamKT2H8","decimals":8},{"symbol":"sETH-8","address":"SL819j8K9FuFPL84UepVcFkEZqDUUvVzwDmJjCHySYj","decimals":8},{"symbol":"ibBTC","address":"Bzq68gAVedKqQkQbsM28yQ4LYpc2VComDUD9wJBywdTi","decimals":8},{"symbol":"USDCpo","address":"E2VmbootbVCBkMNNxKQgCLMS1X3NoGMaYAsufaAsf7M","decimals":6},{"symbol":"USDTpo","address":"5goWRao6a3yNC4d6UjMdQxonkCMvKBwdpubU3qhfcdf1","decimals":6},{"symbol":"SRMet","address":"xnorPhAzWXUczCP3KjU5yDxmKKZi5cSbxytQ1LgE3kG","decimals":6},{"symbol":"USDK","address":"43m2ewFV5nDepieFjT9EmAQnc1HRtAF247RBpLGFem5F","decimals":8},{"symbol":"xBTC","address":"HWxpSV3QAGzLQzGAtvhSYAEr7sTQugQygnni1gnUGh1D","decimals":10},{"symbol":"srenBTC-10","address":"BtX7AfzEJLnU8KQR1AgHrhGH5s2AHUTbfjhUQP8BhPvi","decimals":10},{"symbol":"xETH","address":"8bqjz8DeSuim1sEAsQatjJN4zseyxSPdhHQcuuhL8PCK","decimals":9},{"symbol":"xSOL","address":"BdUJucPJyjkHxLMv6ipKNUhSeY3DWrVtgxAES1iSBAov","decimals":9},{"symbol":"xUSD","address":"83LGLCm7QKpYZbX8q4W2kYWbtt8NJBwbVwEepzkVnJ9y","decimals":6},{"symbol":"zSOL","address":"So111DzVTTNpDq81EbeyKZMi4SkhU9yekqB8xmMpqzA","decimals":9},{"symbol":"renLUNA","address":"8wv2KAykQstNAj2oW6AHANGBiFKVFhvMiyyzzjhkmGvE","decimals":6},{"symbol":"srenLUNA-9","address":"KUANeD8EQvwpT1W7QZDtDqctLEh2FfSTy5pThE9CogT","decimals":9},{"symbol":"swtUST-9","address":"UST98bfV6EASdTFQrRwCBczpehdMFwYCUdLT5tEbhpW","decimals":9},{"symbol":"agEUR","address":"CbNYA9n3927uXUukee2Hf4tm3xxkffJPPZvGazc2EAH1","decimals":8},{"symbol":"sagEUR-9","address":"EU9aLffrTckFCs16da6CppHy63fAxMPF9ih1erQTuuRt","decimals":9},{"symbol":"sCASH-9","address":"C9xqJe3gMTUDKidZsZ6jJ7tL9zSLimDUKVpgUbLZnNbi","decimals":9},{"symbol":"sBTC-9","address":"9999j2A8sXUtHtDoQdk528oVzhaKBsXyRGZ67FKGoi7H","decimals":9},{"symbol":"FTT","address":"EzfgjvkSwthhgHaceR3LnKXUoRkP6NUhfghdaHAj1tUv","decimals":8},{"symbol":"swFTT-9","address":"FTT9GrHBVHvDeUTgLU8FxVJouGqg9uiWGmmjETdm32Sx","decimals":9},{"symbol":"ssoFTT-8","address":"FTT8cGNp3rfTC6c44uPTuEFLqmsVDhjd2BhH65v2uppr","decimals":8},{"symbol":"sUSDT-8","address":"T8KdT8hDzNhbGx5sjpEUxepnbDB1TZoCa7vtC5JjsMw","decimals":8},{"symbol":"sLUNA-9","address":"LUNGEjUXyP48nrC1GYY5o4eTAkwm4RdX8BxFUxWJBLB","decimals":9},{"symbol":"sCASH-8","address":"CASHedBw9NfhsLBXq1WNVfueVznx255j8LLTScto3S6s","decimals":8},{"symbol":"LPFi","address":"LPFiNAybMobY5oHfYVdy9jPozFBGKpPiEGoobK2xCe3","decimals":9},{"symbol":"yPRT","address":"yPRTUpLDftNej7p6QofNYgRArRXsm6Mvkzohj4bh4WM","decimals":6},{"symbol":"BUD","address":"BUD1144GGYwmMRFs4Whjfkom5UHqC9a8dZHPVvR2vfPx","decimals":6},{"symbol":"TYNA","address":"3QuAYThYKFXSmrTcSHsdd7sAxaFBobaCkLy2DBYJLMDs","decimals":3},{"symbol":"DoggyStyle","address":"3in9a9yHtdjDFRjDyGTTpGUwJpT9zZBcyjQ8J7nqqNtq","decimals":9},{"symbol":"wCAPS_v1","address":"FeLoyXk8ac2AYVmDhAWEKNWWT63Z9TczeidYbpDvxF3T","decimals":8},{"symbol":"PUSSY","address":"BjTUmZjNUUAPKHVdTs8yZsCmecW5isSK4AbuFihXoUwa","decimals":9},{"symbol":"XVC","address":"25Vu6457o2gdZRGVVt5K8NbAvaP3esYaQNHbNDitVtw1","decimals":9},{"symbol":"BABY","address":"Uuc6hiKT9Y6ASoqs2phonGGw2LAtecfJu9yEohppzWH","decimals":9},{"symbol":"BITCH","address":"AMNoi4727tzy7adu4wnx3cN2VQbQdG71DqaPoSm7isJ3","decimals":9},{"symbol":"CYS","address":"BRLsMczKuaR5w9vSubF4j8HwEGGprVAyyVgS4EX7DKEg","decimals":6},{"symbol":"LFNTY","address":"LFNTYraetVioAPnGJht4yNg2aUZFXR776cMeN9VMjXp","decimals":6},{"symbol":"xLFNTY","address":"xLfNTYy76B8Tiix3hA51Jyvc1kMSFV4sPdR7szTZsRu","decimals":6},{"symbol":"xLPFi","address":"xLPFiPmWve5rUnAYcHZSZWjwgyqEdcV6dDzoBJRtNw9","decimals":9},{"symbol":"CRM","address":"CRMaDAzKCWYbhUfsKYA8448vaA1qUzCETd7gNBDzQ1ks","decimals":9},{"symbol":"C98","address":"C98A4nkJXhpVZNAZdHUA95RpTF3T4whtQubL3YobiUX9","decimals":6},{"symbol":"SNTR","address":"SENBBKVCM7homnf5RX9zqpf1GFe935hnbU4uVzY1Y6M","decimals":9},{"symbol":"MPLX","address":"METAewgxyPbgwsseH8T16a39CQ5VyVxZi9zXiDPY18m","decimals":6},{"symbol":"MDS","address":"9TVjnzpF3X8DHsfVqYWoCGphJxtGYh1PDCFN5QmsHW5t","decimals":9},{"symbol":"CMPN","address":"9tQhCmFtCh56qqf9szLQ8dNjYcd4TTv6MWPpw6MqLubu","decimals":6},{"symbol":"PULP","address":"5YtGSyQ7YxFgDc9oj4SpZGTjoS5p5Fubkg8sMauQqXoS","decimals":9},{"symbol":"vBLSH","address":"FNMLmBPkhh7nBFyGHsdrmCuvgEf6ygpaVqFejimHEx9V","decimals":9},{"symbol":"ISKT","address":"isktkk27QaTpoRUhwwS5n9YUoYf8ydCuoTz5R2tFEKu","decimals":2},{"symbol":"FOXY","address":"FoXyMu5xwXre7zEoSvzViRk3nGawHUp9kUh97y2NDhcq","decimals":0},{"symbol":"GOBI","address":"MarcoPaG4dV4qit3ZPGPFm4qt4KKNBKvAsm2rPGNF72","decimals":6}] --------------------------------------------------------------------------------