Skip to main content
This guide walks you through uploading your assertion to Assertion DA and submitting it to your project for deployment. Prerequisites: What you’ll do: Authenticate, store your assertion, and submit it to your project.

Step 1: Authenticate

Before storing or submitting, authenticate with the Credible Layer:
pcl auth login
This opens a browser window where you connect your wallet. Once approved, pcl automatically detects the authentication. Check your status anytime:
pcl auth status

Step 2: Store Your Assertion

Upload your assertion bytecode and source code to Assertion DA:
pcl store MyAssertionContract
If your assertion has constructor arguments:
pcl store MyAssertionContract 0xCONTRACT_ADDRESS
pcl store automatically builds your project if needed. You can also run pcl build separately to check for compilation errors.

Step 3: Submit to Your Project

If you haven’t created a project yet, do that first in the dApp.
Submit the stored assertion to your project:
pcl submit -a 'MyAssertionContract(0xCONTRACT_ADDRESS)' -p my-project
For assertions without constructor arguments:
pcl submit -a 'MyAssertionContract' -p my-project
To submit multiple assertions, use interactive mode: run pcl submit without options to select which stored assertions to submit and which project to submit them to.

Step 4: Deploy in the dApp

After submitting, complete deployment in the Credible Layer dApp:
  1. Navigate to your project
  2. Click “Deployment” tab
  3. Find your assertion and click “Proceed to Review”
  4. Select the target contract and environment (Staging or Production)
  5. Click “Deploy” and sign the transaction

Troubleshooting

Authentication Issues

ErrorSolution
”Not authenticated”Run pcl auth login
”Authentication expired”Run pcl auth login to refresh
Browser doesn’t openManually visit the URL shown in terminal

Submission Issues

ErrorSolution
”Project not found”Create the project in the dApp first
”Assertion not found”Check assertion name matches exactly
Constructor args mismatchUse same args format as when storing

Next Steps