On DMEX each trade is an electronic agreement between two parties, one taking one side of the trade and the other party taking the other side.
On DMEX everyone is not trading the same futures contract, the futures contract is unique for each order and can have a predefined term. When creating an order, the user generates a new electronic agreement that can have any expiration term, therefore when opening a position with a 90D expiration term, it will expire in 90 days from order creation (not on quarterly basis).
The expiration term is the number of blocks before the position will be settled using the price from the Oracle.
The chosen expiration term is converted to seconds.The seconds are then divided by 14 (the current rate of block generation is 1 block each 14 seconds) and added to the latest block number. This gives us the block number when the position will expire.
The actual expiration time may vary since the rate of new blocks can vary in time. However the actual expiration time will be reasonably close to the predicted expiration time.