RealFevr security record

Avalanche, BNB Chain, Ethereum, Polygon (POS)realfevr.com

As of 3 Nov 2026, RealFevr has 1 audit report on Trustblock, by CertiK, dated 1 Mar 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 Nov 2026. Trustblock does not review code.

Audits1

Newest first

AuditSecurity firmDateScopeCritical findingsReport
RealFevr - bridgeSecurity firm: CertiKDate: Scope: Files named in the reportNo open critical findingsOpen · skynet.certik.com

Findings29

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

SeverityOpenAcknowledgedFixed
Critical000
High030
Medium302
Low10011
MediumInconsistency Between `safeMint()` and `safeMintTRealFevr - bridge · CertiK · 1 Mar 2024Fixed

Function `safeMint()` mints NFT tokens based upon the current value of `lastMintedId`, and increments the value afterward. Function `safeMintTo()` allows the privileged account to specify any `tokenId` but still increments `lastMintedId`. 1. The use of function `safeMintTo()` will cause an issue with function `safeMint()` where, when `lastMintedId` reaches the lowest value used as input `tokenId` in `safeMintTo()`, the function will revert because the tokenId has already been minted. Function `safeMint()` cannot be called again until `safeMintTo()` is called enough times to increment `lastMintedId` to a value that has not been used as an NFT's token Id yet. 2. The increment of `lastMintedId` in function `safeMintTo()` means that `safeMint()` may skip some values rather than minting incrementally. 3. If function `safeMint()` is used to mint a `tokenId`, this may prevent the `ERC721BridgeImpl` contract from successfully minting as needed with function `mintERC721()`. Further, contract `base_erc721` is ownable, meaning that while the `ERC721BridgeImpl` is the `owner`, function `safeMint()` will not be used.

Open the report
MediumPotential ReentrancyRealFevr - bridge · CertiK · 1 Mar 2024Fixed

Function `mintERC721()` uses `safeMintTo()` to mint ERC721 tokens to a specified `to` address. This function makes a call to `onERC721Received()` if the `to` address is a contract. If the `to` address is a malicious contract, they may use the call to make extra, unintended calls, before function `setMarketplaceDistributions()` is subsequently called. As a result, the associated marketplace distributions information will not yet be set before the `to` address has an opportunity to use the token in other parts of the protocol. If there are other parts of the protocol that rely on the marketplace distributions information to operate correctly, this may result in an exploit.

Open the report
Low`ERC721HolderUpgradeable` Can Be UsedRealFevr - bridge · CertiK · 1 Mar 2024Fixed

Whenever possible, upgradeable versions of OpenZeppelin contracts can be used as inheritances for upgradeable contracts in case the formatting is needed in future upgrades.

Open the report
Low`quantity` is Always Hardcoded as 1 When `takeFeeRealFevr - bridge · CertiK · 1 Mar 2024Fixed

Function `takeFees()` is only called in function `depositSingleERC721()`, where the `quantity` parameter is hardcoded as 1. If the quantity is always supposed to be 1, it is unnecessary to include a parameter for it, and `bridgeCost` can be replaced with the `fees` parameter everywhere in the `takeFees()` function.

Open the report
LowFunction `burnToken()` Does Not Include a `uniqueRealFevr - bridge · CertiK · 1 Mar 2024Fixed

Please confirm it is intended that `burnToken()` does not include validation and tracking of a `uniqueKey` string like `withdrawERC20()` and `mintToken()`.

Open the report
LowInformation Needed on Upgrade HandlingRealFevr - bridge · CertiK · 1 Mar 2024Fixed

The contracts cited are upgradeable. The comment `// impl v2 storage` is noted above state variable `_multiDeposit`, appended after event declaration. Please clarify whether the source code provided is for an upgrade of an existing deployment, or whether this contract is to be deployed for the first time. This information is needed in order to determine whether storage collisions and other inconsistencies during upgrades should be considered.

Open the report
LowPerform Checks Before UpdatesRealFevr - bridge · CertiK · 1 Mar 2024Fixed

It is best practice to check input satisfies restrictions before using it to update a corresponding state variable.

Open the report
LowTypos and InconsistenciesRealFevr - bridge · CertiK · 1 Mar 2024Fixed

### ERC20BridgeImpl - The comment above `setFeeStatus()` misspells the word "status" as "statys." - The comment above `setFeeStatus()` includes the wrong comments for the `active` parameter. - The comment in `createNewToken()` above the `hasRole` checks inaccurately says that only the `DEFAULT_ADMIN_ROLE` or the `BRIDGE` can call the function, but it is only the `DEFAULT_ADMIN_ROLE` or the `OPERATOR` that can call the function. ### ERC721BridgeImpl - The comment above `setFeeStatus()` misspells the word "status" as "statys." - The comment above `setFeeStatus()` includes the wrong comments for the `active` parameter. - The comment in `depositSingleERC721()` above the `ownerOf()` check should be removed before the contract is deployed. - The event `NFTDetailsSet` emitted in function `createERC721()` implies that the use of the created contract is immediately active with the bridge through the `true` bool. Instead, the event should use a `false` bool.

Open the report
LowUnclear Purpose for Tracking of User Deposits inRealFevr - bridge · CertiK · 1 Mar 2024Fixed

Contract `ERC721BridgeImpl` records the address that deposits each NFT in mapping `nftListPerContract` but this information is never checked in any function before updates to the value in functions `depositSingleERC721()` and `withdrawSingleERC721()`. Contract `ERC20BridgeImpl` records the total running sum of each token a user has deposited into the bridge through mapping `userData`, but this value is never checked within the contract and is not updated further through withdrawals.

Open the report
LowUnnecessary Use of `super` KeywordRealFevr - bridge · CertiK · 1 Mar 2024Fixed

Functions `airdrop()` and `airdropD()` do not override the behavior of `_update()`; each function can directly reference this function instead of using the `super` keyword.

Open the report
Show 3 more
LowUnused Errors and EventsRealFevr - bridge · CertiK · 1 Mar 2024Fixed

The cited errors and events are never used within the contract codebase.

Open the report
LowUnused State VariablesRealFevr - bridge · CertiK · 1 Mar 2024Fixed

- Variable `maxNFTsPerTx` is never used within the core logic of the contract. - Variable `permittedNFTs[address].feeWithdrawAmount` is never used within the core logic of the contract.

Open the report
LowUse of `transferFrom()` Over `safeTransferFrom()`RealFevr - bridge · CertiK · 1 Mar 2024Fixed

The use of `transferFrom()` allows NFTs to be sent to contracts, even if they do not implement `onERC721Received()`. If an NFT is sent to a contract that cannot manage the NFT sent, it may become stuck in the contract.

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="realfevr"
></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