XProtocol security record

As of 23 Oct 2026, XProtocol has 1 audit report on Trustblock, by QuillAudits, dated 1 Aug 2024. That report lists no open critical findings.

Critical findings
No open critical findings
In 1 report.
Open the latest report
Your label, live
Get the label for your site

Record last updated . It holds audits and findings, contracts and incidents up to Oct 2026. Trustblock does not review code.

Audits1

Newest first

AuditSecurity firmDateScopeCritical findingsReport
XprotocolSecurity firm: QuillAuditsDate: Scope: Files named in the reportNo open critical findingsOpen · quillaudits.com

Findings10

Statuses are the security firm’s own, from each report.

SeverityOpenAcknowledgedFixed
Critical000
High000
Medium003
Low205
MediumMissing validation in function `setOrAddPricingTier`Xprotocol · QuillAudits · 1 Aug 2024Fixed

The Tier.whitelistSoldQuantity should constantly be less than or equal to Tier.whitelistQuantity. However, the setOrAddPricingTier function, which updates price tiers, may not always enforce this constraint. Consequently, this could lead to an inconsistent state within the system.

Open the report
MediumMissing validation of `referralDiscountPercentage`Xprotocol · QuillAudits · 1 Aug 2024Fixed

The PromoCode.referralDiscountPercentage must always be maintained at a value less than 100%. Setting this value to 100% would result in the issuance of an NFT at no cost.

Open the report
MediumValues in `_promoCodesByRecipient` might get staleXprotocol · QuillAudits · 1 Aug 2024Fixed

The updatePromoCode function is designed to modify existing promo codes. While it successfully updates the _promoCodes data structure, it does not perform the requisite updates to the _promoCodesByRecipient data structure. This oversight may lead to potential inconsistencies in the system's state. Similar updates should be done in removePromoCode.

Open the report
LowConditional ChecksXprotocol · QuillAudits · 1 Aug 2024Fixed

Conditional check in claimableNodeAmounts[msg.sender] <= 0 of claimNode function  can be == instead of <0

Open the report
LowDeas Commented CodeXprotocol · QuillAudits · 1 Aug 2024Fixed

Remove dead commented code of _getWhitelistByAddrAndTier function.

Open the report
LowInconsistent namingXprotocol · QuillAudits · 1 Aug 2024Fixed

Inconsistent naming of the function removePromoCode, it’s deactivating Promo code but name implies that it removed Promo code.

Open the report
LowUnclear administrative responsibility of function `withdrawFunds`Xprotocol · QuillAudits · 1 Aug 2024Fixed

The withdrawFunds function possesses significant administrative capabilities and should not be managed by an Externally Owned Account (EOA). It is advisable to utilize a multisignature (multisig) wallet for this purpose. Additionally, to mitigate issues when transferring funds to a contract, employ the .send or .call methods with a specified gas limit or the nonReentrant modifier, rather than using the .transfer method.

Open the report
LowUse `nonReentrant` modifier of ReentrancyGuardUpgradeable contractXprotocol · QuillAudits · 1 Aug 2024Fixed

The contract contains numerous functions that are susceptible to reentrancy attacks, given the extensive use of .send and .call opcodes. To robustly address this issue, it is advisable to implement a non-reentrancy guard across all functions. This approach would effectively mitigate reentrancy vulnerabilities and enhance the contract's security.

Open the report

Contracts

No deployed address is recorded for these audits.

The reports name a repository or files. Open a report to see its scope.

The repositories and files the reports name

Show this on your site

Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.

Content

Facts

Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="xprotocol"
></div>
</body>

Paste the code where the label should appear. It uses no API credit and updates by itself.

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us