Development Environments
Breaking Change: Sandbox Now Defaults to Testnet
Starting with AirKit 1.8.0-beta, the Sandbox environment defaults to Moca Chain Testnet.
If your integration is not ready, use the chainNetwork option to stay on Devnet. See Migration Guide below.
TIP
Make sure you're selecting the correct chain when using different build environment. Otherwise, your app may hit unexpected errors
| Environment | Moca Chain | Purpose | Developer Dashboard |
|---|---|---|---|
| Staging | Devnet | Internal Development only VPN required | https://developers.staging.air3.com |
| Sandbox (Testnet) | Testnet | For development & testing | https://developers.sandbox.air3.com/testnet |
| Sandbox (Devnet) | Devnet | For development & testing (Devnet) | https://developers.sandbox.air3.com |
| Production | Testnet Until mainnet is available | For production apps | https://developers.air3.com |
Once Mainnet is available, Production credentials will be validated against Mainnet and hence previously issued credentials on Testnet will need to be re-issued. Issuance Schemas and Programs may be migrated. Your Issuer and Verifier DID may also change.
Sandbox Environment Changes
Starting with AirKit 1.8.0-beta, the Sandbox environment defaults to Moca Chain Testnet instead of Devnet. Both Testnet and Devnet remain available for development, with Testnet being the recommended choice to align with Production.
What's Changed
| Before (< 1.8.0) | After (1.8.0-beta+) |
|---|---|
| Sandbox → Devnet (Chain ID: 5151) | Sandbox → Testnet (Chain ID: 222888) |
| Dashboard: https://developers.sandbox.air3.com | Dashboard: https://developers.sandbox.air3.com/testnet |
Impact
- Credentials issued on Devnet are not available on Testnet
- Smart Account addresses remain the same across networks
- You will need to re-issue test credentials on Testnet
Using Devnet
If your integration is not ready, you can temporarily stay on Devnet using the credentialNetwork option:
import { AirService, BUILD_ENV } from "@mocanetwork/airkit";
const airService = new AirService({
partnerId: YOUR_PARTNER_ID
});
await airService.init({
buildEnv: BUILD_ENV.SANDBOX,
credentialNetwork: "devnet",
enableLogging: true,
preloadWallet: true, // Optional: Enable if wallet features will be used
preloadCredential: true // Optional: Enable if credential features will be used
});TIP
We recommend migrating to Testnet as soon as possible to align with production. Devnet will continue to be available but will be deprecated later.
Timeline
| Phase | Status |
|---|---|
| 1.8.0-beta release — Testnet becomes default | 🟡 Current |
| Devnet support deprecated | 📅 TBD |
Initializing AirService with the correct Environment
import { AirService, BUILD_ENV } from "@mocanetwork/airkit";
const airService = new AirService({
partnerId: YOUR_PARTNER_ID
});
await airService.init({
buildEnv: BUILD_ENV.SANDBOX, // BUILD_ENV.PRODUCTION
enableLogging: true
});Chains
| Chain | Chain ID | RPC | Explorer |
|---|---|---|---|
| Devnet | 5151 | https://devnet-rpc.mocachain.org | https://devnet-scan.mocachain.org |
| Testnet | 222888 | https://testnet-rpc.mocachain.org | https://testnet-scan.mocachain.org |
| Mainnet | 2288 | coming soon | coming soon |