P2P Trading 6.0.7

15 February 2026

BUG FIXESSCAM PREVENTIONDISPUTE RESOLUTIONTRADE DASHBOARDADMIN FIXES

P2P v6.0.7

Release Date: February 15, 2026 Tags: BUG FIXES, SCAM PREVENTION, DISPUTE RESOLUTION, TRADE DASHBOARD, ADMIN FIXES

Changed

Trade Dashboard

  • Changed the trade dashboard to show cancelled trades in their own tab, with the cancellation reason and date.
  • Changed the active-trades query to use the platform's real status values.

Trade Safety

  • Changed the trade page to replace the action button with a clear warning message once the payment window has expired.
  • Changed what happens after payment is confirmed: both parties are now directed to open a dispute rather than cancel, preventing fund loss.

Data Handling

  • Changed the admin pages to tolerate stored fields that arrive as text rather than as a list, so a page no longer fails on them.

Fixed

Critical: Scam Prevention - Trade Cancellation After Payment

  • Fixed a critical vulnerability where the seller could cancel a trade after the buyer confirmed payment, allowing the seller to keep both the fiat payment and the crypto.

    • All cancellations, by either party, are now blocked once the trade is at PAYMENT_SENT.
    • Both parties must open a dispute instead of cancelling after payment confirmation.
    • The seller's Cancel button is removed once payment has been sent.
  • Fixed the buyer being able to confirm payment after the trade's payment window had expired.

    • Expiry is now measured from the trade's creation time plus its payment window.
    • The Confirm Payment button is replaced with an expiry warning message once the trade has timed out.
    • This prevents late payments that could cause confusion and disputes.

Critical: Dispute Resolution Fee Calculation

  • Fixed the "Insufficient held funds: 1 ETH held, 1.002 required" error when an administrator resolves a dispute in favour of the buyer. The release asked escrow for the trade amount plus the fee, while only the amount had ever been locked.
    • The escrow fee is now subtracted from the trade amount when crediting the buyer, rather than added on top when releasing from escrow.
    • Example: a 1 ETH trade with a 0.2% fee releases 1 ETH from hold, the buyer receives 0.998 ETH, and the platform keeps 0.002 ETH.

Trade Dashboard Not Showing Active/Cancelled Trades

  • Fixed the P2P trade dashboard at /p2p/trade not showing active trades. It queried two status values that do not exist; it now reads PENDING and PAYMENT_SENT.

  • Added a Cancelled Trades tab to the dashboard, listing cancelled trades with their cancellation reason and timestamp.

Users Unable to Trade Full Balance

  • Fixed the "Insufficient offer amount. Available: 1 TRX, Requested: 2 TRX" error when a user tried to trade their full balance.
    • The offer's total is held in crypto units and was being divided by the price as though it were a fiat figure.
    • The maximum now divides by the price only when a fiat maximum is set, and otherwise uses the offer's total directly.
    • The offer amount is validated before the wallet is locked, so a genuine shortfall reports a clearer message.

Admin Offer Detail Page TypeError

  • Fixed the admin offer detail page failing outright when it read an offer's activity log. The log is stored as text and was being treated as a list; it is now parsed before use, and both the detail page and the offer details drawer guard against the same shape.