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

# Contracts Explained

Contracts in the Arkeo system represent agreements between service providers and their clients. These contracts define the terms of service, including payment terms, service duration, authorization methods, and rate limitations. They provide a structured and secure way to govern interactions, payments, and accountability between clients and providers.

Contracts play a critical role in Arkeo's decentralized transaction system by enabling off-chain authorization (client signatures and usage tracking) combined with on-chain settlement (payments processed through blockchain transactions). By structuring interactions this way, Arkeo ensures efficiency, transparency, and security while minimizing blockchain overhead.

## Contract Types Overview

### Arkeo supports two primary types of contracts:

* **Subscription (Fixed Duration)**: Suitable for fixed-term services, offering predictable billing and simple management.
* **Pay-As-You-Go (PAYG)**: Suitable for services charged per usage, offering flexibility and precise control over costs and resource use.

### Comparison of Contract Features

| Feature                    | Subscription (Less Strict) | Pay-As-You-Go (More Strict) |
| -------------------------- | -------------------------- | --------------------------- |
| Fixed Contract Duration    | ✅                          | ✅                           |
| Client Signatures Required | ❌                          | ✅                           |
| Rate Limiting              | ✅                          | ⚠️ (Optional)               |
| Prepaid Deposits           | ✅                          | ✅                           |
| Whitelist Management       | ✅                          | ⚠️ (Optional)               |
| Settlement Grace Period    | ✅                          | ✅                           |
| Deposit Reimbursement      | ❌                          | ✅                           |
| Strictness                 | ⚠️ (More Open)             | ⚠️ (More Strict)            |

## When to Use Each Contract Type

### Subscription (Fixed Duration)

Use this contract type when:

* Strict signatures is not desired.
* Whitelist authentication is acceptable.
* Service requirements and usage are predictable and stable.
* You prefer simple management with less frequent on-chain interactions.
* There is no need to track individual usage per transaction.

### Pay-As-You-Go (PAYG)

Use this contract type when:

* Services are highly variable or usage-based.
* Precise metering and billing per transaction are necessary.
* Enhanced control and accountability through client signatures are required.
* Better decentralization and security.


---

# 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://docs.arkeo.network/how-to-use-arkeo/contracts.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.
