# Zoe API

Zoe v0.18.1. Last updated 2021-09-13.

Beta status

The Agoric platform is at the beta stage. It has not yet been formally tested or hardened. Do not use for production purposes.

The Zoe framework provides a way to write smart contracts without having to worry about offer safety. To use Zoe, we put things in terms of "offers". An offer proposal is a statement about what you want and what you're willing to offer. It turns out, many smart contracts (apart from gifts and one-way payments) involve an exchange of digital assets that can be put in terms of offer proposals.

Start creating your own contract or build on any of our existing contracts. Explore our pre-built contracts here.

The Zoe API is divided into the following sections:

  • Zoe Service - The methods for deploying and working with smart contracts.
  • Zoe Contract Facet - These Zoe methods can be called synchronously by contract code. A contract can use the Zoe Contract Facet (zcf) to do things like reallocate among offers or complete an offer.
  • ZoeHelpers for writing contracts - Functions that extract common contract code and patterns into reusable helpers.
  • Fees and Metering - The fees that Zoe charges and how contract owners are charged for the execution of their contract code.
  • Price Authority - Functions related to priceAuthority objects that provide a price feed, on-demand quotes, and wakeups for various time and price conditions. See the Zoe Guide's Price Authority section
  • Ratio Math - Functions that perform math operations on Amounts by ratios of two natural numbers (i.e. fractions).