Projects and configuration
labcoat init creates a Rust-first contract project:
contracts/ Rust contract sourcestests/ Native integration testsCargo.toml Host-side test projectlabcoat.toml Public project configurationlabcoat.lock Per-network deployment ledger, created on deployAGENTS.md Concise instructions for coding agentsSKILL.md Complete Labcoat agent workflowSettings precedence
Section titled “Settings precedence”Settings resolve in this order:
CLI flags → LABCOAT_* environment variables → labcoat.toml → defaultslabcoat.toml supports network, rpc_url, wallet_file, and fee_rate.
The default network is regtest and the default gateway is
http://localhost:18888.
Secrets
Section titled “Secrets”Never put a mnemonic or passphrase in labcoat.toml or on the command line.
- Set
LABCOAT_WALLET_PASSPHRASEfor the keystore passphrase. - Set
LABCOAT_MNEMONICor usewallet init --mnemonic-stdinfor recovery. - Mainnet and signet refuse wallet operations without an explicit passphrase.
Deployment state
Section titled “Deployment state”labcoat.lock maps contract names to network-specific IDs, hashes, transaction
IDs, and deployment status. Commit it when deployments are part of shared
project state. After labcoat reset -y, redeploy contracts because the local
chain no longer contains those IDs.