diff --git a/docs/zkapps/o1js/basic-concepts.md b/docs/zkapps/o1js/basic-concepts.mdx
similarity index 97%
rename from docs/zkapps/o1js/basic-concepts.md
rename to docs/zkapps/o1js/basic-concepts.mdx
index 25d34efd4..a1fe10de0 100644
--- a/docs/zkapps/o1js/basic-concepts.md
+++ b/docs/zkapps/o1js/basic-concepts.mdx
@@ -19,6 +19,11 @@ keywords:
- methods
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
+
# o1js Basic Concepts
o1js is a TypeScript (TS) library for writing general-purpose zero knowledge (zk) programs and writing zk smart contracts for Mina.
diff --git a/docs/zkapps/o1js/bitwise-operations.mdx b/docs/zkapps/o1js/bitwise-operations.mdx
index bb149287f..7f9e19c42 100644
--- a/docs/zkapps/o1js/bitwise-operations.mdx
+++ b/docs/zkapps/o1js/bitwise-operations.mdx
@@ -8,6 +8,10 @@ keywords:
- o1js
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Bitwise Operations
Bitwise operations manipulate individual bits within a binary representation of a number. They can, at times, resemble boolean operations but apply to a sequence of bits instead of booleans. Bitwise operations are generally available in most programming languages, including TypeScript. o1js provides versions of them that operate on `Field` elements and result in the necessary circuit constraints to generate a zero knowledge proof of the computation. This is especially useful when implementing hashing algorithms such as SHA256.
diff --git a/docs/zkapps/o1js/circuit-writing-primer.mdx b/docs/zkapps/o1js/circuit-writing-primer.mdx
index 98935fd6a..856b2f722 100644
--- a/docs/zkapps/o1js/circuit-writing-primer.mdx
+++ b/docs/zkapps/o1js/circuit-writing-primer.mdx
@@ -10,6 +10,10 @@ keywords:
- o1js
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Overview of the circuit-writing features in o1js
o1js is a library for writing zk circuits in TypeScript. While many high-level features are abstracted away from the circuit level, this article will focus specifically on the tools that are specific to the unique nature of writing circuits.
diff --git a/docs/zkapps/o1js/custom-tokens.mdx b/docs/zkapps/o1js/custom-tokens.mdx
index 04049ce6f..8417a53be 100644
--- a/docs/zkapps/o1js/custom-tokens.mdx
+++ b/docs/zkapps/o1js/custom-tokens.mdx
@@ -15,6 +15,10 @@ keywords:
- zkApps updates
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Custom Token API
You can use o1js to perform common token operations, such as minting, burning, and sending tokens.
diff --git a/docs/zkapps/o1js/ecdsa.mdx b/docs/zkapps/o1js/ecdsa.mdx
index e30a6da5a..94fa0964e 100644
--- a/docs/zkapps/o1js/ecdsa.mdx
+++ b/docs/zkapps/o1js/ecdsa.mdx
@@ -13,6 +13,10 @@ keywords:
- blockchain
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# ECDSA
ECDSA, or Elliptic Curve Digital Signature Algorithm, is a cryptographic algorithm used to sign and verify messages. It is used in many blockchains, including Ethereum, to sign transactions.
diff --git a/docs/zkapps/o1js/foreign-fields.mdx b/docs/zkapps/o1js/foreign-fields.mdx
index 0ed5420cc..3c0cb26c1 100644
--- a/docs/zkapps/o1js/foreign-fields.mdx
+++ b/docs/zkapps/o1js/foreign-fields.mdx
@@ -10,6 +10,10 @@ keywords:
- o1js
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Foreign Field Arithmetic
A foreign field is a [finite field](https://en.wikipedia.org/wiki/Modular_arithmetic) different from the native field of the proof system. o1js exposes operations like modular addition and multiplication that work in any finite field of size less than `2^259`.
diff --git a/docs/zkapps/o1js/gadgets.mdx b/docs/zkapps/o1js/gadgets.mdx
index 0afb26a54..f5a1ae963 100644
--- a/docs/zkapps/o1js/gadgets.mdx
+++ b/docs/zkapps/o1js/gadgets.mdx
@@ -11,6 +11,10 @@ keywords:
- blockchain
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Gadgets
Gadgets are small, reusable low-level building blocks that simplify the process of creating new cryptographic primitives. Most gadgets build upon custom gates and act as low-level accelerators in the proof system.
diff --git a/docs/zkapps/o1js/index.mdx b/docs/zkapps/o1js/index.mdx
index b9852e691..f7644d842 100644
--- a/docs/zkapps/o1js/index.mdx
+++ b/docs/zkapps/o1js/index.mdx
@@ -18,6 +18,10 @@ keywords:
- typescript library
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
:::info
To protect end users and ensure your zkApps are secure, consider the information at [Security and zkApps](/zkapps/writing-a-zkapp/introduction-to-zkapps/secure-zkapps) while architecting your solution and consider a third-party security audit before deploying to Mina mainnet.
diff --git a/docs/zkapps/o1js/indexed-merkle-map.mdx b/docs/zkapps/o1js/indexed-merkle-map.mdx
index 1e27fc587..93313af67 100644
--- a/docs/zkapps/o1js/indexed-merkle-map.mdx
+++ b/docs/zkapps/o1js/indexed-merkle-map.mdx
@@ -15,6 +15,10 @@ description:
- data structures
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
:::experimental
The Indexed Merkle Map API is currently an experimental feature.
diff --git a/docs/zkapps/o1js/keccak.mdx b/docs/zkapps/o1js/keccak.mdx
index f42790ace..204f90ffb 100644
--- a/docs/zkapps/o1js/keccak.mdx
+++ b/docs/zkapps/o1js/keccak.mdx
@@ -12,6 +12,10 @@ keywords:
- data structures
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Keccak (SHA-3)
Keccak is a flexible cryptographic hash function that provides more security than traditional SHA hash algorithms.
diff --git a/docs/zkapps/o1js/merkle-tree.mdx b/docs/zkapps/o1js/merkle-tree.mdx
index d8f483c7e..215808389 100644
--- a/docs/zkapps/o1js/merkle-tree.mdx
+++ b/docs/zkapps/o1js/merkle-tree.mdx
@@ -11,6 +11,10 @@ keywords:
- data structures
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Merkle Tree
zkApp accounts can store only a limited amount of data on chain so that Mina's chain remains succinct and does not become bloated.
diff --git a/docs/zkapps/o1js/recursion.mdx b/docs/zkapps/o1js/recursion.mdx
index 22734729d..22b44ab9b 100644
--- a/docs/zkapps/o1js/recursion.mdx
+++ b/docs/zkapps/o1js/recursion.mdx
@@ -14,6 +14,10 @@ keywords:
- blockchain compression
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Recursion
Kimchi, the custom proof system that backs o1js, supports arbitrary infinite recursive proof construction of circuits through integration with the Pickles recursive system. Mina Protocol is the only blockchain that offers infinite recursion.
diff --git a/docs/zkapps/o1js/sha256.mdx b/docs/zkapps/o1js/sha256.mdx
index d07557559..829da4219 100644
--- a/docs/zkapps/o1js/sha256.mdx
+++ b/docs/zkapps/o1js/sha256.mdx
@@ -13,6 +13,10 @@ keywords:
- data structures
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# SHA-256
SHA-2 is a set of cryptographic hash functions designed by the National Security Agency (NSA) as an improved version of SHA-1, offering enhanced security and comprising multiple variants based on hash size, such as SHA-256 and SHA-512.
diff --git a/docs/zkapps/writing-a-zkapp/feature-overview/actions-and-reducer.mdx b/docs/zkapps/writing-a-zkapp/feature-overview/actions-and-reducer.mdx
index 1612b16b8..e0fa24586 100644
--- a/docs/zkapps/writing-a-zkapp/feature-overview/actions-and-reducer.mdx
+++ b/docs/zkapps/writing-a-zkapp/feature-overview/actions-and-reducer.mdx
@@ -14,6 +14,10 @@ keywords:
- mina archive node
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
:::caution Warning
The reducer API in o1js is currently not safe to use in production applications. The `reduce()` method breaks if more than the hard-coded number (default: 32) of actions are pending. Work is actively in progress to mitigate this limitation.
diff --git a/docs/zkapps/writing-a-zkapp/feature-overview/custom-tokens.mdx b/docs/zkapps/writing-a-zkapp/feature-overview/custom-tokens.mdx
index eee17f0e2..e49c15abf 100644
--- a/docs/zkapps/writing-a-zkapp/feature-overview/custom-tokens.mdx
+++ b/docs/zkapps/writing-a-zkapp/feature-overview/custom-tokens.mdx
@@ -17,6 +17,10 @@ keywords:
- tokencontract
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
:::info
If you want to create a fungible token you can use the
diff --git a/docs/zkapps/writing-a-zkapp/feature-overview/events.mdx b/docs/zkapps/writing-a-zkapp/feature-overview/events.mdx
index 00982d1e0..838a6a64a 100644
--- a/docs/zkapps/writing-a-zkapp/feature-overview/events.mdx
+++ b/docs/zkapps/writing-a-zkapp/feature-overview/events.mdx
@@ -15,6 +15,10 @@ keywords:
- transaction
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Events
Events are _public_ arbitrary information that can be passed along with a transaction. If your zkApp allows users to publish a message, for example, those messages could be events.
diff --git a/docs/zkapps/writing-a-zkapp/feature-overview/fetch-events-and-actions.mdx b/docs/zkapps/writing-a-zkapp/feature-overview/fetch-events-and-actions.mdx
index 641aa695f..852f576b8 100644
--- a/docs/zkapps/writing-a-zkapp/feature-overview/fetch-events-and-actions.mdx
+++ b/docs/zkapps/writing-a-zkapp/feature-overview/fetch-events-and-actions.mdx
@@ -15,6 +15,10 @@ keywords:
- blockchain
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# How to Fetch Events and Actions
[Events](#events) and [Actions](#actions-and-reducer) are two distinct mechanisms for logging information alongside a transaction:
diff --git a/docs/zkapps/writing-a-zkapp/feature-overview/offchain-storage.mdx b/docs/zkapps/writing-a-zkapp/feature-overview/offchain-storage.mdx
index 2be51dd24..c9dc85458 100644
--- a/docs/zkapps/writing-a-zkapp/feature-overview/offchain-storage.mdx
+++ b/docs/zkapps/writing-a-zkapp/feature-overview/offchain-storage.mdx
@@ -15,6 +15,10 @@ keywords:
- succinctness
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
:::experimental
Offchain storage is currently an experimental feature and is subject to change in the future.
diff --git a/docs/zkapps/writing-a-zkapp/feature-overview/on-chain-values.mdx b/docs/zkapps/writing-a-zkapp/feature-overview/on-chain-values.mdx
index c6e859d44..653a1b59a 100644
--- a/docs/zkapps/writing-a-zkapp/feature-overview/on-chain-values.mdx
+++ b/docs/zkapps/writing-a-zkapp/feature-overview/on-chain-values.mdx
@@ -13,6 +13,10 @@ keywords:
- network state
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# On-Chain Values
In a zkApp, you can access the current [on-chain state](/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-write-a-zkapp#on-chain-state) and many other on-chain values of the account.
diff --git a/docs/zkapps/writing-a-zkapp/feature-overview/permissions.mdx b/docs/zkapps/writing-a-zkapp/feature-overview/permissions.mdx
index f175f0e29..8f20abfd5 100644
--- a/docs/zkapps/writing-a-zkapp/feature-overview/permissions.mdx
+++ b/docs/zkapps/writing-a-zkapp/feature-overview/permissions.mdx
@@ -15,6 +15,10 @@ keywords:
- authorization
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Permissions
Permissions are an integral part of zkApp development because they determine who has the authority to interact and make changes to a specific part of a smart contract.
diff --git a/docs/zkapps/writing-a-zkapp/feature-overview/time-locked-accounts.mdx b/docs/zkapps/writing-a-zkapp/feature-overview/time-locked-accounts.mdx
index 50c98a294..4bbd399e5 100644
--- a/docs/zkapps/writing-a-zkapp/feature-overview/time-locked-accounts.mdx
+++ b/docs/zkapps/writing-a-zkapp/feature-overview/time-locked-accounts.mdx
@@ -12,6 +12,10 @@ keywords:
- account timing
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Time-Locked Accounts
Time-locking allows you to pay someone in MINA or other custom tokens subject to a vesting schedule. Tokens are initially locked and become available for withdrawal only after a certain time or gradually according to a specific schedule.
diff --git a/docs/zkapps/writing-a-zkapp/feature-overview/upgradability.mdx b/docs/zkapps/writing-a-zkapp/feature-overview/upgradability.mdx
index 84ddb544f..c7e6531ab 100644
--- a/docs/zkapps/writing-a-zkapp/feature-overview/upgradability.mdx
+++ b/docs/zkapps/writing-a-zkapp/feature-overview/upgradability.mdx
@@ -14,6 +14,10 @@ keywords:
- blockchain
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# ZkApp Upgradability
The Mina protocol allows for the upgrading of verification keys on-chain. This article will demonstrate how to upgrade a ZkApp.
diff --git a/docs/zkapps/writing-a-zkapp/index.mdx b/docs/zkapps/writing-a-zkapp/index.mdx
index cab2bdf72..a05e63e53 100644
--- a/docs/zkapps/writing-a-zkapp/index.mdx
+++ b/docs/zkapps/writing-a-zkapp/index.mdx
@@ -13,6 +13,11 @@ keywords:
- quickstart zkapps
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
+
# zkApps Overview
diff --git a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/getting-started-zkapps.mdx b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/getting-started-zkapps.mdx
index 1f5f47929..da7b02353 100644
--- a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/getting-started-zkapps.mdx
+++ b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/getting-started-zkapps.mdx
@@ -13,6 +13,10 @@ keywords:
- quickstart zkapps
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# zkApps Getting Started
You can start writing zkApps with just a few steps. The focus of this Getting Started Guide is a high-level workflow to build and deploy quickly.
diff --git a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-deploy-a-zkapp.mdx b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-deploy-a-zkapp.mdx
index 3588c5e9a..7452471eb 100644
--- a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-deploy-a-zkapp.mdx
+++ b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-deploy-a-zkapp.mdx
@@ -9,6 +9,10 @@ keywords:
- configure a zkapp
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# How to Deploy a zkApp
Before deploying, you must first define a few settings, such as which network you are deploying your zkApp to.
diff --git a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-write-a-zkapp-ui.mdx b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-write-a-zkapp-ui.mdx
index 684429a9a..d728fc628 100644
--- a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-write-a-zkapp-ui.mdx
+++ b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-write-a-zkapp-ui.mdx
@@ -13,6 +13,10 @@ keywords:
- Auro Wallet
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# How to Write a zkApp UI
A zkApp consists of a smart contract and a UI to interact with it. To allow users to interact with your smart contract in a web browser, you typically want to build a website UI.
diff --git a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-write-a-zkapp.mdx b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-write-a-zkapp.mdx
index c1bd2c590..8c0cbe208 100644
--- a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-write-a-zkapp.mdx
+++ b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-to-write-a-zkapp.mdx
@@ -11,6 +11,10 @@ keywords:
- zero knowledge proofs
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# How to Write a zkApp
A zkApp consists of a smart contract and a UI to interact with it.
diff --git a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-zkapps-work.mdx b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-zkapps-work.mdx
index 10c369141..1c094e741 100644
--- a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-zkapps-work.mdx
+++ b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/how-zkapps-work.mdx
@@ -14,6 +14,10 @@ keywords:
- off-chain state
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# How zkApps Work
zkApps run in the latest versions of [Chrome](https://www.google.com/chrome/index.html), [Firefox](https://www.mozilla.org/en-US/firefox/new/), [Edge](https://microsoft.com/edge), and [Brave](https://brave.com/) web browsers.
diff --git a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/install-zkapp-cli.mdx b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/install-zkapp-cli.mdx
index da15848f8..0ad4b509d 100644
--- a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/install-zkapp-cli.mdx
+++ b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/install-zkapp-cli.mdx
@@ -10,6 +10,10 @@ keywords:
- install zkApp CLI
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# zkApp CLI Installation
Install and use the zkApp CLI to scaffold, write, test, and deploy zkApps (zero knowledge apps) for Mina Protocol using recommended best practices.
diff --git a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/interact-with-mina.md b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/interact-with-mina.mdx
similarity index 99%
rename from docs/zkapps/writing-a-zkapp/introduction-to-zkapps/interact-with-mina.md
rename to docs/zkapps/writing-a-zkapp/introduction-to-zkapps/interact-with-mina.mdx
index 78b6b1247..56a836093 100644
--- a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/interact-with-mina.md
+++ b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/interact-with-mina.mdx
@@ -19,6 +19,11 @@ keywords:
- authorization types
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
+
# Interacting With Mina
Now that you know about writing zkApp methods, it's time to learn how users can call these methods.
diff --git a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/secure-zkapps.mdx b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/secure-zkapps.mdx
index d9f17653a..89faf048c 100644
--- a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/secure-zkapps.mdx
+++ b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/secure-zkapps.mdx
@@ -11,6 +11,10 @@ keywords:
- zero knowledge proofs
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Security and zkApps
On this page, you will find guidance for how to think about security when building zkApps. We also provide a list of best practices and common pitfalls to help you avoid vulnerabilities.
diff --git a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/smart-contracts.mdx b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/smart-contracts.mdx
index 1a7ab479e..ac3299d4f 100644
--- a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/smart-contracts.mdx
+++ b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/smart-contracts.mdx
@@ -18,6 +18,10 @@ keywords:
- on-chain state
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Smart Contracts
You write smart contracts by extending the base class `SmartContract`:
diff --git a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/testing-zkapps-lightnet.mdx b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/testing-zkapps-lightnet.mdx
index 2972a829e..fc1543976 100644
--- a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/testing-zkapps-lightnet.mdx
+++ b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/testing-zkapps-lightnet.mdx
@@ -10,6 +10,10 @@ keywords:
- using zk lightnet
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
:::caution
Use of the **Lightnet** is appropriate for the **local development and testing** only. It is **not** intended to replicate all aspects of the real public networks.
diff --git a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/testing-zkapps-locally.mdx b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/testing-zkapps-locally.mdx
index 3b6d47c0a..1c61fd41d 100644
--- a/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/testing-zkapps-locally.mdx
+++ b/docs/zkapps/writing-a-zkapp/introduction-to-zkapps/testing-zkapps-locally.mdx
@@ -11,6 +11,10 @@ keywords:
- Docker test
---
+import MigrateBanner from '@site/src/components/snippets/migrate-banner.mdx';
+
+
+
# Testing zkApps Locally
Before you can test your zkApps, create automated tests for your smart contract and test with a simulated local blockchain. Test automation is essential to ensure your code is well-tested during development.
diff --git a/src/components/snippets/migrate-banner.mdx b/src/components/snippets/migrate-banner.mdx
new file mode 100644
index 000000000..72776c010
--- /dev/null
+++ b/src/components/snippets/migrate-banner.mdx
@@ -0,0 +1,5 @@
+import Admonition from '@theme/Admonition';
+
+
+ 🚀 o1js reference documentation is now available at the new [o1Labs docs site](https://docs.o1labs.org/o1js).
+