Under active development. We're continuously fixing and improving the metrics and parameters, so scores and ratings may change. See changelog

RWABeat

FalconX Credit Vault

Senior tranche of the FalconX credit vault on Pareto. USDC is lent to one FalconX borrower wallet, which funds prime-brokerage credit lines. Collateral sits offchain. The junior tranche has no tokens outstanding, so there is no onchain first-loss buffer. This is the vault FalconX announced and that rwa.xyz lists as AA_FalconXUSDC, not Plume's NFALCON or Sygnum's Desygnate. A deprecated Pareto deployment on Optimism is not tracked.

Private creditNon-US professional investors onlyTransfer-restrictedOnchain dataIssued by M11 Credit · Platform Pareto
Value
$131.5M
Stage
None
Below Stage 0: key facts not disclosed
Single-key powers
7
Single key holds critical power
Oracle age
6d 18h
On schedule
Used as DeFi collateral
$12.5M· 5 markets

Control

Who can freeze, mint, pause or upgrade, and what stops them?

Red

A single key can create new tokens.

  1. A single key can create new tokens.

  2. A single key can destroy tokens in any wallet.

  3. A single key can change the onchain price.

  4. Multisig signers aren't named, so their independence can't be checked.

  5. A Safe module can act without the signers' approval.

  6. A 3-of-6 multisig can change the onchain price with no timelock.

  7. A Safe module can act without the signers' approval.

  8. A 3-of-6 multisig can move the assets backing the token with no timelock.

  9. A 3-of-6 multisig can grant or revoke every other role with no timelock.

  10. The issuer doesn't document its admin powers; they're only visible onchain.

  11. Audited by Sherlock (2025-08).

  • 5 privileged functions still need manual review.
  • Bug bounty on Immunefi, up to $50,000.
  • Transfers are limited to allowlisted wallets.

Audits and bug bounty

  • Sherlock · Idle Pareto update (credit vaults)1 Aug 2025

Bug bounty on Immunefi, up to $50,000.

Chains and bridges

Holders on a bridged chain also depend on the bridge.

  • ethereumIssued natively · Pareto

Who controls AA_FalconXUSDC on Ethereum

Token and service contracts on the left, the accounts holding their powers on the right. Edge color is the risk status of that power.

Powers

Every privileged power we found, normalized to canonical power types.

  • UpgradeCriticalGreen
    ProxyAdmin0x9438…f351

    → Timelock 24h → Safe 3/6

    1-day delay · via Proxy upgrade · eip1967 admin

  • UpgradeCriticalGreen
    ProxyAdmin0x9438…f351

    → Timelock 24h → Safe 3/6

    1-day delay · via Proxy upgrade · eip1967 admin

  • MintCriticalRed
    FalconX credit vault (IdleCDO)IdleCDO0x433D…be4d

    → EOA

    None · via IdleCDOTranche.mint · minter is the vault

  • MintCriticalRed
    FalconX credit vault (IdleCDO)IdleCDO0x433D…be4d

    → EOA

    None · via IdleCDOTranche.mint · minter is the vault

  • Burn from holderCriticalRed
    FalconX credit vault (IdleCDO)IdleCDO0x433D…be4d

    → EOA

    None · via IdleCDOTranche.burn · minter is the vault

  • Burn from holderCriticalRed
    FalconX credit vault (IdleCDO)IdleCDO0x433D…be4d

    → EOA

    None · via IdleCDOTranche.burn · minter is the vault

  • Set priceCriticalRed
    FalconX credit vault (IdleCDO)IdleCDO0x433D…be4d

    → EOA

    None · via IdleCreditVault.setApr, setAprs, setAprsWithBuffer · only the vault, which the operator drives at epoch stop

  • Set priceCriticalRed
    Epoch operator (single wallet)EOA0x1fb0…Df58

    None · via IdleCDOEpochVariant.startEpoch, stopEpoch, stopEpochWithDuration · owner or the strategy manager's operator. stopEpoch sets the interest and therefore priceAA

  • Set priceCriticalRed
    Borrower wallet (single wallet)EOA0xc08f…A2C6

    None · via IdleCDOEpochVariant.writeOffDeposit · borrower, and only while an epoch is running

  • Set priceCriticalYellow
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    No delay · via IdleCDOEpochVariant.startEpoch, stopEpoch, stopEpochWithDuration · owner or the strategy manager's operator. stopEpoch sets the interest and therefore priceAA

  • Set priceCriticalYellow
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    No delay · via IdleCDOEpochVariant.updateAccounting · _checkOnlyOwnerOrGuardian() (owner (guardian is an internal variable, initialized to the owner; no public getter))

  • Allocate fundsCriticalYellow
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    No delay · via IdleCreditVault.setBorrower · owner. points the vault's only borrower

  • Allocate fundsCriticalYellow
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    No delay · via IdleCreditVault.transferToken · onlyOwner (owner)

  • Allocate fundsCriticalYellow
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    No delay · via IdleCDOEpochVariant.transferToken · owner, no timelock

  • Grant rolesCriticalYellow
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    No delay · via IdleCreditVault.renounceOwnership, setManager, transferOwnership · onlyOwner (owner)

  • Grant rolesCriticalYellow
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    No delay · via IdleCDOEpochVariant.renounceOwnership, transferOwnership · onlyOwner (owner)

  • PauseHighGreen
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    No delay · via IdleCDOEpochVariant.pause, unpause, emergencyShutdown · owner. startEpoch also pauses deposits itself

  • Set complianceHighGreen
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    No delay · via IdleCDOEpochVariant._setLimit · _checkOnlyOwner() (owner)

  • UnclassifiedNeeds review
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    Needs review · via IdleCreditVault.setMaxApr, setWhitelistedCDO · onlyOwner (owner)

  • UnclassifiedNeeds review
    Epoch operator (single wallet)EOA0x1fb0…Df58

    Needs review · via IdleCDOEpochVariant.setEpochParams, setInstantWithdrawParams, setIsDepositDuringEpochDisabled +1 more · _checkOnlyOwnerOrManager() (owner or the strategy manager's operator)

  • UnclassifiedNeeds review
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    Needs review · via IdleCDOEpochVariant.setBBDepositEnabled, setFeeParams, setGuardian +4 more · _checkOnlyOwner() (owner)

  • UnclassifiedNeeds review
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    Needs review · via IdleCDOEpochVariant.setEpochParams, setInstantWithdrawParams, setIsDepositDuringEpochDisabled +1 more · _checkOnlyOwnerOrManager() (owner or the strategy manager's operator)

  • UnclassifiedNeeds review
    Vault owner Safe (3 of 6)Safe 3/60xFb3b…3814

    Needs review · via IdleCDOEpochVariant.setIsDepositDuringEpochDisabled · _checkOnlyOwnerOrGuardian() (owner (guardian is an internal variable, initialized to the owner; no public getter))

For regulated securities, freeze and force-transfer powers are often legally required. Control rates who holds them and what checks exist, not whether they exist. A single key holding a critical power or freeze is red; a multisig with no timelock is yellow.

Discovered at block 26,190,113 · 14 Oct 2026 · tool discovery-0.2.0 · View raw JSON on GitHub ↗