> 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/program-identity-and-deployment.md).

# Program Identity & Deployment

How SONIC program IDs relate to keypairs, binaries, clusters, authorities, release manifests and production activation.

### 🧬 Identity lifecycle

```
program keypair
    ↓
public key = configured program ID
    ↓
declare_id! / release configuration
    ↓
build approved executable
    ↓
deploy to target cluster
    ↓
verify program-data + authority + artifact hash
    ↓
activate product capability
```

A public program ID may be known before compilation. Production validity requires control of the matching deployment identity and evidence that the deployed executable matches the approved release artifact.

### 🌐 Cluster rule

The repository may configure the same public program ID for localnet, devnet and mainnet-beta only when the matching deployment identity is intentionally controlled for each environment.

**Failover never crosses clusters.** A mainnet operation must never fall back to devnet.

### 🔐 Authority rule

Program identity and upgrade authority are separate facts. Verification records must capture the program account, program-data account, upgrade-authority state, release artifact hash, cluster and release version.

### 🚦 Current state

The canonical mainnet release remains **DRAFT / unverified** until deployment verification and authority configuration are complete.

Still TBA:

* verified deployed program accounts;
* upgrade authorities;
* treasury authority;
* production SONIC mint;
* production token program / standard and decimals;
* verified program binary hashes;
* final release digest and activation state.

No documentation page should turn a configured program ID into a claim of deployment.


---

# 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/program-identity-and-deployment.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.
