Bicrypto 5.6.3

6 January 2025

BUG FIXESECOSYSTEM TRADINGORDER MATCHINGFEE CALCULATIONSWALLET MANAGEMENTNOTIFICATIONS

Core v5.6.3

Release Date: January 6, 2025 Tags: BUG FIXES, ECOSYSTEM TRADING, ORDER MATCHING, FEE CALCULATIONS, WALLET MANAGEMENT, NOTIFICATIONS

Added

Trading Features

  • Added automatic detection of maker or taker status at order creation
    • The system checks whether a limit order will match immediately (taker) or rest on the book (maker)
    • The matching fee rate is applied
    • Lower maker fees encourage market depth

Changed

Fee Model

  • Changed fee assignment to the industry-standard maker/taker model
    • Market orders use the taker fee (removes liquidity)
    • Limit orders that cross the spread use the taker fee (removes liquidity)
    • Limit orders that rest on the book use the maker fee (adds liquidity)
    • Fees were previously assigned on the buy/sell side alone, which was incorrect

Order Matching

  • Changed fee calculation to handle partial fills proportionally
    • A 10% fill now charges 10% of the fee, where it previously charged the full fee
    • Locked funds are released proportionally, including the fee portion
    • All calculations maintain 18 decimal precision

Wallet Operations

  • Changed wallet updates to prevent balance discrepancies
    • Current wallet data is fetched before each update, so a stale figure cannot be written back
    • Order creation and cancellation are handled separately from order matching
    • Both the balance and the locked amount are validated before an update

Balance Display

  • Changed the wallet endpoint to return the full breakdown: total balance, the amount locked in orders, and the available balance
  • Changed the trading interface to show that breakdown clearly
    • The total owned balance is shown prominently
    • Locked funds are shown with a lock icon when applicable
    • The available balance is highlighted in green

Fixed

Ecosystem Order Matching

  • Fixed sellers being charged the full order fee on a partial fill — only the filled amount is now charged for
  • Fixed a buyer's funds staying locked forever on partial fills — the proportional cost and fee are now released
  • Fixed trade balances going negative because wallet figures arrive as text and were used in arithmetic without being converted to numbers
  • Fixed unfair price matching where the buyer always got their price — the maker's price is now used, meaning whoever placed the order first
  • Fixed orders executing even when the wallet update failed for insufficient funds — matching now aborts when validation fails
  • Fixed order matching continuing after a wallet update error — failed matches are skipped and the orders remain available for retry
  • Fixed partial fill cancellation refunding too much — only the remaining unfilled portion is now refunded

Email Notifications

  • Fixed email verification and deposit confirmation emails not being sent, caused by a missing URL shortcode in template validation

Trading Interface

  • Fixed the trading page showing only the available balance — total balance, locked amount and available balance are now shown separately
  • Fixed candlestick data not reaching subscribers when orders are matched