Provable Data Possession (PDP) - Service Contract and Tools
August 17, 2026 · View on GitHub
Table of Contents
Overview
This project contains the implementation of the PDP service contract, auxiliary contracts, and development tools for the Provable Data Possession protocol.
Contracts
The PDP service contract and the PDP verifier contracts are deployed on Filecoin Mainnet and Calibration Testnet.
Disclaimer: ⚠️ These contracts are still in beta testing and might be upgraded for bug fixes and/or improvements. Please use with caution for production environments. ⚠️
v3.1.0 - https://github.com/FilOzone/pdp/releases/tag/v3.1.0
Mainnet:
- PDPVerifier Implementation: 0xe2Dc211BffcA499761570E04e8143Be2BA66095f
- PDPVerifier Proxy: 0xBADd0B92C1c71d02E7d520f64c0876538fa2557F
Calibnet:
- PDPVerifier Implementation: 0x2355Cb19BA1eFF51673562E1a5fc5eE292AF9D42
- PDPVerifier Proxy: 0x85e366Cf9DD2c0aE37E963d9556F5f4718d6417C
Build
Depends on Foundry for development.
make build
For faster local feedback, use the non-IR, unoptimized profile:
make build-fast
Fast-profile artifacts are written to out-fast/ with compiler state in cache-fast/. Use the default build for deployment artifacts, gas measurements, and contract-size checks.
Test
make test
For faster behavioral test feedback:
make test-fast
Run make test before submitting changes to verify the production compiler configuration.
Deploy
To deploy on devnet, run:
make deploy-devnet
To deploy on calibrationnet, run:
make deploy-calibnet
To deploy on mainnet, run:
make deploy-mainnet
Design Documentation
For comprehensive design details, see DESIGN.md
Security Audits
The PDP contracts have undergone the following security audits:
Contributing
Contributions are welcome! Please follow these contribution guidelines:
Implementing Changes
Follow the existing code style and patterns. Write clear, descriptive commit messages and include relevant tests for new features or bug fixes. Keep changes focused and well-encapsulated, and document any new functionality.
Pull Requests
Use descriptive PR titles that summarize the change. Include a clear description of the changes and their purpose, reference any related issues, and ensure all tests pass and code is properly linted.
Getting Help
If you need assistance, feel free to open a issue or reach out to the maintainers of the contract in the #fil-pdp channel on Filecoin Slack.
License
Dual-licensed under MIT + Apache 2.0