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

# Osige Developers

Technical documentation for Osige Protocol: protocol mechanics, contract and API integration, CL hook development, public data interfaces, infrastructure boundaries, and operational resilience.

{% hint style="warning" %}
Osige is currently deployed on **GIWA Sepolia**. Test assets have no monetary value. Contract addresses, APIs, and security assumptions can change before mainnet.
{% endhint %}

## Audience

This site is written for:

* external developers evaluating or integrating Osige;
* technical reviewers assessing protocol and operational design;
* product and ecosystem teams planning an integration;
* security researchers reviewing trust and failure boundaries.

It is not a repository handbook or an internal runbook. Public interfaces and externally relevant guarantees are documented here; implementation layout and privileged operational procedures are intentionally out of scope.

## What this documentation covers

| Question                                                            | Start here                                                                                         |
| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| How do I connect and verify a deployment?                           | Quickstart                                                                                         |
| Should I use contracts, SDK, API, GraphQL, or direct RPC?           | Choose an integration path                                                                         |
| How does Infinity account and settle a transaction?                 | Infinity mechanism                                                                                 |
| What uniquely identifies a pool?                                    | PoolKey and pool identity                                                                          |
| How can a pool opt into additional behavior?                        | Hook model and lifecycle                                                                           |
| How do I build, test, and deploy a hooked pool?                     | Build a hook, Test a hook, and Deploy a hook and create a pool                                     |
| How do I secure caller attribution and pool-scoped state?           | Security and caller attribution                                                                    |
| Which implemented and conceptual policies can I study?              | [Hook recipes](/developers/cl-hook-development/recipes.md)                                         |
| How do I execute a swap or manage liquidity?                        | Perform a swap and Manage liquidity                                                                |
| How should another product integrate?                               | [Osige SDK](/developers/integration-guides/sdk.md), Contract integration, and API and indexed data |
| How do I learn the SDK with working examples?                       | Follow the nine-stage [Osige SDK learning path](/developers/integration-guides/sdk.md)             |
| How do I query indexed data or subscribe to updates?                | Indexer GraphQL                                                                                    |
| How do I consume public feeds, posts, comments, or protocol embeds? | Community read API                                                                                 |
| How do I read public Osige profile data?                            | Profile read API                                                                                   |
| Which contracts and administrative controls are active?             | Contract addresses and Ownership and controls                                                      |
| Which RPC should I use?                                             | Network and access and RPC and eRPC access                                                         |
| Which infrastructure and custody boundaries apply?                  | Infrastructure overview                                                                            |
| How are availability and data freshness checked?                    | Health and observability                                                                           |
| What happens when a dependency fails?                               | Failure modes and recovery                                                                         |
| Which guarantees are onchain?                                       | Security model                                                                                     |

## Protocol at a glance

```mermaid
flowchart LR
    U["Wallet or integrator"] --> R["Universal Router / Position Manager"]
    R --> PM["CL Pool Manager"]
    PM <--> V["Vault"]
    PM --> E["Protocol events"]
    E --> I["Event indexer"]
    I --> A["Public data interfaces"]
    A --> X["Clients and integrations"]

    PM -. "optional callback" .-> H["Pool-specific CL hook"]
    H -. "only when its policy requires it" .-> D["Dojang or UpNameRegistry"]
```

The solid path is a complete permissionless concentrated-liquidity DEX. A pool does not need an Osige hook to initialize, swap, add liquidity, remove liquidity, or settle through the Vault.

Hooks are opt-in pool extensions. Only a pool whose `PoolKey` contains a hook address executes that hook's registered callbacks. Identity-aware fees and attestation-backed liquidity gates are example pool profiles, not requirements of the base DEX.

Osige CL hooks are different from Dojang resolver hooks, which belong to GIWA's attestation infrastructure.

The chain is the source of truth for settlement, balances, ownership, and policy enforcement. The indexer and API provide derived data and integration convenience; they cannot authorize a transaction or change protocol state.

## Current network

* Network: GIWA Sepolia
* Chain ID: `91342`
* Native currency: `ETH`
* Public test endpoint: `https://sepolia-rpc.giwa.io`
* Application: [osige.exchange](https://osige.exchange)
* X: [@OsigeExchange](https://x.com/OsigeExchange)

{% hint style="warning" %}
GIWA's public RPC endpoints are rate-limited and are not intended for production workloads. Use them for the quickstart only, then select a production provider or request partner eRPC access.
{% endhint %}

{% hint style="info" %}
External HTTP market data is used only for offchain display and does not enter pool execution.
{% endhint %}
