> For the complete documentation index, see [llms.txt](https://ogroute.gitbook.io/ogroute-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ogroute.gitbook.io/ogroute-docs/readme.md).

# Introduction

**OpenAjo** brings Nigeria's rotating savings groups — *ajo*, *esusu*, *adashe* — on-chain. A group agrees to contribute a fixed amount on a schedule; each cycle, the whole pot pays out to the next member in turn. OpenAjo replaces the trusted human collector with a [Soroban](https://developers.stellar.org/docs/build/smart-contracts/overview) smart contract on Stellar that no one controls.

## The problem

Rotating savings is how a large share of Nigeria saves. Per [EFInA](https://efina.org.ng/research/)'s Access to Financial Services survey, **14.6 million Nigerian adults relied on informal mechanisms only in 2018** — savings groups, *esusu*, *ajo*, and collectors — up from 9.4 million in 2016. These groups work on trust, and that trust is the weak point:

* The collector holds everyone's money between cycles. "The *ajo* collector ran away with our money" is a loss story millions of people know first-hand.
* Records are on paper or in one person's head. Disputes have no source of truth.
* A member who collects their payout early has no reason to keep contributing.

Existing apps — AjoMoney, Thrifto, Alajo, KoloPay — digitize the ledger, but they replace the collector with a **company** you must trust instead. The custodian changes; the custody problem doesn't.

## How OpenAjo is different

There is no custodian. A Soroban contract holds the funds and enforces the rules:

* **Escrow** — contributions and deposits are locked in the contract, not in anyone's account.
* **Enforced order** — payout order is fixed at activation and executed by code.
* **Priced default** — every member posts a security deposit. Miss a contribution and the shortfall is slashed from your deposit into the pot, so the group is made whole.
* **Portable reputation** — a member who defaults is recorded permanently in an on-chain registry, visible to every future circle.
* **No trusted operator** — anyone can trigger a due settlement (`settle_cycle` is permissionless), so circles keep moving without a middleman.

## Why Stellar

* **Fees are fractions of a cent.** A contribution can be as small as ₦1,000-worth of USDC without fees eating the savings — the difference between viable and not for this use case.
* **USDC has real on/off-ramps in Nigeria**, so the value in a circle is spendable, not stuck.
* **Soroban** gives the contract the escrow, authorization, and cross-contract calls the protocol needs.

## Live on testnet

The contracts are deployed and verified on the Stellar test network.

| Contract     | ID                                                                                                                                                                      |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `circle`     | [`CCLVOHGHDH32GWFAMCEMVHLNJSF6ENVHERYWU2OHUYWWLAOKLVR3HGKS`](https://stellar.expert/explorer/testnet/contract/CCLVOHGHDH32GWFAMCEMVHLNJSF6ENVHERYWU2OHUYWWLAOKLVR3HGKS) |
| `reputation` | [`CDXPH2PYUTRW7GV57X6CJH3E3JOPROSC23NXPMAXOO3EOBI5UTCB2GTQ`](https://stellar.expert/explorer/testnet/contract/CDXPH2PYUTRW7GV57X6CJH3E3JOPROSC23NXPMAXOO3EOBI5UTCB2GTQ) |

## Where to go next

* New to the protocol? Read [Circle lifecycle](/ogroute-docs/protocol/lifecycle.md).
* Want to use it? Start with [Set up a wallet](/ogroute-docs/user-guides/wallet.md).
* Building on it? See [Architecture](/ogroute-docs/developer-guide/architecture.md) and the [SDK reference](/ogroute-docs/developer-guide/sdk.md).

> OpenAjo is unaudited and deployed to testnet only. Do not use it with mainnet funds.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ogroute.gitbook.io/ogroute-docs/readme.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
