solanasolana-web3js

problem in understanding Jupiter's GET /quote


I am currently trying to swap some tokens in Python using Jupiter to generate the quote for my transactions.

Their method is well detailed and I can swap my SOLs for some random token. In this case the amount field is lamports.

However when I try to go the other way, I just can't figure what should amount be.

I've tried

And each time the actual amount sold looked so random.

So how should I fill the amount parameter when I'm not swapping from SOLs ?


Solution

  • It should be Raw Amount in token's decimals. This means amount should be how much of that token you have.

    When buying: amount of sol lamports. solana has 9 decimals, so if you want to buy 0.1 sol of the target token you need to input 0.1 x 1_000_000_000 = 100_000_000

    When selling: amount of how much token you have. for example you have 435.54 $some token. and token decimal is 6. so 435.54 x 1_000_000 ( 6 zeros, because token's decimal is 6.