This article summarizes my first thoughts about the correct way a Bitcoin client should enable its operator to issue transactions. It is based on my reflexion as well as my experience in broadcasting dozens of hand-crafted transactions for which the bitcoin-core built-in wallet repeatedly demonstrated its ineptitude. As it currently stands, the wallet is an embedded part of the reference implementation. The job of the node is to connect bitcoin hash table others via the Internet, and to exchange information with them.
The job of the wallet is to prevent others from connecting via the Internet, which makes the tension quite evident. The wallet, which uses the previous pieces to create transactions, sign and broadcast them. Query the UTXO for unspent outputs given a set of addresses. While the latter doesn’t present much implementation challenges, the former is a whole different story, depending on the particular way it is implemented. Obviously this means the transaction history for addresses can’t be directly queried from the node without a full blockchain rescan. Whatever the approach, the node simply has to output UTXOs, and receive signed transactions as input for broadcast.
To be continued, comments more than welcome ! Unlike PRB, which somehow thinks whatever’s already in your mempool has precedence over what you’re explicitly telling it to swallow. Long story short I ended up opening a short for 20 BTC around 749 EUR per. My lack of faith, disturbing as it was, ended up promptly rewarded with a well-deserved beating. After some additional servings of the same flavour of fail I figured that ending the blood-bath was well overdue. What the fuck did it even mean to not have enough margin to close a position?
A second attempt yielded the very same result. I have more than enough funds on my account to take this loss without problems, yet your interface keeps telling me that closing my position would Exceed my margin ! This position is quite clearly in the red which is my responsibility, letting me close it and take my loss is your responsibility. I obviously can’t accept the loss part that’s due to your system not working correctly. I should obviously not be limited by margin considerations when the trade I’m making is reducing my exposure and decreasing the size of my net position. The position I want closed was opened with the order, my account name is .
I got an actual answer from Mike, let’s call him Luc. I am consulting with our trading specialists at the moment to confirm exactly what the cause of this may be. Can you cancel these orders and then attempt your position closing order again and let me know how it goes? If your engine has a measure of allowed margin that is impacted by these orders and prevented me from closing the position, then that’s obviously a bug on your end that requires fixing on your end, and compensation for the extra loss I’m incurring due to my impossibility to close the position.
We have confirmed that your open orders, even while untouched do count towards your total margin borrow limit due to this there was insufficient remaining EUR margin borrow limit for you to place one single order to close your position. EUR sell on margin, meaning that the security borrowed for this was XBT so was counted against your XBT margin borrow limit. EUR buy orders on margin which are counted against your EUR margin borrow limit. There is no way for us to tell in advance which pending orders you may have which will close or even reverse an open position so all are counted towards your margin borrow limit. The only problem we acknowledge here is that we could be more explicit in our documentation about the fact that orders placed which will create margin positions are counted towards your Margin Borrow limit as soon as they are created, regardless of whether they have been fully or partially filled yet. We will be updating our support centre documentation on Margin Borrow limits to make sure this is clearer.
So here we are, let’s kick back and let it sink in for a minute. Given these insane rules you can put yourself in a position where it is not possible to liquidate a position other by dicking around manually in small chunks and without the ability to place STOPs! In conclusion I’ll point out once again the fucking elephant in the room: the proceeds of a trade with borrowed assets are somehow not yours to use to make the opposite trade in order to return said borrowed assets. Margin trading, for the noobs among us, basically consists in trading funds one doesn’t have by borrowing them, on the premise that one should at least provide enough cash upfront to cover for the variations in value of the resulting position.
For example, should one want to bet on a Bitcoin’s price increase, one could provide 1`000 EUR upfront, borrow 10`000 EUR and buy the equivalent of these 10`000 EUR in Bitcoin. Should the price of Bitcoin appreciate, one could, at any time, liquidate this position by selling the Bitcoin, return the 10`000 EUR to the lender, and pocket the difference as profit. Should one’s prediction end up incorrect, the loss would be accounted against the cash deposit. Again, for the noobs among us, STOP orders are orders that get automatically activated once the price reaches a certain point, they’re quite useful to automatically take a profit on profitable positions, or cut losses on unprofitable ones. Tier-3 trader could borrow 150 BTC and 25kEUR for the purpose of margin trading.
In other words one would have to do it manually in at least six passes. Ces commissions ont, à juste titre, été contestées à de nombreuses reprises sur le fondement du dépassement du taux d’usure. Ce dernier est très largement dépassé quand on intègre le montant des commissions d’intervention aux agios facturés pour une opération débitrice donnée. Ces contestations, portées en justice, ont logiquement abouti à la condamnation de plusieurs banques au remboursement de sommes atteignant parfois plusieurs milliers d’euros. 2013-931 du 17 octobre 2013 qui instaure des plafonds quotidiens et mensuels à ces commissions. On attend avec impatience que le gouvernement limite à deux par semaine le nombre de viols dont une personne peut-être victime. Pour la protection des droits des femmes, bien entendu.