# Reference Contracts

### SNIP-20 Contracts

To master the SNIP-20 contract specifications, you can refer to these two key parts:

* [SNIP-20 specifications](https://github.com/SecretFoundation/SNIPs/blob/master/SNIP-20.md)
* [SNIP-20 reference implementation](https://github.com/scrtlabs/snip20-reference-impl)

### SNIP-721 NFT

To master the SNIP-721 contract specifications for Non-Fungible Tokens (NFT), you can refer to these two key parts:

* [SNIP-721 specifications](https://github.com/SecretFoundation/SNIPs/blob/master/SNIP-721.md)
* [SNIP-721 reference implementation](https://github.com/baedrik/snip721-reference-impl)
* [SNIP-721 Migrateable](https://github.com/eqoty-labs/snip721-migratable)

### Additional Reference Contracts

Here are some examples of additional Secret Contracts for reference:

#### Cosmwasm v1.0

* [HackSecret repositories](https://github.com/SecretFoundation/hack-secret-repositories/tree/main) - Winning projects from past Secret hackathons
* [Millionaire's Problem](https://github.com/scrtlabs/MillionaireProblemTutorial) - This is part of the [Getting Started Guide](https://docs.scrt.network/secret-network-documentation/development/getting-started). It is meant as an easy to understand first contract example that solves the Millionaire's Problem.
* [Secret Template](https://github.com/scrtlabs/secret-template) - Quick-start template to start developing Secret Contracts.
* [Template with Viewing Keys and Permits](https://github.com/TriviumNode/secret-contract-template) - Includes messages for frequently used permissioned functionality.
* [SNIP-20](https://github.com/scrtlabs/snip20-reference-impl) - Reference implementation of Secret Tokens.
* [SNIP-1155](https://github.com/DDT5/snip1155-reference-impl/) - Reference Implementation of Private Multitokens.
* [SNIP-721](https://github.com/baedrik/snip721-reference-impl) - Reference implementation of Secret NFTs.
* [Factory Contract Template](https://github.com/srdtrk/secret-factory-contract) - Demonstrates how to use a parent contract to create offspring contracts.
* [Cross-Chain Contracts Demo](https://github.com/scrtlabs/crosschain-contract-demo) - Example of a contract that can be uploaded to both secret and non-secret cosmwasm chains.

#### Cosmwasm v0.10

* [Secret Dice](https://github.com/scrtlabs/SecretDice) - Simple betting game on the outcome of a dice roll, with a video tutorial.
* [Simple Voting](https://github.com/scrtlabs/SecretSimpleVote) - Example of a voting contract.
* [NFT Minting](https://github.com/luminaryphi/secret-random-minting-snip721-impl) - Template for launching NFT projects that need randomized minting.
* [Secret Contract Verifier](https://github.com/digiline-io/secret-contract-verifier) - Verifies that an on-chain contract is indeed running a specific code. [Frontend](https://github.com/Xiphiar/fund-forwarding-frontend).
* [Funds Forwarding](https://github.com/luminaryphi/fund-forwarding) - A smart contract that receives tokens and distributes them to multiple addresses. [Frontend](https://github.com/Xiphiar/fund-forwarding-frontend).
* [NFT Authorization](https://github.com/srdtrk/nft-authorization) - Get authorized to web3 places by proving you are the owner of an NFT. [Frontend](https://github.com/zorostang/nft-authorization-front-end).
* [SNIP3 (Fixed Multisig)](https://github.com/kent-3/snip3-fixed-multisig) - A wallet that is collectively controlled by multiple accounts.
* [Price Oracle](https://github.com/scrtlabs/secret-oracle) - Example how real-world data could be inserted on chain by validators.
* [Sealed Bid Auction](https://github.com/baedrik/SCRT-sealed-bid-auction).
* [Token vesting contract](https://github.com/digiline-io/secret-token-vesting) - Demonstrates Vesting implementation
* [Fractionalized NFTs](https://github.com/DDT5/frac-snft-ref-impl) - These are the standard specifications and reference contract that implements the base standard required for fractionalized NFTs on Secret Network.


---

# 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.scrt.network/secret-network-documentation/development/example-contracts/community-tutorials.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.
