Skip to main content
Projects are the organizational unit in the Credible Layer dApp. Each project represents a protocol or set of smart contracts that you want to protect with assertions.

What are Projects?

A project groups together:
  • One or more smart contract addresses
  • Assertions that protect those contracts
  • Project metadata (name, description, target chain)
Projects enable you to manage all your protocol’s assertions from a single interface.

Creating a Project

To create a new project:
  1. Navigate to the “Projects” tab in the dApp navigation bar
  2. Click “Create a project”
  3. Enter project details:
    • Project Name: Typically matches your protocol or contract name
    • Project Description: Brief explanation of what your project does
    • Target Chain: The blockchain where your contracts are deployed
  4. Click “Continue”
  5. Add contract addresses:
    • Enter each contract address you want to protect
    • Only contracts where you are the owner can be added
    • The dApp verifies ownership by calling the owner() function
  6. Review your project details
  7. Click “Save and publish” to create the project
Creating a Project

Creating a Project in the dApp

Only the owner of a contract can create a project for it. Ensure your contract implements an owner() function that returns the current owner address. See Ownership Verification for details.For contracts without the owner() interface, a Manual Verification Request process is available.

Managing Projects

Once created, you can manage your project through the project dashboard:

View Project Details

  • See all contract addresses in the project
  • View project metadata
  • See all assertions
  • See all events (timeline for the project)
  • See all incidents

Add or Remove Contracts

  • Add new contract addresses to your project
  • Remove contracts that are no longer active
  • Update contract information

Deploy Assertions

  • Submit assertions to your project via pcl
  • Link assertions to specific contracts through the dApp
  • View all active assertions protecting your contracts
Deploy Assertions

Deploying an Assertion

For detailed instructions on deploying assertions, see the Deploy Assertions guide.

Project Settings

In the project settings tab, you can: Update Project Details: Here you can update the project name, description, and delete the project. Transfer Project Ownership: You can transfer projects and contracts (including their associated assertions) to other wallets. This allows you to transfer project ownership while maintaining all linked assertions and contracts. Integrations: Setup integrations to receive notifications when incidents occur. For now you can setup Slack.
Project Settings

Project Settings

Project Dashboard

The project dashboard provides a unified view of your project’s security:
  • Active Assertions: See all assertions currently protecting your contracts
  • Assertion Deployment: Deploy or remove assertions for your project
  • Ready for Deployment: Assertions submitted via pcl that need to be linked and deployed
  • Assertion Status: Monitor execution status and any triggered violations. Status shows whether assertions are marked for enforcement/staging or enforced/staged
  • Recent Incidents: View detailed incidents for your project (see Incidents)
  • Project Settings: Update project details and manage contracts
Project Dashboard with Incident

Projct dashboard view for the project owner

Next Steps