The Relay Hub tracks ownership of funds and can move funds between different accounts according to specific rules. The current reference implementation of the Hub is centralized service, with short-term plans to move to a decentralized design (eg. Relay Hub as a chain).

As described in the Oracle section, the Hub takes oracle attestations of various external actions and changes its internal state according to specific rules. On top of the responding to external triggers, the Hub also supports some internal actions, executed by users directly via the Hub interface:

  • withdrawals: users can request withdrawing any funds the have available on the Hub - this will result in a lock being held on the withdrawn funds until an oracle attestation of the withdrawal is sent back to the Hub
  • unlocks: in rare cases, it can happen that order initiation deposits will not result in any action done by the solver (fill or refund) - when this happens, anyone is able to trigger an unlock of the corresponding Hub order-locked balance once the initial order expires