credible.toml and create a release on the platform with pcl apply.
Prerequisites:
- pcl installed
- An assertion written and tested
- A project created in the platform
credible.toml, and create a release. Then review and deploy that release in the platform.
Step 1: Authenticate
Before deploying, authenticate with the Credible Layer:pcl automatically detects the authentication.
Your account must be linked to the wallet address that owns the contracts listed in
credible.toml. The platform verifies on-chain ownership (via the admin verifier, typically owner()) before allowing assertion deployment. See Ownership Verification for details.Step 2: Configure credible.toml
Create a credible.toml file at assertions/credible.toml in your project root. This file declares the desired release state for your project: which contracts are in scope and which assertion files should protect them.
Each contract address must be unique within the configuration. See the pcl Reference for all available fields.
credible.toml is declarative. If a later release removes a contract or assertion from the manifest, the platform treats that as a requested removal from the project when the release is reviewed, deployed, and the State Oracle timelock expires.Step 3: Apply Your Assertions
Create a release on the platform:- Reads your
credible.tomlconfiguration - Builds and compiles the referenced assertion contracts
- Previews the release changes against the current project state
- Creates a pending release on the platform after you confirm
--yes to skip the confirmation prompt:
pcl apply automatically builds your project. You can also run pcl build separately to check for compilation errors before applying.Step 4: Review and Deploy in the Platform
After applying, complete deployment in the Phylax platform using the Deploy Assertions guide:- Navigate to your project
- Click “Deployment” tab
- Find your assertion and click “Proceed to Review”
- Review the release diff and selected target contracts
- Select the target environment (Staging or Production)
- Click “Deploy” and sign the transaction
Creating a release through
pcl apply does not make the assertion active by itself. The release is pending until an authorized protocol admin, also called a manager, signs the deployment transaction in the platform. The assertion becomes active only after that transaction is accepted on-chain and the configured timelock in the State Oracle contracts expires. Removals follow the same State Oracle timelock flow.Troubleshooting
Authentication Issues
| Error | Solution |
|---|---|
| ”Not authenticated” | Run pcl auth login |
| ”Authentication expired” | Run pcl auth login to refresh |
| Browser doesn’t open | Manually visit the URL shown in terminal |
Apply Issues
| Error | Solution |
|---|---|
| ”credible.toml not found” | Check that the file exists at assertions/credible.toml or specify the path with -c |
| ”duplicate contract address” | Each contract address must be unique in credible.toml |
| ”Project not found” | Create the project in the platform first, or set project_id in credible.toml |
| Build failures | Run pcl build separately to diagnose compilation errors |
Next Steps
Deploy with the Platform
Complete deployment in the platform
pcl Reference
Full command reference
Testing Assertions
Test before deployment
Troubleshooting
Common issues and solutions

