Skip to main content
This guide shows you how to configure your assertions in credible.toml and create a release on the platform with pcl apply. Prerequisites: What you’ll do: Authenticate, declare the desired assertion state in 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 displays a device code and verification URL. Press Enter to open the URL in your browser, authenticate with your wallet, email, Google, or GitHub, and approve the request. pcl then detects the completed 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.
Check your status anytime:

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.
To protect multiple contracts, add more entries:
Each contract address must be unique within the configuration. See the pcl Reference for all available fields.
Set project_id in your credible.toml to skip the interactive project selection prompt. This is especially useful for CI/CD pipelines.
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:
This command:
  1. Reads your credible.toml configuration
  2. Builds and compiles the referenced assertion contracts
  3. Previews the release changes against the current project state
  4. Creates a pending release on the platform after you confirm
You’ll be prompted to confirm before applying. Use --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:
  1. Navigate to your project
  2. Select Releases
  3. Choose the release created by pcl apply
  4. Review the release diff and selected target contracts
  5. Review Assertion verification, Source code, and Backtesting. See Release Review Checks for details.
  6. Confirm the target environment declared in credible.toml
  7. Connect the protocol manager wallet, select Deploy to Staging or Deploy to Production, 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

Apply Issues

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