Environments

Test and production environments, how a change is promoted, what a green test lane means, and the operating rules the team holds to.

Last updated 2026-09-08 · maintained in the Final Wiki

The two environments a developer builds against, what is identical between them, and what a change has passed before it reaches production. Operating procedures are internal and not part of this page.

#Two environments

TestProduction
Execution chainsSepolia 11155111, OP Sepolia 11155420Ethereum 1, Optimism 10, Polygon 137, Base 8453, Arbitrum 42161
State plane (the Pre-Final Chain)chain id 48359chain id 20678
APIhttps://api-test.final-de.fihttps://api.final-de.fi
Wallet dashboardhttps://test-wallet.final-de.fihttps://wallet.final-de.fi
Explorerhttps://test-explorer.final-de.fihttps://explorer.final-de.fi

Plainly: test runs on Sepolia and OP Sepolia against the test Pre-Final Chain, production on five mainnets against the production one; each has its own API, wallet dashboard and explorer host.

Both state-plane chain ids are registered in the public chain registry. The chain is the temporary Pre-Final Chain build: Final Chain is still in development, the current chain is not open to external execution — its RPC is not a public endpoint; its state is served through the API and the explorer — and all data moves to Final Chain when it is released.

#What you can rely on

  • The same code. The test environment runs the code that production will run next; build against test first.
  • The same addresses. Chain-global contracts are deployed deterministically, so the Final Gateway, the wallet factory and the other protocol contracts have the same address on every chain in both environments. Read them live from GET /system/config rather than pinning them.
  • The same routes and refusals. The API answers identically in both environments; error codes are stable and documented on Developer API.
  • Test assets. Test PHI from the faucet (1,000 per listed address, per test chain, per UTC day) and mock assets with public faucet functions; see the developer tools section of Developer API.

#What a change has passed

A change reaches production only after it has run on the test environment with every execution gate green: every co-signer quorum ready, the oracle publishing, fee composition answering on every chain, the chain set and quorum rows present, and intents posted through the API executing on their chain with no operator step. Production rollout is a separate, explicit step; there is no continuous deployment into production.

#Reading what happened

Every posted intent answers with a receipt that carries the real transaction hash and a status you can poll or stream; the settlement keeper writes the final record after finality. The explorer shows the same records, in both environments.

#See also

Developer API · Protocol integration · Architecture overview · Glossary