logo
Published on

Simplifying Trades in N3 Trader

Overview

We are simplifying trades to reduce GAS fees and increase trade completion rates.

As this requires a few backwards-incompatible changes, we will have to cancel some active trades where Makers have not transferred their tokens to the N3 Trader contract.

All tokens in cancelled trades will be returned to their respective owners.

Why are we making these changes?

When we launched N3 Trader, creating and completing trades on N3 Trader required multiple contract invocations from users:

  • Create Trade
  • Transfer Tokens * Number of Tokens (Taker)
  • Transfer Tokens * Number of Tokens (Maker)

This provided flexibility for users and created additional use cases such as not having to commit all tokens to escrow before both parties are ready to complete the trade.

It was also possible for Makers to create multiple trades with the same token to allow interested Takers the option of taking either trades.

However, this has resulted in some trades where the Taker has committed their tokens and the Maker has not.

As we currently do not have a notifications system (on the roadmap), there is no way to notify Makers that they have pending trades.

This leads to trades that may never be completed or cancelled.

What are we changing?

Trade creation and completion now only requires 2 contract invocations from users:

  • Create Trade
  • Take Trade

N3 Trader will now require Makers to transfer their tokens to the contract when creating trades (CreateTrade).

Interested Takers can then immediately complete the trade by transferring their side of the tokens (TakeTrade).

We will also be removing the Refund option for Takers, which is no longer required.

The reduced number of contract invocations also reduces GAS fees required to create and complete a trade.

These changes introduce certain incompatibilities with some existing active trades which we will have to cancel.

All tokens in the cancelled trades will be returned to their respective owners.

Future Plans

We will be introducing Trade Offers to allow Makers to list tokens they want to trade.

Interested Takers can then submit trade offers and Makers can accept offers that meet their needs.

This will hopefully be a useful addition for traders who wish to trade with and accept more generic tokens such as any Neoverse Fragment H instead of needing to specify only one token, e.g. Fragment H #1, which is currently the case when creating a trade.

If you have any concerns, feedback or suggestions, feel free to drop by our discord server.