Dissapearing Funds

Stacks Testnet: ST37N35P4903CB8S91SHHYYQ3Q44Q3HCJS8RD4TKW
Stacks Mainnet: SP37N35P4903CB8S91SHHYYQ3Q44Q3HCJSBP8DCVF

Trading PaIr: STX/xUSD

I placed a sell order at 0.503. This order was added to Open Orders and the orderbook.
I then placed a buy order also at 0.503 and this order was also added to Open Orders and the orderbook.

(This was possible because there was enough of a spread to do it and no other active users on the system from what it seemed. The orderbook reflected both buy and sell orders at the same price)

After a while, both transactions dissapeared (as though they had been filled, whether by myself or someone else) and the total amount of funds placed in order had then dissapeared from my wallet.

After the above happened, I redid the excercise in order to get a screenshot as attached, I could not get a screenshot of the orderbook at the time.

I have found that at 4:10PM GMT+2, a similiar situation was on the orderbook with buy and sell orders both at 0.496. This remained so for about 3 minutes from when I started watching it and provided is a screenshot.

It would be pleasurable to have a pending transaction notice or something of that sort to inform users of what is happening.

A user is also not informed/aware between the time when a pending transaction in the orderbook is accepted and dissapears from the ‘open order’ and the time when the balances update.

Something needs to remain on the screen to keep users from panicking or wondering.

During the time when the system is matching order, those order should not be placed on the orderbook as it is an additional complication to consider when trading. You could allow for only cleared orders to appear on the orderbook, in such a way that you would have a pre-clearing mechanism (kind of like microblocks and anchor blocks).

Discord ID: NuriKols#4750 (preferable)
Telegram ID: @WaseemK

-4
The balance would be refreshed when the trade is settled. You can check the Trade History for trade details. If the status is still settling, you need to wait until the settling is complete.

can you explain more about this part? thanks

1 Like

What I should have said is “During the time when the system is matching orders, these orders should not be REFLECTED on the orderbook, as it is an additional complication to consider when trading.”

So the process i propose is as follows:

1- User inputs and confirms order + accepts in wallet etc…
2- User is notified and kept aware that it is pending.
3- The order is then matched to other existing orders, settled and the balance is reflected on the orderbook.

Notes:

The orders are placed in a linear form, one after the other. Because of this, the trading engine needs to be one step ahead to only make visible on the orderbook what is actually available.

Otherwise, trading on Alex will become a science of its own.


Regarding the micro/anchor block story:

If the time needed to close a transaction is example 15 minutes.
Then in that time, the trading engine should process a batch and the final results of all transactions in that batch. The final result will be the balance of all orders and this will be what is reflected in the orderbook for users to see.

So when transaction hit a microblock, the trading engine can start calculating a settled end result to show on the orerbook, and as transactions progress to anchor block the trading engine receives confirmation.

This may also require submitting groups of transactions at a time.
So for example, this above process can happen every 30 seconds or 1 minute or 10 minutes etc. (based on trading frequesncy). Users submit info into a PRE-ALEX-BLOCK, the settled result then gets transmitted to chain.

Don’t pay too much attention to my ramblings but if its beneficial then great stuff.

Stacks Testnet: ST37N35P4903CB8S91SHHYYQ3Q44Q3HCJS8RD4TKW
Stacks Mainnet: SP37N35P4903CB8S91SHHYYQ3Q44Q3HCJSBP8DCVF

Using the swap feature, I had traded STX to other coins like NYC, Miami etc.

The balances on all of these have dissapeared as well and I cannot trade them back into STX.