# Development

- [Getting Started](https://docs.scrt.network/secret-network-documentation/development/readme-1.md)
- [Setting Up Your Environment](https://docs.scrt.network/secret-network-documentation/development/readme-1/setting-up-your-environment.md): Environment configuration instructions to get started developing on Secret Network.
- [Cargo.toml Best Practices (Crates vs Dependencies)](https://docs.scrt.network/secret-network-documentation/development/readme-1/setting-up-your-environment/cargo.toml-best-practices-crates-vs-dependencies.md)
- [Compile and Deploy](https://docs.scrt.network/secret-network-documentation/development/readme-1/compile-and-deploy.md): In this example, we will compile, upload, and instantiate our first smart contract using SecretCLI and Secret Testnet.
- [Running the Application](https://docs.scrt.network/secret-network-documentation/development/readme-1/running-the-application.md): Learn how to use SecretCLI to handle messages to query and modify contract state.
- [Compile and Deploy on Secret testnet (best for Javascript devs)](https://docs.scrt.network/secret-network-documentation/development/readme-1/interacting-with-the-testnet.md): Get started developing on Secret Network using the public testnet and secret.js
- [Fullstack dApp Integration](https://docs.scrt.network/secret-network-documentation/development/readme-1/fullstack-dapp-integration.md): Learn how to write a full stack decentralized React application utilizing a Secret smart contract and Secret.js
- [Secret Contracts](https://docs.scrt.network/secret-network-documentation/development/development-concepts.md): Additional development concepts to improve your experience building on Secret Network.
- [Secret Contracts & CosmWasm](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework.md): A description of CosmWasm and the framework around it as implemented on Secret Network
- [Framework overview](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/framework-overview.md): A description of CosmWasm and the framework around it as implemented on Secret Network
- [Secret Contract Components](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components.md): This overview examines the core components of Secret Network smart contracts
- [Instantiation Message](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/init.md): An explainer of the Instantiate file inside of the CosmWasm code framework
- [Execution Message](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/handles.md): An explainer of the Execute file inside of the CosmWasm code framework
- [Query Message](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/queries.md): An explainer of the query file inside of the CosmWasm code framework
- [Deps/DepsMut](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/deps-depsmut.md): An explainer of the dependecies inside of the CosmWasm code framework
- [Storage](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage.md): An explainer on the varying storage frameworks for Secret contracts
- [Prefixed Storage](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage/prefixed-storage.md)
- [Singleton](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage/singleton.md): Working with a Singleton in CosmWasm
- [Keymap](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage/keymap.md): This hashmap-like storage structure uses generic typed keys to store objects.
- [Append Store](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage/append-store.md)
- [Best practices](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage/contract-optimization.md)
- [CosmWasm vs Secret CosmWasm](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/differences-from-vanilla-cw.md): An introduction to the differences between standard CosmWasm smart contracts and Secret Contracts
- [Secret Tokens (SNIP-20)](https://docs.scrt.network/secret-network-documentation/development/development-concepts/create-your-own-snip-20-token-on-secret-network.md): Learn how to create a SNIP-20 token on Secret Network
- [Contract - module call](https://docs.scrt.network/secret-network-documentation/development/development-concepts/how-to-send-native-scrt.md): Explanation of executing modules inside a CosmWasm contract using sending Native SCRT as an example.
- [Secret contract - Design Space/Features](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals.md): A high-level overview of Secret smart contracts
- [Secret Contracts introduction](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/secret-contracts-introduction.md): This page describes some of the core information required to get up to speed about the state of Secret Contracts in comparison to public (cosmos) networks.
- [Gas/Fee usage](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/gas-fee-usage.md)
- [TPS and scalability](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/tps-and-scalability.md)
- [Privacy Essentials](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/privacy-essentials.md): Your start on privacy design for Secret smart contracts
- [Access Control](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/access-control.md)
- [Viewing Keys](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/access-control/viewing-keys.md)
- [Permits](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/access-control/permits.md)
- [Trusted and untrusted data](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/secret-contracts.md): This page explains the concept of input data verification, a required mechanism to ensure reliable privacy for secret contracts.
- [Secret-VRF - on-chain Randomness](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/secret-vrf-on-chain-randomness.md): An in-depth explanation of Secret VRF, a secure and verifiable random number generator
- [Privacy design](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/privacy-design.md)
- [Mitigate privacy risks - full guide](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/privacy-design/mitigate-privacy-risks-full-guide.md): Full example guide on mitigating privacy risks.
- [Gas Evaporation & Tracking](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/privacy-design/gas-evaporation-and-tracking.md): The equivalent of padding for gas\_used
- [Confidential Computing Layer](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/privacy-as-a-service-paas.md): A technical deep-dive into how Secret can provide confidential computation to dApps on other blockchains by leveraging cross-chain communication and Secret contracts.
- [Fiat/Crypto Onboarding](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/fiat-crypto-onboarding.md)
- [Account abstraction](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/account-abstraction.md)
- [Fee abstraction](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/fee-abstraction.md)
- [Wallet support](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/wallet-support.md)
- [Bridge (messaging/tokens)](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/bridge-messaging-tokens.md)
- [IBC (Hooks, PFM, Wasm)](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/ibc-hooks-pfm-wasm.md)
- [Price Oracles](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/price-oracles.md)
- [Auto Restaking](https://docs.scrt.network/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/auto-restaking.md)
- [Permissioned Viewing](https://docs.scrt.network/secret-network-documentation/development/development-concepts/permissioned-viewing.md): Deciding who can and can't see your private data, and how to do it.
- [Viewing Keys](https://docs.scrt.network/secret-network-documentation/development/development-concepts/permissioned-viewing/viewing-keys.md): Introduction to Secret Network viewing keys with code examples
- [Permits](https://docs.scrt.network/secret-network-documentation/development/development-concepts/permissioned-viewing/certs-viewing-permits.md): Permits are the successor to viewing keys. With increases in efficiency made in the Shockwave update they are now the defacto viewing permission method in almost every situation.
- [Cross Contract Communication](https://docs.scrt.network/secret-network-documentation/development/development-concepts/cross-contract-communication.md): Step-by-step guide on how to execute Secret Network smart contracts that communicate with each other
- [Submessages](https://docs.scrt.network/secret-network-documentation/development/development-concepts/submessages.md): Learn how to use submessages on Secret Network
- [get\_contract\_code\_hash](https://docs.scrt.network/secret-network-documentation/development/development-concepts/submessages/get_contract_code_hash.md): get\_contract\_code\_hash helper function
- [Randomness API - Secret VRF](https://docs.scrt.network/secret-network-documentation/development/development-concepts/randomness-api.md): An introduction to Secret VRF, a secure and verifiable random number generator
- [Native On-chain randomness](https://docs.scrt.network/secret-network-documentation/development/development-concepts/randomness-api/native-on-chain-randomness.md): A step-by-step tutorial of how to use Secret Network's randomness API to generate a coin flip
- [Randomness over IBC](https://docs.scrt.network/secret-network-documentation/development/development-concepts/randomness-api/randomness-over-ibc.md)
- [Execution Finalization](https://docs.scrt.network/secret-network-documentation/development/development-concepts/execution-finalization.md)
- [Factory Contracts](https://docs.scrt.network/secret-network-documentation/development/development-concepts/factory-contracts.md)
- [Contract Migration](https://docs.scrt.network/secret-network-documentation/development/development-concepts/contract-migration.md): Optionally perform code and state migrations of Secret Network smart contracts
- [Manual - < v1.11](https://docs.scrt.network/secret-network-documentation/development/development-concepts/contract-migration/manual-less-than-v1.11.md)
- [Native - from v1.11](https://docs.scrt.network/secret-network-documentation/development/development-concepts/contract-migration/native-from-v1.11.md): Optionally perform state migrations of Secret Network smart contracts
- [Contract Migration Flow from v1.21](https://docs.scrt.network/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21.md): Overview
- [Summary of Key Changes](https://docs.scrt.network/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/summary-of-key-changes.md)
- [Technical Details](https://docs.scrt.network/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/technical-details.md)
- [Migration Logic](https://docs.scrt.network/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/migration-logic.md)
- [CLI Commands](https://docs.scrt.network/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/cli-commands.md)
- [Migration Guide](https://docs.scrt.network/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/migration-guide.md)
- [Usage Examples](https://docs.scrt.network/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/usage-examples.md): Examples on how to deploy or migrate contracts
- [Cross-deploy Vanilla CW and Secret Contracts](https://docs.scrt.network/secret-network-documentation/development/development-concepts/cross-deploy-vanilla-cw-and-secret-contracts.md): A description of building the same code for both vanilla CosmWasm and the Secret version.
- [Testing Secret Contracts](https://docs.scrt.network/secret-network-documentation/development/development-concepts/testing.md): Introduction to writing tests for Secret Smart Contracts
- [Unit Tests](https://docs.scrt.network/secret-network-documentation/development/development-concepts/testing/unit-tests.md): How to write Unit Tests for Secret Contracts
- [Continuous Integration](https://docs.scrt.network/secret-network-documentation/development/development-concepts/testing/continuous-integration.md)
- [Datatype Handling - Uint, floats etc.](https://docs.scrt.network/secret-network-documentation/development/development-concepts/testing/data-handling.md)
- [Secret Contract - Reference, Guides, Examples](https://docs.scrt.network/secret-network-documentation/development/example-contracts.md): Helpful references for writing Secret Network contracts as well as building full-stack Secret Networks dApps.
- [Starter guide - Millionaire's Problem](https://docs.scrt.network/secret-network-documentation/development/example-contracts/millionaires-problem.md)
- [Reference Contracts](https://docs.scrt.network/secret-network-documentation/development/example-contracts/community-tutorials.md): This page is dedicated to community tutorials and code repositories that provide helpful references for writing Secret Network contracts as well as building full-stack Secret Networks dApps.
- [Open source dApps](https://docs.scrt.network/secret-network-documentation/development/example-contracts/open-source-dapps.md)
- [Tools & Libraries](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries.md)
- [Network interaction SDKs](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks.md)
- [Secret.js (JavaScript)](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret.js-javascript.md)
- [SecretPy (Python)](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secretpy.md)
- [SecretK (Kotlin)](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secretk-kotlin.md)
- [Secret.NET](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net.md)
- [Snippets](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets.md)
- [Deploying a Contract](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/deploying-a-contract.md)
- [Send Native Coin](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/send-native-coin.md)
- [Query a Contract](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/query-a-contract.md)
- [Create a new Wallet](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/create-a-new-wallet.md)
- [Permits](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/permits.md)
- [SNIP20](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/snip20.md)
- [SNIP721](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/snip721.md)
- [Shade.Js](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/shade.js.md)
- [LocalSecret - Devnet docker](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/local-secret.md): A local, instant, zero-config Secret Network blockchain.
- [Smart contract - Tools/Utils](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils.md)
- [Secret Toolkit](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/secret-toolkit.md)
- [CW-Plus](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/cw-plus.md)
- [Fadroma - SC framework](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/fadroma.md)
- [Hidden Gems](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/hidden-gems.md): Quick breakdown of additional tools to use for development
- [Other](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/contract-development.md)
- [Secret IDE](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/contract-development/secret-ide.md)
- [Polar](https://docs.scrt.network/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/contract-development/polar.md)
- [Frontend Development](https://docs.scrt.network/secret-network-documentation/development/frontend.md): Learn how to connect Secret Network contracts to a frontend.
- [Getting Started with SecretJS](https://docs.scrt.network/secret-network-documentation/development/frontend/templates.md): Learn how to install and use SecretJS.
- [Usage Examples](https://docs.scrt.network/secret-network-documentation/development/frontend/templates/usage-examples.md): SecretJS usage examples.
- [Sending Queries](https://docs.scrt.network/secret-network-documentation/development/frontend/templates/usage-examples/sending-queries.md): Learn how to send queries with SecretJS.
- [Sending Messages](https://docs.scrt.network/secret-network-documentation/development/frontend/templates/usage-examples/sending-messages.md): Learn how to send messages with SecretJS.
- [Contract Migration](https://docs.scrt.network/secret-network-documentation/development/frontend/templates/usage-examples/contract-migration.md): Learn how to do contract migration with SecretJS.
- [Wallet Integrations](https://docs.scrt.network/secret-network-documentation/development/frontend/templates/usage-examples/wallet-integrations.md): Learn how to integrate various web3 wallets with SecretJS.
- [Query Permits](https://docs.scrt.network/secret-network-documentation/development/frontend/templates/usage-examples/query-permits.md): Learn how to use query permits with SecretJS.
- [SNIP20 (SCRT Tokens)](https://docs.scrt.network/secret-network-documentation/development/frontend/templates/usage-examples/snip20-scrt-tokens.md): Learn how to send SNIP20 tokens with SecretJS.
- [SNIP721 (Secret NFTs)](https://docs.scrt.network/secret-network-documentation/development/frontend/templates/usage-examples/snip721-secret-nfts.md): Learn how to send SNIP721s with SecretJS.
- [Feegrant](https://docs.scrt.network/secret-network-documentation/development/frontend/feegrant.md)
- [Understanding Feegrant allowances](https://docs.scrt.network/secret-network-documentation/development/frontend/feegrant/understanding-feegrant-allowances.md)
- [Grant allowances](https://docs.scrt.network/secret-network-documentation/development/frontend/feegrant/grant-allowances.md)
- [Using grant allowances to execute transactions](https://docs.scrt.network/secret-network-documentation/development/frontend/feegrant/using-grant-allowances-to-execute-transactions.md)
- [Using the Fee Grant Faucet](https://docs.scrt.network/secret-network-documentation/development/frontend/feegrant/using-the-fee-grant-faucet.md)
- [Deployment Addresses/ API Endpoints](https://docs.scrt.network/secret-network-documentation/development/resources-api-contract-addresses.md)
- [Secret (SNIP 20) token contracts list](https://docs.scrt.network/secret-network-documentation/development/resources-api-contract-addresses/secret-token-contracts.md)
- [SNIP Asset naming guidelines](https://docs.scrt.network/secret-network-documentation/development/resources-api-contract-addresses/secret-token-contracts/snip-asset-naming-guidelines.md)
- [Connecting to the Network](https://docs.scrt.network/secret-network-documentation/development/resources-api-contract-addresses/connecting-to-the-network.md)
- [API Endpoints Mainnet (Secret-4)](https://docs.scrt.network/secret-network-documentation/development/resources-api-contract-addresses/connecting-to-the-network/mainnet-secret-4.md)
- [API Endpoints Testnet (Pulsar-3)](https://docs.scrt.network/secret-network-documentation/development/resources-api-contract-addresses/connecting-to-the-network/testnet-pulsar-3.md)
- [Usage examples](https://docs.scrt.network/secret-network-documentation/development/resources-api-contract-addresses/connecting-to-the-network/usage-examples.md)
- [Comparison of endpoint types](https://docs.scrt.network/secret-network-documentation/development/resources-api-contract-addresses/connecting-to-the-network/comparison-of-endpoint-types.md)
- [Create your own SNIP-25 IBC Token](https://docs.scrt.network/secret-network-documentation/development/resources-api-contract-addresses/create-your-own-snip-25-ibc-token.md)


---

# 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.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.
