This page covers problems that arise when your application runs against a live network: DevNet, TestNet, or MainNet. Local development issues are covered in Development Issues.Documentation Index
Fetch the complete documentation index at: https://docs.canton.network/llms.txt
Use this file to discover all available pages before exploring further.
Traffic Exhaustion
Every transaction on Canton Network consumes traffic, which is paid for with Canton Coin (CC). When your validator runs out of traffic, transactions are rejected.Symptoms
MEDIATOR_SAYS_TX_TIMED_OUT and the unresponsiveParties field points to your validator.
Check your balance
Query your validator’s traffic state through the Admin API:Enable auto-top-up
Configure automatic traffic purchases so your validator buys more traffic before it runs out:Tap on DevNet
On DevNet, you can request free test CC from the faucet. Open the wallet UI and use the Tap function, or call the tap endpoint directly. Test CC has no real value and exists only for development testing.On MainNet, CC has real value. Monitor your balance and set up auto-top-up before deploying production workloads.
Upgrade Issues
Version skew between Daml packages
When you deploy a new version of your Daml package alongside an existing version, both must be uploaded and vetted on all validators that process your contracts. If validator A has package v2 but validator B only has v1, transactions involving both parties will fail.Mixed-version deployments
If your application’s backend expects a newer Daml package version than what is deployed on the validator, commands will fail at submission time. Keep your application version in sync with the deployed DAR. After uploading a new DAR, verify it is vetted:Splice version mismatches
When the network upgrades (e.g., from Splice 0.4.x to 0.5.x), your validator must run a compatible version. An incompatible validator logs errors like:PQS Issues
The Participant Query Store (PQS) mirrors ledger data into a PostgreSQL database for efficient querying. Several things can go wrong.Connection failures
If PQS cannot reach its PostgreSQL database or the validator’s Ledger API, it logs errors and stops streaming:- PostgreSQL is running and accepting connections on the configured host/port
- The PQS database user has the required permissions
- The Ledger API (gRPC) port is accessible from the PQS process
- Network policies or firewalls are not blocking the connection
Stale data
PQS maintains a streaming connection to the Ledger API. If this connection drops, PQS may fall behind. Check the PQS offset against the ledger end:Schema migration with Flyway
PQS uses Flyway for database schema management. When upgrading PQS, Flyway runs migrations automatically. If a migration fails:- Back up the PQS database
- Check which migrations have been applied:
SELECT * FROM flyway_schema_history; - If a migration is marked as failed, repair the history:
flyway repair - Re-run the PQS startup