Adding Partisia Blockchain to vendors#114
Conversation
Co-authored-by: Jon Michael Aanes (Partisia) <jon.michael.aanes@partisia.com>
WalkthroughA new documentation page for Partisia Blockchain was added, covering its definition, applicable privacy patterns, architecture involving MPC-enabled private smart contracts, cross-chain integration, technical specifications, and external references. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip CodeRabbit can use OpenGrep to find security vulnerabilities and bugs across 17+ programming languages.OpenGrep is compatible with Semgrep configurations. Add an |
Co-authored-by: Jon Michael Aanes (Partisia) <jon.michael.aanes@partisia.com>
There was a problem hiding this comment.
Actionable comments posted: 6
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@vendors/partisia-blockchain.md`:
- Around line 70-81: Add a mandatory "## CROPS profile" section between the
"Strengths" and "Risks and open questions" headings in the
vendors/partisia-blockchain.md file; create a CROPS evaluation table with
columns "Product | CR | OS | Privacy | Security" and for each product row
provide CR, OS, Privacy, and Security scores accompanied by 1–2 line rationales
tied to the rubric (CR: exit/censorship handling, OS: license/forkability,
Privacy: privacy-by-default vs structured disclosure, Security: audits/crypto
assumptions/upgrade/admin keys/incident history/bug bounty). Ensure the table
follows the same format used in other vendor cards in the repo and that each
rationale is concise and mapped to the corresponding rubric criteria.
- Line 1: Add an "Unreleased" changelog entry for the new vendor by updating
CHANGELOG.md: under the "Unreleased" section add a "### Added" bullet with the
exact text `- feat: [Vendor: Partisia
Blockchain](vendors/partisia-blockchain.md) (`#114`)` so the new vendor file
vendors/partisia-blockchain.md is linked and the PR number (`#114`) is included
per CONTRIBUTING.md requirements.
- Around line 1-4: Update the frontmatter title in
vendors/partisia-blockchain.md so it matches the vendor schema pattern by
prefixing the existing title with "Vendor: " (i.e., change title: Partisia
Blockchain to title: Vendor: Partisia Blockchain) to satisfy the "^Vendor:"
validation requirement.
- Line 72: The line containing the phrase "fully programmable extendable
protocol platform" is promotional; replace it with a neutral, factual
description such as stating that the vendor provides native MPC protocols and an
extensible protocol platform (e.g., "Includes native MPC protocols and an
extensible protocol platform") to remove marketing language while preserving
meaning; edit the vendors/partisia-blockchain.md entry that currently reads
"Native protocols built in for MPC as well as fully programmable extendable
protocol platform" to the neutral phrasing.
- Around line 82-87: Add a new "## CROPS profile" section (heading text: "##
CROPS profile") immediately before the existing "Risks and open questions"
section and insert the required CROPS table with four rows/columns for Consensus
Robustness, Openness, Privacy, and Security; for each cell include a score and a
one-sentence rationale that maps to the CROPS rubric definitions from
CONTRIBUTING.md (e.g., "Consensus Robustness: Medium — rationale tied to
consensus type and decentralization"), ensuring concise rationales reference
concrete facts from the card; also include any relevant links (official website,
main repo, audits/bug bounty) in the external links area if available.
- Line 10: Add a mandatory "## CROPS profile" section under the Partisia
Blockchain (PBC) vendor card that contains a table with columns CR, OS, P, S,
and Context per CONTRIBUTING.md § CROPS Evaluation; assign succinct scores for
Cryptographic assumptions (CR), Operability/sovereignty (OS), Privacy guarantees
(P), and Security posture (S) and add 1–2 line justifications tied to product
traits (e.g., "four-party MPC threat model" for CR, "cross-chain bridge to
Ethereum / accepts ETH/USDT" for OS, "MPC architecture provides computation
privacy" for P, "KYC'd node/operator requirements or on-chain smart-contract
orchestration" for S); ensure each justification explicitly references Partisia
Blockchain (PBC) or its MPC/bridge/smart-contract architecture so reviewers can
map scores to concrete technical characteristics.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: b396ea23-a39a-49da-83cf-3c12a5035d10
📒 Files selected for processing (1)
vendors/partisia-blockchain.md
📜 Review details
🧰 Additional context used
📓 Path-based instructions (1)
vendors/**/*.md
⚙️ CodeRabbit configuration file
vendors/**/*.md: This is a vendor card.Structure & frontmatter: Validate against the template at
vendors/_template.md.Ethereum alignment (CRITICAL):
Pervendors/README.md, IPTF only lists vendors whose products are Ethereum-aligned.
Check that the product is built for or deployed on Ethereum mainnet or production L2s,
or is a multichain solution that benefits the Ethereum ecosystem (supports EIPs/ERCs,
advances shared privacy patterns, or brings institutional adoption to Ethereum).
Flag products that primarily serve non-Ethereum L1s without meaningful Ethereum integration.CROPS evaluation (CRITICAL):
Vendor cards MUST include a## CROPS profilesection with a table evaluating each product.
Table columns: Product | CR | OS | Privacy | Security | Context.
Validate scores against the rubrics inCONTRIBUTING.md § CROPS Evaluation.
CROPS is assessed per product, not per vendor — a single vendor may have products with different profiles.
For vendors, the Security score should also consider: audit status, upgrade key controls, admin key scope, incident history, and bug bounty program.Tone (CRITICAL): Must be neutral and factual per
vendors/README.mdhouse style.
Vendor cards describe capabilities objectively — they do not endorse products.
Flag any promotional language, superlatives, or marketing copy.Word limits: warn > 1000, error > 1800.
Files:
vendors/partisia-blockchain.md
🧠 Learnings (3)
📓 Common learnings
Learnt from: rymnc
Repo: ethereum/iptf-map PR: 116
File: patterns/pattern-private-set-intersection-dh.md:38-40
Timestamp: 2026-03-18T09:21:53.725Z
Learning: In the ethereum/iptf-map repository, pattern documentation (e.g., patterns/pattern-private-set-intersection-dh.md) is intentionally kept high-level and concise. Avoid suggesting granular implementation-level steps (e.g., explicit point-validation sub-steps) inside the Protocol section of pattern docs; prefer lightweight callouts in a separate Security Notes or Caveats section if the concern must be mentioned at all.
📚 Learning: 2026-03-18T09:21:53.725Z
Learnt from: rymnc
Repo: ethereum/iptf-map PR: 116
File: patterns/pattern-private-set-intersection-dh.md:38-40
Timestamp: 2026-03-18T09:21:53.725Z
Learning: In the ethereum/iptf-map repository, pattern documentation (e.g., patterns/pattern-private-set-intersection-dh.md) is intentionally kept high-level and concise. Avoid suggesting granular implementation-level steps (e.g., explicit point-validation sub-steps) inside the Protocol section of pattern docs; prefer lightweight callouts in a separate Security Notes or Caveats section if the concern must be mentioned at all.
Applied to files:
vendors/partisia-blockchain.md
📚 Learning: 2026-03-19T10:42:48.438Z
Learnt from: rymnc
Repo: ethereum/iptf-map PR: 120
File: patterns/pattern-private-set-intersection-circuit.md:5-7
Timestamp: 2026-03-19T10:42:48.438Z
Learning: In the ethereum/iptf-map repository, the frontmatter fields `layer` (enum: L1, L2, offchain, hybrid), `privacy_goal` (string, maxLength 200), and `assumptions` (string or array of strings) are all explicitly defined as valid properties in `scripts/schemas/pattern.json`. Do not flag these as invalid or non-schema fields in pattern documents under the `patterns/` directory.
Applied to files:
vendors/partisia-blockchain.md
🪛 LanguageTool
vendors/partisia-blockchain.md
[grammar] ~34-~34: Ensure spelling is correct
Context: ...itionally and non-interactively. - TEE - FHE # Architecture PBC’s private smart contra...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~39-~39: Use a hyphen to join words.
Context: ...re is enabled by a four-party, threshold one, MPC protocol. When deploying a priv...
(QB_NEW_EN_HYPHEN)
[grammar] ~41-~41: Use a hyphen to join words.
Context: ...from Ethereum is available through a MPC backed, collateralized cross-chain bridg...
(QB_NEW_EN_HYPHEN)
[grammar] ~51-~51: Use a hyphen to join words.
Context: ... - Programmable privacy allowing Turing complete computations - MPC orchestrat...
(QB_NEW_EN_HYPHEN)
[style] ~58-~58: In American English, abbreviations like “etc.” require a period.
Context: ...care, AML, Credit rating, supply chain, etc) - MPC based secret bid auctions for ...
(ETC_PERIOD)
[style] ~59-~59: In American English, abbreviations like “etc.” require a period.
Context: ...ecret bid auctions for RWA, Orderbooks, etc - Hybrid Public / Private blockch...
(ETC_PERIOD)
[grammar] ~80-~80: Use a hyphen to join words.
Context: ...ut also not a side-chain. - Protocol based. Not CPU intensive like TEE or FH...
(QB_NEW_EN_HYPHEN)
🔇 Additional comments (2)
vendors/partisia-blockchain.md (2)
1-88: Word count is compliant.The vendor card contains 515 words, well within the 1000-word warning threshold and 1800-word error limit.
19-19: [Rewritten comment]
[Classification tag]
| @@ -0,0 +1,88 @@ | |||
| --- | |||
There was a problem hiding this comment.
Add CHANGELOG.md entry for new vendor.
Per the contribution guidelines, adding a new vendor is a significant change that requires a changelog entry. Add an entry under the "Unreleased" section in CHANGELOG.md with the following format:
### Added
- feat: [Vendor: Partisia Blockchain](vendors/partisia-blockchain.md) (`#114`)As per coding guidelines in CONTRIBUTING.md, "significant changes (including new vendors)" must include a changelog entry with a markdown link to the new file and the PR number.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@vendors/partisia-blockchain.md` at line 1, Add an "Unreleased" changelog
entry for the new vendor by updating CHANGELOG.md: under the "Unreleased"
section add a "### Added" bullet with the exact text `- feat: [Vendor: Partisia
Blockchain](vendors/partisia-blockchain.md) (`#114`)` so the new vendor file
vendors/partisia-blockchain.md is linked and the PR number (`#114`) is included
per CONTRIBUTING.md requirements.
| --- | ||
| title: Partisia Blockchain | ||
| status: draft | ||
| --- |
There was a problem hiding this comment.
Fix frontmatter title to match schema requirement.
The title must start with "Vendor:" per the vendor schema validation. The current title will fail CI validation.
🔧 Proposed fix
---
-title: Partisia Blockchain
+title: "Vendor: Partisia Blockchain"
status: draft
---As per coding guidelines, vendor frontmatter must validate against the pattern "^Vendor:" defined in scripts/schemas/vendor.json.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| title: Partisia Blockchain | |
| status: draft | |
| --- | |
| --- | |
| title: "Vendor: Partisia Blockchain" | |
| status: draft | |
| --- |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@vendors/partisia-blockchain.md` around lines 1 - 4, Update the frontmatter
title in vendors/partisia-blockchain.md so it matches the vendor schema pattern
by prefixing the existing title with "Vendor: " (i.e., change title: Partisia
Blockchain to title: Vendor: Partisia Blockchain) to satisfy the "^Vendor:"
validation requirement.
|
|
||
| # What it is | ||
|
|
||
| Partisia Blockchain (PBC) is a Layer 1 blockchain with a cross-chain bridge to Ethereum that allows for customizable MPC (multi-party computation) as a service to the Ethereum network. MPC is enabled as an integrated, core protocol component with orchestration of the computation through a combination of Ethereum and Partisia Blockchain smart contracts. |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Search for Ethereum-specific integration evidence in the vendor file
rg -i 'eip|erc|ethereum mainnet|ethereum l2' vendors/partisia-blockchain.mdRepository: ethereum/iptf-map
Length of output: 209
🏁 Script executed:
cat -n vendors/partisia-blockchain.mdRepository: ethereum/iptf-map
Length of output: 6266
Add mandatory CROPS profile section.
The vendor card demonstrates meaningful Ethereum integration (cross-chain bridge, MPC service to Ethereum, accepts ETH/USDT, fits Ethereum patterns), so Ethereum alignment is adequately addressed. However, the card is missing its required CROPS profile—a mandatory section per vendor card guidelines.
Add a ## CROPS profile section with a table evaluating Cryptographic assumptions (CR), Operability/sovereignty (OS), Privacy guarantees (P), Security posture (S), and Context. Reference rubrics in CONTRIBUTING.md § CROPS Evaluation and justify each score with 1–2 lines tied to the product's technical traits (e.g., four-party MPC threat model for CR, KYC'd node requirement for S, MPC architecture for P).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@vendors/partisia-blockchain.md` at line 10, Add a mandatory "## CROPS
profile" section under the Partisia Blockchain (PBC) vendor card that contains a
table with columns CR, OS, P, S, and Context per CONTRIBUTING.md § CROPS
Evaluation; assign succinct scores for Cryptographic assumptions (CR),
Operability/sovereignty (OS), Privacy guarantees (P), and Security posture (S)
and add 1–2 line justifications tied to product traits (e.g., "four-party MPC
threat model" for CR, "cross-chain bridge to Ethereum / accepts ETH/USDT" for
OS, "MPC architecture provides computation privacy" for P, "KYC'd node/operator
requirements or on-chain smart-contract orchestration" for S); ensure each
justification explicitly references Partisia Blockchain (PBC) or its
MPC/bridge/smart-contract architecture so reviewers can map scores to concrete
technical characteristics.
| # Strengths | ||
|
|
||
| - Native protocols built in for MPC as well as fully programmable extendable protocol platform | ||
| - Cross chain bridge enabling orchestration of Multi-party Computation (MPC) on Ethereum, with gas payable using USDT or ETH. | ||
|
|
||
| # Risks and open questions | ||
|
|
||
| - One threat model supported out of the box (four parties, one corruption) | ||
| - Current network supports GDPR compliance. Other regions require additional node buildout | ||
| - Integration to Ethereum. Not an L2 but also not a side-chain. | ||
| - Protocol based. Not CPU intensive like TEE or FHE but sensitive to network usage. | ||
|
|
There was a problem hiding this comment.
Add required CROPS profile section.
The vendor card is missing the mandatory ## CROPS profile section. Per the template and contribution guidelines, every vendor card must include a CROPS evaluation table with the following columns:
Product | CR | OS | Privacy | Security | Context
Each score (CR, OS, Privacy, Security) must include a 1-2 line rationale tied to the rubric definitions:
- CR: How the product handles exit and censorship scenarios
- OS: Explicit license, forkable exit paths
- P: Privacy-by-default vs. structured disclosure approach
- S: Audit status, cryptographic assumptions, upgrade/admin key controls, incident history, bug bounty
Insert the CROPS profile section after the "Strengths" section and before "Risks and open questions."
As per coding guidelines, CROPS evaluation is assessed per product and is a non-negotiable requirement for vendor documentation in vendors/README.md and CONTRIBUTING.md § CROPS Evaluation.
🧰 Tools
🪛 LanguageTool
[grammar] ~80-~80: Use a hyphen to join words.
Context: ...ut also not a side-chain. - Protocol based. Not CPU intensive like TEE or FH...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@vendors/partisia-blockchain.md` around lines 70 - 81, Add a mandatory "##
CROPS profile" section between the "Strengths" and "Risks and open questions"
headings in the vendors/partisia-blockchain.md file; create a CROPS evaluation
table with columns "Product | CR | OS | Privacy | Security" and for each product
row provide CR, OS, Privacy, and Security scores accompanied by 1–2 line
rationales tied to the rubric (CR: exit/censorship handling, OS:
license/forkability, Privacy: privacy-by-default vs structured disclosure,
Security: audits/crypto assumptions/upgrade/admin keys/incident history/bug
bounty). Ensure the table follows the same format used in other vendor cards in
the repo and that each rationale is concise and mapped to the corresponding
rubric criteria.
|
|
||
| # Strengths | ||
|
|
||
| - Native protocols built in for MPC as well as fully programmable extendable protocol platform |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Simplify promotional phrasing to maintain neutral tone.
The phrase "fully programmable extendable protocol platform" reads as promotional language. Vendor cards must maintain a neutral, factual tone without marketing copy.
♻️ Suggested revision
-- Native protocols built in for MPC as well as fully programmable extendable protocol platform
+- MPC protocols integrated as core blockchain features with programmable extensionsAs per coding guidelines, vendor cards "describe capabilities objectively — they do not endorse products" and must avoid "promotional language, superlatives, or marketing copy."
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - Native protocols built in for MPC as well as fully programmable extendable protocol platform | |
| - MPC protocols integrated as core blockchain features with programmable extensions |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@vendors/partisia-blockchain.md` at line 72, The line containing the phrase
"fully programmable extendable protocol platform" is promotional; replace it
with a neutral, factual description such as stating that the vendor provides
native MPC protocols and an extensible protocol platform (e.g., "Includes native
MPC protocols and an extensible protocol platform") to remove marketing language
while preserving meaning; edit the vendors/partisia-blockchain.md entry that
currently reads "Native protocols built in for MPC as well as fully programmable
extendable protocol platform" to the neutral phrasing.
| # Links | ||
|
|
||
| - [https://partisiablockchain.gitlab.io/documentation/index.html](https://partisiablockchain.gitlab.io/documentation/index.html) | ||
| - [https://gitlab.com/partisiablockchain/language/example-contracts](https://gitlab.com/partisiablockchain/language/example-contracts) | ||
| - [https://partisiablockchain.gitlab.io/documentation/smart-contracts/pbc-as-second-layer/partisia-blockchain-as-second-layer.html](https://partisiablockchain.gitlab.io/documentation/smart-contracts/pbc-as-second-layer/partisia-blockchain-as-second-layer.html) | ||
|
|
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Test all external links for accessibility
# Extract and test each URL
urls=(
"https://partisiablockchain.gitlab.io/documentation/index.html"
"https://gitlab.com/partisiablockchain/language/example-contracts"
"https://partisiablockchain.gitlab.io/documentation/smart-contracts/pbc-as-second-layer/partisia-blockchain-as-second-layer.html"
)
for url in "${urls[@]}"; do
echo "Testing: $url"
curl -I -s -f "$url" > /dev/null && echo "✓ OK" || echo "✗ FAILED"
doneRepository: ethereum/iptf-map
Length of output: 357
🏁 Script executed:
cat -n vendors/partisia-blockchain.mdRepository: ethereum/iptf-map
Length of output: 6266
🏁 Script executed:
# Check the template structure
head -80 vendors/_template.mdRepository: ethereum/iptf-map
Length of output: 1238
🏁 Script executed:
# Check vendors/README.md for Ethereum alignment requirements
grep -A 20 "Ethereum-aligned" vendors/README.mdRepository: ethereum/iptf-map
Length of output: 1157
Add the required CROPS profile table to the vendor card.
The file is missing the mandatory ## CROPS profile section with a table evaluating the product across the four CROPS dimensions (Consensus Robustness, Openness, Privacy, and Security). Per the template and guidelines, this section is required for all vendor cards. Add the table before the "Risks and open questions" section, with scores and brief rationales tied to the CROPS rubric definitions in CONTRIBUTING.md.
The external links section (verified accessible) could be enhanced by including links to the official website, main GitLab organization repository, any security audits, and bug bounty program (if applicable), but the CROPS profile is the primary requirement.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@vendors/partisia-blockchain.md` around lines 82 - 87, Add a new "## CROPS
profile" section (heading text: "## CROPS profile") immediately before the
existing "Risks and open questions" section and insert the required CROPS table
with four rows/columns for Consensus Robustness, Openness, Privacy, and
Security; for each cell include a score and a one-sentence rationale that maps
to the CROPS rubric definitions from CONTRIBUTING.md (e.g., "Consensus
Robustness: Medium — rationale tied to consensus type and decentralization"),
ensuring concise rationales reference concrete facts from the card; also include
any relevant links (official website, main repo, audits/bug bounty) in the
external links area if available.
Taking over from <ethereum#114>
|
As stated in #128 closing this PR |
What are you adding?
Description
Adding Partisia Blockchain as a vendor list to be used as a privacy layer for Ethereum and in enterprise use cases
Checklist
Summary by CodeRabbit