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

# Solana Programs

Canonical SONIC Solana program families, Token-2022 policy boundaries, maturity states, amount handling and production-verification rules.

SONIC programs are protocol-domain components. They are not frontend routes, and the custom SONIC `token` program is not the SPL Token-2022 program that owns the SONIC mint.

{% hint style="warning" %}
Configured program IDs remain **repository identities, not deployment proof**. No program is described as mainnet-active until executable account, program-data/authority, binary/IDL and release-registry verification all pass.
{% endhint %}

## Core configured identities

| Program   | Responsibility                                                    | Configured program ID                          | Mainnet status       |
| --------- | ----------------------------------------------------------------- | ---------------------------------------------- | -------------------- |
| `sonic`   | protocol configuration, registry, authority/pause controls        | `7SZRQ5vLqCkdkm8yVc2ViSb1HpMK6WzG8GrDyFRBVk57` | **TBA / unverified** |
| `credits` | credit/reservation primitives where on-chain execution is enabled | `3jBmsZsq5PwkB9SGWDSACZCrvhRCtna93oD6q21D6eEq` | **TBA / unverified** |
| `factory` | controlled creation/mint staging and authority finalization       | `CsbeqzYW6Mn4Zg9JkACkiEgrkh7zKjYXqKmVrhR2RtT4` | **TBA / unverified** |
| `token`   | SONIC policy controls, allocation/claim/treasury references       | `9ad5yQCZ1iQ8J2jDnjwK86rKSkRJScmMyXBCGmEZLRdT` | **TBA / unverified** |

## Protocol families

`nft`, `soulbound`, `mint/characters`, `rewards`, `marketplace`, `treasury`, `royalties`, `rwa`, `escrow`, and `blinks/*` are separate responsibility boundaries and remain **pre-production** until individually verified.

## Token-2022 policy boundary

SONIC Tokenomics v1.0.0 defines:

```
SONIC decimals                   9
launch transfer fee             200 bps
SONIC transfer-fee policy cap   500 bps
Token-2022 maximumFee           TBA until deployment
```

A SONIC governance/execution program may enforce `configuredTransferFeeBps <= 500`, but it does not replace SPL Token-2022. If the production TransferFeeConfig authority is claimed to be technically capped, it must be controlled by an audited execution path that rejects values above 500 bps.

## Amount types

```
SOL network / priority fees → lamports
SONIC amounts / fees        → 9-decimal token atomic units
other SPL tokens            → their verified mint decimals
```

Never label SONIC atomics as lamports. Use checked arithmetic; for multiply/divide fee calculations use a wider intermediate (`u128`) before checked conversion to storage/instruction types.

## Program/client boundary

```
Rust / Anchor source
→ build + tests
→ IDL
→ generated @sonic/program-clients
→ cluster-aware program registry
→ TransactionPlan
→ simulation
→ policy/risk
→ user authorization
→ signature / submit
→ confirmation
→ indexer
→ expected-effects reconciliation
```

Applications must not hand-encode privileged instructions or scatter program IDs through UI source.

## Maturity model

```
SOURCE → CONFIGURED → BUILT → TESTED → DEPLOYED → VERIFIED → ACTIVATED
```

Every transition has independent evidence. A prior stage never implies a later one.

## Production verification

Verify target cluster, executable/program-data state, authority policy, approved binary hash, matching IDL/client, dependent mint identity, indexer/parser support, explicit feature activation and financial reconciliation where value moves.


---

# 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://sonic-ai-works.gitbook.io/sonic-networks-docs/documentation/developers/programs.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.
