Agora is a flexible language for pricing queries. There are a wide variety of use-cases that it must support.
For example, an Indexer may want to express value-based pricing - where the price of a query is based on a notion of the value of that query to a Consumer. Or, the Indexer may want to express cost-based pricing where the price is based on the cost to the Indexer for serving the query. Additionally, an Indexer may want to make frequent adjustments in response to changing market conditions, finely tune prices based on multiple elements within the query, or even ban some queries outright.
Agora is intended to provide this flexibility while still being readable, performant, and easy-to-use.
It is recommended when learning Agora to read the Language Reference starting at Models and paying special attention to the section on Matches.