Skip to main content
The order server provides an easy tracking solution for both on-chain and off-chain orders. You can track orders using either the on-chain orderId emitted or through the order-server generated id. The on-chain orderId is deterministic and is generated by the following code:
function orderIdentifier(
  StandardOrder calldata order
) internal view returns (bytes32) {
  return keccak256(
    abi.encodePacked(
      block.chainid, // originChainId
      address(this), // Address of input settler
      order.user,
      order.nonce,
      order.expires,
      order.fillDeadline,
      order.inputOracle,
      keccak256(abi.encodePacked(order.inputs)),
      abi.encode(order.outputs)
    )
  );
}
Any event that pertains to an order can be tracked through events that have the orderId as topic1. Alternatively, it can be collected from the Open event: Open(bytes32 indexed orderId, StandardOrder order) . When an order is filled, OutputFilled(bytes32 indexed orderId, ...) will be emitted:
event OutputFilled(
  bytes32 indexed orderId,
  bytes32 solver,
  uint32 timestamp,
  MandateOutput output,
  uint256 finalAmount
);
When an order is finalised by a solver, after filling it, they will claim the intent and trigger:
event Finalised(
  bytes32 indexed orderId,
  bytes32 solver,
  bytes32 destination
);
Alternatively, if a refund has been issued through the escrow input settler:
event Refunded(
  bytes32 indexed orderId
);

Order Server

The order server stores orders and keeps track related on-chain events. The order server knowledge about an order can be retrieved by calling /orders/status using either onChainOrderId or catalystOrderId. The order server returns an order summary which includes a meta field containing an orderStatus enum:
{
  "order": StandardOrder,
  "quote": null,
  "sponsorSignature": null,
  "allocatorSignature": null,
  "inputSettler": string,
  "meta": {
    "submitTime": 1760548675808,
    "orderStatus": "Signed" | "" | "Settled",
    "destinationAddress": string,
    "orderIdentifier": string,
    "onChainOrderId": string,
    "signedAt": string | null,
    "deliveredAt": string | null,
    "settledAt": string | null,
    "expiredAt": string | null,
    "lastCompactDepositBlockNumber": number | null,
    "orderInitiatedTxHash": string | null,
    "orderDeliveredTxHash": string | null,
    "orderVerifiedTxHash": string | null,
    "orderSettledTxHash": string | null
  }
}