I'm using the Java SDK.

With the ManageOfferOperation class passing an amount and price but it's not taking the price I set. Instead it always sets a different price, which I believe is the market price.

Is there something I'm missing?

1 Answer 1


The price you set with manageOffer is the maximum price when buying and the minimum price when selling. So it will match the best available price in the orderbook.

If you make an offer that has an immediate counterpart on the orderbook it will behave like a market order (take liquidity).

If you make an offer that doesn't have an immediate counterpart in the orderbook it will behave like a limited order (provide liquidity).

  • What we are noticing is that when selling BTC for XLM and making an offer, for example: sell BTC, buy XLM, quantity of btc to sell =0.5, price=0.000033 The order is executed not at price=0.000033, but it is always executing at lowest ASK price in the orderbook. As if it is a market order. Not a limit order. The problem seems to be when sell BTC, buy XLM, no matter price we put down as our parameter it always seems to execute at lowest ASK price, no the price we put down in our offer. Does anyone experience anything like this? Commented Sep 20, 2018 at 9:32
  • Ok so it behaves like the createPassiveOffer operation. It should not be the case. Commented Sep 20, 2018 at 14:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.