# Yona Testnet supported programs

In the SVM ecosystem, "smart contracts" are called programs. Each program is an on-chain account that stores executable logic, organized into specific functions referred to as instructions.

* Programs are on-chain accounts that contain executable code. This code is organized into distinct functions known as instructions.
* Programs are stateless but can include instructions to create new accounts, which are used to store and manage program state.
* Programs can be updated by an upgrade authority. A program becomes immutable when the upgrade authority is set to null.
* Verifiable builds enable users to verify that on-chain programs match the publicly available source code.

Like Solana, Yona Network uses the LLVM compiler infrastructure to compile programs into executable and linkable format (ELF) files. These files contain a modified version of the Berkeley Packet Filter (eBPF) bytecode for Solana programs, known as the ‘Solana Bytecode Format’ (sBPF).

Using LLVM allows programs to potentially support any programming language that can compile to the BPF backend of LLVM. Solana programs written in Rust are libraries that are compiled to BPF bytecode and stored in .so format.

## Programs list and links:

| Name                                         | Program ID                                   | Github                                                                                                         | Documentation                                                                         |
| -------------------------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Auction House                                | hausS13jsjafwWwGqZTUQRmWyvyxn9EQpqMwV1PBBmk  | [Link](https://github.com/metaplex-foundation/metaplex-program-library/tree/master/auction-house)              | [Link](https://developers.metaplex.com/legacy-documentation/auction-house)            |
| <p>Solana token program<br>tokenkeg.so</p>   | TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA  | [Link](https://github.com/solana-labs/solana-program-library/tree/master/token/program/src)                    | [Link](https://spl.solana.com/token)                                                  |
| Auctioneer                                   | neer8g6yJq2mQM6KbnViEDAD4gr3gRZyMMf4F2p3MEh  | [Link](https://github.com/metaplex-foundation/metaplex-program-library/tree/master/auctioneer)                 | [Link](https://developers.metaplex.com/legacy-documentation/auction-house/auctioneer) |
| <p>Associated Token Account<br>AToken.so</p> | ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL | [Link](https://github.com/solana-labs/solana-program-library/blob/master/docs/src/associated-token-account.md) | [Link](https://spl.solana.com/associated-token-account)                               |
| openbook.so                                  | srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX  | [Link](https://github.com/openbook-dex)                                                                        | [Link](https://github.com/openbook-dex/openbook-docs)                                 |
| openbook-v2.so                               | opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb  | [Link](https://github.com/openbook-dex/openbook-v2)                                                            | [Link](https://docs.rs/openbook-v2/latest/openbook_v2/)                               |
| <p>OpenBook AMM<br>raydium-amm.so</p>        | 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 | [Link](https://github.com/raydium-io/raydium-amm)                                                              | [Link](https://docs.raydium.io/raydium/updates/archive/creating-an-openbook-amm-pool) |
| Bubblegum                                    | BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY | [Link](https://github.com/metaplex-foundation/mpl-bubblegum)                                                   | [Link](https://developers.metaplex.com/bubblegum)                                     |
| Candy Guard                                  | Guard1JwRhJkVH6XZhzoYxeBVQe872VH6QggF4BWmS9g | [Link](https://github.com/metaplex-foundation/mpl-candy-machine/tree/main/programs/candy-guard)                | [Link](https://developers.metaplex.com/candy-machine/guards)                          |
| Candy Machine v3                             | CndyV3LdqHUfDLmE5naZjVN8rBZz4tqhdefbAnjHG3JR | [Link](https://github.com/metaplex-foundation/mpl-candy-machine/tree/main/programs/candy-machine-core)         | [Link](https://developers.metaplex.com/candy-machine)                                 |
| Core                                         | CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d | [Link](https://github.com/metaplex-foundation/mpl-core)                                                        | [Link](https://developers.metaplex.com/core)                                          |
| Core Candy Guard                             | CMAGAKJ67e9hRZgfC5SFTbZH8MgEmtqazKXjmkaJjWTJ | [Link](https://github.com/metaplex-foundation/mpl-core-candy-machine/tree/main/programs/candy-guard)           | [Link](https://developers.metaplex.com/core-candy-machine/guards)                     |
| <p>MPL Token Extras</p><p>tokex.so</p>       | TokExjvjJmhKaRBShsBAsbSvEWMA1AgUNK7ps4SAc2p  | [Link](https://github.com/metaplex-foundation/mpl-toolbox)                                                     |                                                                                       |
| Core Candy Machine                           | CMACYFENjoBMHzapRXyo1JZkVS6EtaDDzkjMrmQLvr4J | [Link](https://github.com/metaplex-foundation/mpl-core-candy-machine/tree/main/programs/candy-machine-core)    | [Link](https://developers.metaplex.com/core-candy-machine)                            |
| Gumdrop                                      | gdrpGjVffourzkdDRrQmySw4aTHr8a3xmQzzxSwFD1a  | [Link](https://github.com/metaplex-foundation/gumdrop)                                                         | [Link](https://developers.metaplex.com/legacy-documentation/gumdrop)                  |
| Hydra                                        | hyDQ4Nz1eYyegS6JfenyKwKzYxRsCWCriYSAjtzP4Vg  | [Link](https://github.com/metaplex-foundation/mpl-hydra)                                                       | [Link](https://developers.metaplex.com/hydra)                                         |
| Inscriptions                                 | 1NSCRfGeyo7wPUazGbaPBUsTM49e1k2aXewHGARfzSo  | [Link](https://github.com/metaplex-foundation/mpl-inscription)                                                 | [Link](https://developers.metaplex.com/inscription)                                   |
| MPL-Hybrid                                   | MPL4o4wMzndgh8T1NVDxELQCj5UQfYTYEkabX3wNKtb  | [Link](https://github.com/metaplex-foundation/mpl-inscription)                                                 | [Link](https://developers.metaplex.com/mpl-hybrid)                                    |
| Token Auth Rules                             | auth9SigNpDKz4sJJ1DfCTuZrZNSAgh9sFD3rboVmgg  | [Link](https://github.com/metaplex-foundation/mpl-token-auth-rules)                                            | [Link](https://developers.metaplex.com/token-auth-rules)                              |
| <p>Token Metadata<br>metab.so</p>            | metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s  | [Link](https://github.com/metaplex-foundation/mpl-token-metadata)                                              | [Link](https://developers.metaplex.com/token-metadata)                                |


---

# Agent Instructions: 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:

```
GET https://docs.yona.network/yona-network/testnet/yona-testnet-supported-programs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
