Today OpenRelay is excited to announce Pools. Pools allow us to create separate order books that can have independent rules for what orders can be added to a given pool.Parameters
There are several parameters that can be independently managed for each pool:Fees: Each pool can specify fees in terms of a ratio against OpenRelay’s base fee. This makes it possible to have pools with fees that are higher or lower than the default pool, or even pools that have no fees at all. Ingest Criteria: Each pool can specify a contract to evaluate whether each order meets the criteria for that pool. For example, a pool may have a contract that only allows orders provided by KYCed users, or a contract that only allows orders for a limited set of tokens. Search Criteria: Pools can specify search criteria separate from their ingest criteria. Some pools may restrict orders only to the set of orders that were submitted through the ingest pipeline for that pool. Alternatively, some pools may pull orders submitted to other pools if they meet the search criteria. Order Count: Pools can be restricted in the number of active orders at one time. Once a pool reaches its maximum number of orders, no new orders will be accepted until some existing orders have been filled, cancelled, or otherwise invalidated. Expiration: Pools can be restricted with an expiration date. After a pool expires, the orders in it remain available, but no new orders will be accepted by the pool. Pool Interactions
Pools work with the same Standard Relayer API as the rest of OpenRelay. The only difference is that it is nested one layer deeper in a namespace dedicated to that pool. So if you wanted to interact with a pool named mypool, you would access it at https://api.openrelay.xyz/mypool/v2
If you are running the open source version of OpenRelay, you may want to create pools on your own instance. OpenRelay comes with a poolmgr commandline utility that can ...