The Curve registry contracts are open source and may be found on Github.

The registry is comprised of the following contracts:

  • AddressProvider: Address provider for registry contracts. This contract is immutable and it’s address will never change. On-chain integrators should always use this contract to fetch the current address of other registry components.

  • Registry: The main registry contract. Used to locate pools and query information about them as well as registered coins.

  • PoolInfo: Aggregate getter methods for querying large data sets about a single pool. Designed for off-chain use.

  • Swaps: The registry exchange contract. Used to find pools and query exchange rates for token swaps. Also provides a unified exchange API that can be useful for on-chain integrators.