MNX security bug bounty

Last updated:

Help protect MNX and its users. We reward responsible reports of vulnerabilities in our mainnet smart contracts and the MNX-controlled systems that authorize trades, move funds, deploy production software, or determine market settlement. We pay for vulnerabilities that can lose or freeze funds or grant unauthorized production administrative or deployment access: rewards range from $5,000 to $100,000 per distinct vulnerability. Rewards are denominated in USD and paid in USDC.

Report privately to bounty@mnx.fi with the subject MNX security report. Do not publish exploit details in a GitHub issue, public chat, or social-media post.

Rewards and severity

SeverityDemonstrated impactReward
CriticalDirect loss or theft of user, protocol, or liquidity-vault principal; permanent freezing of those funds; protocol or vault insolvency.10% of directly affected funds, with a $25,000 minimum and $100,000 maximum.
HighTemporary freezing of funds, including vault withdrawals; theft or permanent freezing of accrued, unclaimed yield; unauthorized production administrative or deployment access without a demonstrated critical impact.$5,000–$25,000

Rewards are paid only for the impacts in this table. Denial of service, degraded availability or performance, spam, rate-limit gaps, excessive gas consumption, griefing, and other defects that cannot lose or freeze funds or grant unauthorized production administrative or deployment access are not eligible for a reward. We still want to hear about them at the address above and will acknowledge each report, but they are not paid. We may add rewards for some of these impacts later; each report is assessed under the terms published when we receive it.

Unavailability of the application, API, or relayer that lasts only while an attack continues is a disruption, not a freezing of funds, with one exception: an attack that exploits a flaw, not sheer traffic volume, to keep users from withdrawing their funds through the application and API for more than 24 hours, and that an attacker can realistically sustain for that long, is rated High as a temporary freezing of funds. Otherwise, a disruption is assessed by the lasting financial consequence it demonstrably causes, for example bad debt the liquidity vault absorbs because liquidations could not run, or funds that stay frozen after service is restored. Such a consequence is rated Critical or High under this table.

Until September 25, 2026, this policy also paid Medium rewards ($1,000–$5,000) for disruption, griefing, and excessive gas consumption, and Low rewards ($250–$1,000) for other limited-impact defects. Reports we received before this change was published are assessed under those earlier terms.

The same reward schedule applies across smart contracts, applications, and operational systems. An exploit is not capped at a lower tier because it starts off-chain. Severity follows the demonstrated consequence and actual permissions gained, not a credential's name or job title. An accounting, share-pricing, rounding, or authorization bug that steals vault principal is assessed as theft when it meets the scope and exclusions below, even if the exploit moves funds through a child account or an apparently valid redemption. Ordinary market losses are not a vulnerability.

For critical findings, the reward is the greater of $25,000 and 10% of directly affected funds, capped at $100,000. Directly affected funds are those demonstrably lost, misallocated, stealable, or permanently frozen under the deployed configuration at the time of reporting. For an incorrect settlement, count the resulting loss to affected accounts, not the full settlement volume. For insolvency, use the demonstrated unrecoverable shortfall. Include realistically repeatable exploitation; exclude hypothetical future deposits, unaffected assets, and double-counting the same collateral as both a bank balance and a vault or market balance.

Within the High range, we consider affected funds and users, how long funds stay frozen, exploit feasibility, and recovery requirements. We provide a written explanation of the classification and reward.

These awards recognize reports accepted under the policy in effect when we received them. Historical awards do not change the current reward eligibility above.

Paid on (Pacific time)FindingSeverityReward paid
Consumed margin and leverage authorization replayLow$500, paid in USDC

This report concerned avoidable relayer gas costs. On-chain nonce checks prevented replayed changes to user funds or positions. The report was received on September 23, 2026, before Low- and Medium-severity rewards were paused.

Applications and operational systems in scope

Coverage includes the following MNX-controlled production assets and workflows. The application and API scope applies to the exact hosts listed below, not every MNX subdomain. Market-specific findings must affect a market in scope, as described in the contract scope.

  • Production application: mnx.fi and app.mnx.fi, including wallet interactions, account sessions, and transaction construction.
  • Production API and WebSocket service: api.app.mnx.fi, including authentication, authorization, orders, withdrawals, and account access.
  • Trading, accounting, and market resolution: the MNX-controlled backend behind those services, including matching, collateral accounting, oracle publishing, settlement calculations, and resolution approval and execution for covered markets.
  • Signing and privileged access: MNX-controlled production signing services, service accounts, and secret-access configuration that authorize actions on the listed services or in-scope mainnet contracts.
  • Production deployment: MNX-controlled build workflows, deployment configuration, and release credentials for the mnx-markets/exchange repository where an exploit can change the listed production services or in-scope contract implementations. An unused script or development-only configuration without a production attack path does not qualify.

Bugs in MNX's configuration or integration of cloud, hosting, source-control, and identity providers are eligible when they affect these assets. Provider platforms themselves, unrelated repositories or hosts, employee devices, and personal accounts are excluded. Being in scope for reporting does not authorize access to private infrastructure; the testing rules below apply to every category.

Deployer, signer, and operator compromise

Eligible reports demonstrate a realistic way to gain unauthorized capabilities: for example, an MNX-controlled endpoint that exposes an active signing credential, an admin authentication bypass, a service-account permission escalation, or a build-workflow flaw that permits unauthorized production code or contract upgrades. Report the access path and the resulting permissions. Merely assuming possession of an owner or deployer key is insufficient.

Privileged access is critical when its demonstrated capabilities enable a critical financial impact under the deployed configuration. An unused or restricted credential is assessed by its actual impact. Researchers do not need to exercise production signing or deployment powers to establish severity; MNX can verify the permissions from safely supplied evidence.

Market resolution and settlement integrity

Eligible findings include unauthorized resolution, tampering with settlement inputs, substituting a market or outcome, reproducible payout-calculation defects, bypassing a required approval or review window, and replaying an outdated settlement instruction. Demonstrate how the resulting settlement violates the affected market's published rules or each account's entitlement. Loss of user or vault principal is assessed as a critical financial impact, whether or not the attacker profits.

Identify the affected rule, expected outcome, actual outcome, and a reproducible defect or control failure. Disagreement with a disclosed discretionary judgment, or an ordinary factual correction without such a failure, belongs in the market's published review and dispute process. Discovering a defect before settlement does not make it ineligible; reproduce the impact safely without causing a live misresolution.

Mainnet contracts in scope

This program covers the MNX shared contracts and vault accounts identified in the scope inventory, and the contracts of every market in scope, on MegaETH mainnet, chain ID 4326, including their implementations when called through their proxies. Deployed ProxyAdmin contracts that control an in-scope proxy are also covered, even if their addresses are not separately listed in the snapshot. This includes vulnerabilities in their authorization or upgrade logic, including when they use third-party library code; merely assuming possession of an administrator's key remains excluded.

Every market open for trading on MegaETH mainnet is in scope, together with its registered replacement contracts, from the moment it opens. A delisted market stays in scope until all of its positions have been closed and paid out at its settlement price. Market deployments that never opened for trading, delisted markets whose positions have all been closed and paid out, testnet deployments, unused code, and standalone third-party contracts are excluded.

The snapshot was checked on at block 28,180,568. It records the deployed code hashes, proxy implementation addresses, and implementation code hashes of the shared contracts and vault accounts. Market contracts are in scope by the rule above and are not listed; the market registry below gives their addresses. The snapshot does not separately enumerate ProxyAdmin addresses; their coverage is defined above. This is a deployment inventory, not a security audit or a claim that the contracts contain known vulnerabilities.

Download the mainnet contract address snapshot (JSON). The linked explorer pages provide deployment and source information where available. Reproduce against the deployed implementation at a recorded block; the latest repository source may differ from deployed code.

Shared custody and authorization contracts

These contracts are priority research targets because they hold collateral or enforce permissions and calculations used across markets. The MarginBank and LiquidityVault are the primary custody and pooled-funds targets.

Contract and mainnet addressSecurity responsibility
MarginBank
0xfdd082882cf346751f56e8441fbbadffa476d6fa
Shared collateral custody, account balances, transfers, and withdrawals.
LiquidityVault
0x18fec719baad03391cc791b20989e9f4d69e3ca4
Liquidity-provider deposits, share accounting, redemptions, and collateral allocated to vault accounts and backstop positions.
AccountManager
0x259b637dd649e59583c4094c1ab13be494e5114b
Session-key permissions and authorization for vault-owned system accounts.
SignatureVerifier
0x5e2be2467011d4035acde53d610df67516c48c6e
Signature verification for market margin and leverage authorizations.
MarginBank withdrawal SignatureVerifier
0xd1bed9ff7d14dad059e124645b86dc5d5463c2ed
Signature verification for MarginBank withdrawals. This deployed verifier is in scope even though the shared-contract registry lists the newer market verifier.
MNXMinimalForwarder
0xf6c226e9ec2e8e502ba5e67b8fe05c2a14688c0a
Relayed user authorizations and replay protection.
Guardian
0x1a6042cffb83139db77cfce3ca72aa95bd1047a2
Emergency trading, withdrawal, and funding controls.
MarginMath
0xe546ae0e1e62a9f847f373b705b663a9991e4c32
Shared position, margin, and liquidation calculations.
GlobalIndexUpdater
0xbca1a45bb461d79b1985f6a3f0340a46e0613488
Funding-index refreshes used by market settlement.
OracleFactory
0x18b7b0d04e631a8d0d113e9f2455b5de065a71b1
Oracle creation and provenance checks used by market contracts.

Vault accounts and funds

The liquidity vault is currently closed to external depositors. It has known vulnerabilities that would be exploitable if external deposits were enabled; we will fix these issues before opening the vault to external depositors. Reports that require an attacker to act as an external vault depositor are currently ineligible for a bounty.

LiquidityVault controls a main account and registered child accounts represented by SystemAccountHolder contracts. Their collateral is accounted for in MarginBank and in market positions; a token balance at the LiquidityVault address alone does not measure vault exposure. The snapshot verifies that each account below is controlled by the listed LiquidityVault.

Subject to the exclusions below, covered critical examples include unauthorized movement of vault collateral, liquidation or backstop accounting that drains vault funds, and settlement-order manipulation that pays one claimant from another's entitlement.

Market settlement and risk contracts

Each market includes Perpetual (positions and settlement), IsolatedTrader (signed trades and liquidations), IsolatedADL (automatic deleveraging), Evaluator (risk checks), FundingOracle, and its installed price oracle. The market registry gives all six addresses for every market open for trading. Oracle scope follows the installed contract, rather than assuming every market uses the same oracle type.

Discover current addresses through the public shared-contract registry, market registry, and vault registry. Registry data can lag on-chain changes: a Perpetual's addresses() function returns the oracle, funding oracle, and evaluator it currently uses.

The USDM token is an external collateral dependency. Bugs in MNX's handling of that collateral are covered; vulnerabilities solely in the token implementation, the chain, or third-party infrastructure are excluded. MNX-controlled application and operational vulnerabilities are covered by the operational scope above.

Research priorities and trust boundaries

  • Unauthorized withdrawals, collateral transfers, trades, or account access.
  • Exposure of active signing credentials, administrative access bypasses, and service-account privilege escalation.
  • Unauthorized production builds, deployments, or contract upgrades.
  • Manipulation of matching, account balances, settlement inputs, or market-resolution controls.
  • Forged or replayed signatures, expired authorizations, and permission bypasses.
  • Incorrect margin, funding, fees, liquidation, or automatic-deleveraging accounting.
  • Vault child-account permissions and backstop exposure under the current configuration, with external deposits disabled.
  • Incorrect expiry or delisting payouts, claim ordering, and failure to preserve each account's entitlement.
  • Bypasses of oracle validation, freshness safeguards, risk checks, or emergency controls.

MNX uses authorized settlement operators, oracle publishers, and administrative roles. Exercising an explicitly intended power is not itself a vulnerability. Privilege escalation or bypassing a contract or operational security guarantee remains in scope. A report is not automatically excluded because a legitimate operator action is part of the reproduction. Document the required roles and distinguish normal authorized actions from an assumption that a private key was stolen.

Published smart contract audit

The Centennial Systems smart contract audit (PDF) records a June 23–July 23, 2026 engagement reviewing commit 8f4cebe4 in the exchange-contracts repository. It was a differential review of changes introduced in that commit, not a certification of every contract or the currently deployed implementations.

PDF SHA-256: b68edbf13c645b8d21d4d1dc742710bc6c4c5f25764fe73d0ea2d3a92aaa6edf. The report's closing notes state that liquidity-vault findings remained unresolved in the reviewed implementation. Historical finding statuses are not current deployment or remediation attestations. The bounty exclusion below does not imply that a finding has been fixed.

Exclusions and duplicate reports

  • Findings expressly identified in the Centennial Systems smart contract audit (PDF) are known issues and are ineligible for a reward. The audit's scope alone does not exclude an otherwise novel vulnerability.
  • Reports of the same underlying root cause and substantially the same security impact as an entry in our private known-issues register whose commitment was listed in the published commitments file when we received the report (for a critical report, the qualifying initial report described below). The known-issues register section below explains how a rejection is verified without disclosing other entries. An entry without a listed commitment is never grounds for a known-issue rejection.
  • Vault exploits that require external depositor access. The liquidity vault is currently closed to external depositors, and known issues affecting that access will be fixed before it opens.
  • Denial of service, degraded availability or performance, spam, rate-limit gaps, excessive gas consumption, and griefing, unless the report demonstrates a withdrawal block of more than 24 hours or a lasting loss or freezing of funds, as described under Rewards and severity.
  • The documented public wallet portfolio endpoints are intentionally unauthenticated: /v0/users/by-eoa/:eoa_address, /v0/balance/:user_id/margin, /v0/positions/by-user/:user_id/enriched, /v0/portfolio/:user_id/realized-pnl, /v0/portfolio/:user_id/realized-pnl-periods, and /v0/portfolio/:user_id/pnl-history. Their documented public profile, margin, position, funding, fee, and profit-and-loss fields support shareable, read-only wallet portfolio pages. A report that only retrieves those documented fields without authentication is not eligible for a bounty. This exclusion does not cover credentials, contact information, authenticated-only records, fields beyond the documented response, or any unauthorized state change.
  • Health endpoints, including /health/read-service-process and /health/read-service-readiness, are intentionally public. Unauthenticated access to their service names, process roles, internal port numbers, and health or readiness status is expected behavior and is not eligible for a bounty by itself. This exclusion does not cover exposure of credentials or private user data, or unauthorized actions.
  • Attacks that merely assume stolen keys or credentials, without a demonstrated in-scope access path or credential-exposure failure. Safely reporting credentials exposed by an MNX-controlled system is eligible; using those credentials against production is not permitted.
  • Ordinary price movements, intended trading losses, or lack of liquidity without an in-scope vulnerability.
  • Incorrect third-party data alone. A flaw in MNX's validation or integration may still qualify.
  • Style, gas-optimization, or best-practice suggestions without demonstrated security impact.
  • Issues affecting only mocks, development environments, or unused code without a demonstrated path to covered production assets; issues solely in excluded assets.
  • Reports demonstrating the same underlying root cause and substantially the same security impact as an earlier qualifying report or a publicly documented, still-applicable known issue.

We triage reports before deciding reward eligibility. When rejecting a report as known or duplicate, we identify the public finding, confirm that an earlier qualifying report exists, or send the matching register entry line, including its salt, while protecting confidential details. A materially different root cause or a new bypass of a deployed remediation is evaluated separately under this policy, including its other exclusions. An unchanged, unresolved audit finding remains ineligible for a reward.

Subject to the critical-report priority rule below, the first complete, otherwise eligible report demonstrating a distinct root cause qualifies for a reward. Multiple affected markets, contracts, services, or variants of that root cause normally form one finding; their combined impact informs the payout.

Internal known-issues register

MNX keeps a private, dated register of security issues it already knows about. We do not publish the entries. Instead we publish a commitment to each entry that can exclude a report: the SHA-256 hash of the UTF-8 line <salt>|<id>|<first-known>|<reach>|<root-cause>, with no trailing newline, where the salt is a random value chosen per entry. An entry names the affected component, the mechanism, who can trigger it, and the consequence. A report that needs a materially weaker precondition or shows a materially worse consequence is a different issue.

The commitments file lists the current hashes and a dated history of additions and removals. Those dates are our own record of when we changed the file. What decides a rejection is whether the hash was in the current list when we received the report, as shown by a copy captured before then: an Internet Archive capture of the file, or your own saved copy. Include the SHA-256 of the commitments file you consulted in your report and we will quote it in our acknowledgement. An entry whose commitment was not listed when we received a report is never grounds for a known-issue rejection. An entry leaves the current list when its fix is deployed or when we retire it to publish a corrected entry; its hash stays in the history. A bypass of a deployed remediation is assessed as a new report under this policy, including its other exclusions.

If we reject a report as a known issue, we send the matching entry line, including its salt, as a plain-text attachment. Save it as entry.txt and run tr -d '\r\n' < entry.txt | shasum -a 256 (sha256sum also works). Entry lines contain no line breaks, so the command removes any that a mail client added. The digest must appear in the current list of a copy of the commitments file captured before we received your report. This shows the entry existed before the report without revealing any other entry; whether it matches your report is a judgment you can contest with the entry in hand.

Download the known-issues commitments (JSON). 96 entries; last changed .

The register is produced by automated adversarial review of our code and verified against the code by automated means. Entries are triaged and fixed by our team over time, some are accepted design trade-offs, and the list shrinks as fixes deploy. The count reflects the depth of that review, not confirmed open risk.

Published entry hashes and change history
  • 01e152cf35f3adb87f44b576f216448310a52713b205019ebbf8f58f4cbf7df4
  • 023212477444470f099ec5edf9a45f8f68b449c28344adb7b501dcadd1e9ed91
  • 029a4938b8fb2ff80cc38470e5bba9e8564b2d1f4d296b3153503ddf798fe350
  • 05e620e28ad3ac8ba533f70fac26e89d23a8cf6281526cab2a9855ea77f160aa
  • 08f2d8d67682780236ff92092f19e6c168b08a94ce39ffb0aae7ef41c9421559
  • 0a5f5459201f544158e52e4227ee1a02f45fcc0c0331febce13818fad6b7efab
  • 0d97fd1f2cb4303f2428428c2195d4ccae54680c925ec9a218f1c0b3aff1048b
  • 1242d550b21443a187133b6af6c4e38221846cf57cdeed3402da8d221efe4354
  • 15f05c4e049d6baba761aa3a9579c9010c510705e73f3e894a66426a3cd99a3b
  • 1a856202e8692fc3c0c1c02a5e86aeac0e17b587771c84aa500e06decc7319fc
  • 1c7e7b9d2f62257f960bcf1adea11738d528e24eb963e3bc5c60183bba9528d2
  • 1edf7dafa83c68cba46b15efd2b3f4df834cd809959f1cc52f1ce978594f6e9b
  • 1fb518b7156b2bcdb29cb5c2bafba5d7ab53e60395ce795d8f76f08ef10ad458
  • 205200233a485eff1e20b76abe7ec5d8032e7503a92311636b7d72337eaea0c6
  • 20b3bb3a6c824e07d7c67d4bd14495b226667d85136bdb436fdad99d7d9c92d1
  • 228578f7d8e377b44a185e0d110f48f31d91636c8c36fc3b524dd23b09a516c2
  • 27f794af70e97df75a76f357c088e91ae725a7d61eff5cfc4a08c24be5e766e5
  • 2b2bc967396fe09daaacb80e3b996f0250bd60ae7a4c340883e908c7f3ecab8c
  • 349a4f55b6e1e65cb7051b29ffd533d98031347c900fb39304269618ef4c1395
  • 34dbf0b42c36d5db43e8042bca62ddf07104e1f18d7ee7f352af368ab4d8217b
  • 34de8a97389699db6af70452dcda653c71670fcbc48693d45a5aeb819f612699
  • 3668303c4143be53e0aee6aa160a8036beb6a1b0f5a68a4bc422c2a3e3efd9b5
  • 37de4f9e6a1edd569c0c8e1b6a556bfc5fbd5064ddb435d5641c4be01cd14a0c
  • 3b49d0fd2201859a2395ceb9791f9a45c055f18353565e2bf86c082bc315b666
  • 3c5c140b3b28f72121ac903e45dd1b0219a3310fcf86fa06c83603774fd838fc
  • 3cb506988cc62c79de0bf12c72136a5992c648987d18193ae057af7316317722
  • 3ff8963a8d915184385a617b972cd43295b716e769c07bd43542177ba621817d
  • 402aa79920409c696fbda59bc9533c6bf0fe1a46837cea82e2081d3cc8cf5cba
  • 412b73c489b64048892de2941eab6e523771fc40ef7e1db3d04447d27d4825d2
  • 45daf408ef5524b7822848cc7e0e433ef2b126a50f7468dcbc554c53043c67ac
  • 4e34efa2d0860d4d0de93778c76da3faa1800e4cbacde2717a0104490822e255
  • 552f904015587c3b6933d9b1e49de1fdef17831429da4a13fd87c0761fb5d15a
  • 59adb5357f7dda80310b4646bac30a3442a0fe255d4f6d9d860e8a1c8177ef5f
  • 5af9cb9d65875fc9d3d5f854148a42864c676865f7a834f026335e0d3b21e0c8
  • 5c927ba82f70393e2ae86b0e7073153774e0dbdf0cba7ab24b4c8c06beea0863
  • 60b7427b8abe93b7146a6dcbb6ecd7227d6ac4cd647171ca7444e30a2e29bac4
  • 671701bc2cb56edaede886304079080c4666c9203caae04f31f4f925edf1af01
  • 6b16b2abcf2e7f80f281e23c2d5a85edc6ba65dba442c48ff75062fdda31b2a1
  • 6f6e2e7a3954e751100a725cab18d2ebafcede23730389e0977d584f711f524b
  • 7035d20d54c99360bf3b434689a1de4a533ad2730b958213bd40a0a9561789ea
  • 714517638e410f44296a5865bfd58cff7ab1b7905ccde652e38a5dee70a1b8ae
  • 74278d43a2c2a429b3ea8bfa0eb4aef66fe940d40676c002f4d3df34a91e35ee
  • 74321b2fd32dc399197c6761a5badcc0973e759d7a8c44e328e317d9c86eea0c
  • 781e0048d44dca13475df8ee78f834ee3dae5350147655e9f0823518b2aee4fc
  • 7e30a649d99290158628ac611b881b824562d719681478a058e3e12e44196d22
  • 7e49c373cc3be5c648bcf4874911435986a1d0b57cf067f8f15f040fa40e032e
  • 866bdcb0131da9afc37821b66834a3d5f51696230e3696b2d25ed13c23f39a1f
  • 8697035bcef1a8d41398cdebabf37d7c6d07e63395bd331acff34249edcc454d
  • 89513ab7311855547be7c36ebdb1ac140bc94cb4f42db78e239fe87b109428e5
  • 8b60a96b913231f3dec17e70fa12bedd898d592a2cc64146d486d48da8622925
  • 8ba98a524459cc8bf12e49bcbaa4fb7ac1e67e0c703cfcf3390a8ad8fda25b7f
  • 8c187e56ff1b5d86e7acfdbafa98795b78da72bdfbbc653ccc586fd31647836e
  • 8f1748487b4dd1bdb370d948da6d1b4d81c806a689cc8112230cec524014faf1
  • 95e5624a15054e510d45e16412a2fbebe384114b01d594fb1e9a8810ec812740
  • 97d1ce75bd8d0f0bec73d67f2401b26c597b58b61bc93a5abc2abf1df2412de4
  • 9b921c0d818372e31d1045d516107b26d32c6463a230e02d5a2e7741a668f814
  • 9f72746b209f8371bdcffe55fdaa5230a180d61860e9b75984b20d0fdb85555b
  • a0962e8747ebc738458802efbcb4ccec0f496bc8e45333bc4ad9fe7610be17e1
  • a17aae3935ade8d5729fd2eb2500a2bbd1b90d4dd203848ca54c06b10b590316
  • a237182deac21d7b54426648f0072f79f515a7d958d10fcaf0ec748dfc648071
  • a4e6ee4a83a322361063c48fcf413f3c917090edc2cd5e29c0766640282abca9
  • ac0ae53bb879ada4c960af42f0ce92f857d7461eaf887911e0875799fcd7aa0d
  • ac78f6e57d2d550894dcbdad3d66f3109faa63decdbc1b5e2b7c5d08f75bb023
  • ada2aa5208577a7ce1be295bd9ad06e206344bb16250f60e7fa6b007593bb4ac
  • b6020ac413b3faf5f0453dd0cea07d0c788ec3ffac04953dedf7c82c28d1d574
  • b9ff7f0120e55a9999c6531cce0f6507a4e8b4ef879fb1caedfa26abf21ade28
  • bc2fad157a4d625c27ac6cac121cb1dfcf4eea453194aa8c7b93fa16d7fe720d
  • be810ee02ad10036197340b90e4727a6417f3bbefb23241feeb2ee610a505b51
  • c2c4e679829266be692ca875cf86358568f822ffe68a78eb61a297670a8626c7
  • c86f8c0fd8f4dbfe4eaca165d740c57b091ab0e3c09c167511ba0acd9eef8d7b
  • c96ab80c176691ada162cec20838f62f399f1c5b458ab24580cb122a79774d48
  • ccc316de23319a1c3d81a3e74abc4d3c9891a9945f4bc9453ef00fffb329c9b1
  • cefcf3678fd24bb360945db019af48139d221d2ddbb5b151e4621b799c6f10e0
  • cf0874d8882561ae544a0416781e75a37a46af9a1db2e9f88da8aef121974745
  • cff3544ffd6cf685d79e126003a71c730e61e1b87dcd1bb019a3f5ac14e6a907
  • d334b5fd6efb6380670e00bb50028ad205e6fc29f207f3bc90ff5483323ae775
  • d69f923761e4567ef5586f56bc82dd5fbcdcb74c077d59a2c9e396baef212a47
  • d745aca6494c196f524f8709dc943678c05febe9365565fa799b2040eb68cd18
  • d75ef85e9351f9641afcefceec6e5b144152c0784832c41abad30a0ff111440b
  • d79eac9a8117e8028b608d05cefdb02c40b5b51addf506f46a04412c5cc486e8
  • da65f72b2cf067efc23407b00c2f421b97ff54727c1e50aeda76b935fb2a702e
  • decfd87c537994eccd17538e19bda087812e41c04987f404ce842be1822437cf
  • df8493dea7c6877d093fb024d263f811956ef4214d0d4d5fd73c3abdb4c60682
  • dfb382acd9de009d8fdfab253b682a9428c0a85be598343e1d34e08948767d69
  • e23a3c02b0dea93f8fc36a60d4c302ec8b769cbc492a46ba82314235f161ef07
  • e5439c13589cff3ccc2f866e0bf782e66d3813dbdfa4446d13c8e5d6248a1ae9
  • e9cd7a665bf459c85cbfb356665288ee4ec8f8f7890b5fa7578dc29975d1c30e
  • eeb5656f4c4043f1444ec06672336528ee92ecb8628bbb0dbb6aca5c8a16b1c8
  • f08018f49bd03894f3718bf8760a8d99bf5b89eb8e503855465d8b18bdfd48f9
  • f0bed70af3d8a4d4cb737097c8434e70f626c5dca43d1a3fe331647a7f7fdeda
  • f1aa6a45c5f44a2f311d9c4c0aa3d29af5a38791017f2f5be67107813eb8c1d1
  • f407873c5bb18b636990df5a4b9a3595234d87ddc75c414cfce5646ff0dfe865
  • f6b107181637fa19c5f51fdf29d168158034df57f26ee079833a73bcf7b98663
  • f73546029cb123d9ee8f701f16a998cf2ae03ca0cc2f7b5f1857f96c4e01bdc8
  • fc10348c09900da5473b4a7628cb30e1bc74c414493f98cc0a72a506855f64cf
  • ff3626670415be16a618f41f33f13fbcdba324f55e0c3d75f692eefad45fe4d7
DateAddedRemoved
2026-09-22660
2026-09-22202
2026-09-24310
2026-09-2484
2026-09-2510
2026-09-25012
2026-09-29410
2026-10-02916
2026-10-0210

Report completeness and critical priority

A complete report supplies the applicable items in the submission checklist below, with enough evidence to identify and validate the vulnerability and its impact. If a checklist item does not apply, explain why. Redacted evidence and an attack path may replace steps that would require prohibited testing or handling secrets; MNX will validate those steps privately.

Report suspected critical issues immediately. A completed proof of concept is not required to preserve priority: the initial report must identify the affected asset, suspected impact, and a specific, credible attack path with enough detail to distinguish the issue. A vague claim does not reserve priority. If the issue is subsequently validated as critical and otherwise eligible, priority dates from receipt of that qualifying initial report, even if another researcher completes a report first.

The researcher must cooperate and provide reasonably requested supporting details promptly. MNX will communicate a reasonable deadline and allow extensions appropriate to the complexity and safe-testing constraints. Priority may lapse if the researcher misses that deadline without an agreed extension; delays in MNX's response or validation do not cause priority to lapse. An earlier qualifying critical report takes precedence once validated under this rule.

Safe testing and disclosure

Use local deployments, local chain forks, or an MNX-provided isolated environment for exploit reproduction. Read-only inspection of public chain data and registries is permitted. On the listed production application and API, limit testing to low-volume, non-destructive checks using accounts you control and data you are entitled to access. Do not place live exploit trades, move funds to prove impact, or change another account's state.

Do not change live prices or settlement outcomes, invoke production signing or deployment powers, run denial-of-service tests, or access private infrastructure without separate written authorization from MNX. Do not test provider platforms, phish or socially engineer staff, target personal accounts or devices, or use purchased, stolen, or exposed credentials. These limits do not exclude safely reporting a vulnerability that would expose credentials or grant unauthorized access.

If you encounter an exposed credential or private data, stop at the minimum evidence needed to report it. Provide its location, discovery steps, and redacted evidence; do not send the full secret or use it to authenticate or sign. MNX will verify validity and permissions. Do not download additional secrets or user records, or retain unnecessary copies.

To request testing beyond these limits, email bounty@mnx.fi with the target assets, proposed methods, timing, and safeguards. Wait for explicit written authorization defining the permitted activity before proceeding. Silence or acknowledgment of a report is not authorization.

Report suspected critical issues immediately; do not delay the initial notification while polishing a proof of concept. Keep exploit details private and coordinate a disclosure timeline with MNX so users can be protected before publication. We offer public credit with your permission.

Submit a report

Email bounty@mnx.fi with the subject MNX security report. Include:

  1. Affected asset and environment: application or API URL, endpoint, workflow or configuration reference, or mainnet contract and implementation addresses with the fork block used, as applicable.
  2. A clear description of the vulnerability and its demonstrated impact.
  3. Required permissions, assumptions, attacker resources, and preconditions.
  4. Reproduction steps and a runnable proof of concept in a safe environment for critical and high findings. If reproduction would require prohibited production access or handling secrets, provide redacted evidence and the attack path instead; MNX will validate the remaining steps privately.
  5. An estimate of affected funds or users, with calculations and realistic repeatability.
  6. Optional: the SHA-256 of /security/known-issues-hashes.json as you saw it, so a known-issue rejection can be checked against the list at submission time.
  7. A contact method for private follow-up. Never include private keys or seed phrases.

Response, payment, and policy changes

We aim to acknowledge reports within 24 hours and provide an initial assessment within five business days. Critical reports receive priority. We aim to provide progress updates at least weekly while a report remains open.

For accepted findings, we aim to pay within 14 calendar days after confirming validity and the reward and completing any applicable payment requirements, which we will disclose to the researcher. Payment does not depend on public disclosure. The $100,000 maximum applies per distinct vulnerability.

MNX and this bounty program are currently in beta. Program terms, including scope, eligibility, and rewards, may change as the platform evolves. Please check the latest policy and scope before beginning research or submitting a report.