OnRe security record

As of 29 Oct 2026, OnRe has 6 audit reports by 1 security firm on Trustblock; the latest is by Quantstamp, dated 22 Sep 2026. Those reports list no open critical findings.

Critical findings
No open critical findings
Across 6 reports.
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.

Audits6

Newest first

AuditSecurity firmDateScopeCritical findingsReport
OnRe EVMSecurity firm: QuantstampDate: Scope: Not recorded (see the report)No open critical findingsOpen · certificate.quantstamp.com
OnRe - mmbotSecurity firm: QuantstampDate: Scope: Not recorded (see the report)No open critical findingsOpen · certificate.quantstamp.com
Onre - Re-Audit - 2Security firm: QuantstampDate: Scope: Not recorded (see the report)No open critical findingsOpen · certificate.quantstamp.com
OnRe Solana DiffSecurity firm: QuantstampDate: Scope: Not recorded (see the report)No open critical findingsOpen · certificate.quantstamp.com
OnRe SolanaSecurity firm: QuantstampDate: Scope: Files named in the reportNo open critical findingsOpen · certificate.quantstamp.com
Nayms - OnRe Offer/Redemption Program SpecSecurity firm: QuantstampDate: Scope: Files named in the reportNo open critical findingsOpen · certificate.quantstamp.com

Findings41

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

SeverityOpenAcknowledgedFixed
Critical000
High002
Medium124
Low51116
MediumDenial of Service Risk Due to Inaccessible Mint AuthorityOnre - Re-Audit - 2 · Quantstamp · 23 Jan 2026Open

Several instructions in the program require mint authority to mint or burn tokens as part of their normal operation. This mint authority can be either a program-derived address or the `boss` account. However, since the program allows transferring ownership of the `boss` role, a boss transfer performed without properly updating the mint authorities of the relevant token mints can leave the program unable to mint or burn tokens. This would effectively result in a denial of service. Additionally, the `TransferMintAuthorityToProgram` instruction requires the current mint authority to be the active `boss` before allowing the authority to be transferred to a PDA. If the previous `boss` becomes inaccessible after boss transfer is performed, there is no mechanism to move the mint authority to the new `boss` or to the PDA, permanently blocking mint and burn operations.

Open the report
Low`RedemptionOffer.fee_basis_points` Can Be Increased While a User's Request Is Active, Causing Them to Receive Less Tokens Out than ExpectedOnre - Re-Audit - 2 · Quantstamp · 23 Jan 2026Open

In the current implementation of the deposit flow the redemption fee is calculated at the time the request is fulfilled. For larger redemption requests, which may be forced to wait before their request can be fulfilled, this may mean that the `fee_basis_points` taken out of their redemption has been changed by the admin between their initial request and its fulfillment, causing them to pay a larger amount in fees than they expected.

Open the report
LowKill Switch Not Enforced in Minting Logic Allows Token Inflation During Emergency PauseOnre - Re-Audit - 2 · Quantstamp · 23 Jan 2026Open

The `mint_to` instruction allows the boss to mint new ONyc tokens but does not check the `state.is_killed` flag intended to act as a global kill switch. As a result, token minting remains possible even when the protocol is placed into a killed or emergency paused state.

Open the report
LowMissing Slippage Protection Can Result in Less-than-Ideal Trade ExecutionOnre - Re-Audit - 2 · Quantstamp · 23 Jan 2026Open

The `take_offer` instruction allows users to execute an offer by specifying only the amount of tokens in. This instruction does not accept or enforce any slippage bounds such as a minimum acceptable `token_out` amount or maximum execution price. Since the exchange rate is calculated at execution time using a chain state, users have no guarantee that the received amount of `token_out` matches their expectations at the time of transaction submission. This exposes users to adverse price movement without recourse.

Open the report
LowPermissionless Initialization Lets First Caller Seize Boss Role on Immutable DeploymentsOnre - Re-Audit - 2 · Quantstamp · 23 Jan 2026Open

The `initialize` instruction derives the program’s upgrade authority via `get_upgrade_authority()` and only enforces that `boss` matches this authority when the result is `Some(pubkey)`. If the program is immutable (upgrade authority is `None` under the upgradeable loader) or deployed under the `bpf_loader`, the function performs no alternative authorization check and proceeds to set the boss to the Signer. Since the `state` PDA is created deterministically with `init`, and if the `upgrade_authority` is `None`, then the first signer to call `initialize` will permanently set `state.boss` to themselves. Although an `ImmutableProgram` error exists, it is never used to prevent this path.

Open the report
LowInitialization Can Be FrontrunNayms - OnRe Offer/Redemption Program Spec · Quantstamp · 3 Apr 2025Open

The `instructions::initialize::initialize()` function can be frontrunned after the program is deployed. An attacker might create a state and set themselves as a boss, preventing the real admin from controlling the program.

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