Traxx security record

Ethereum, Polygon (POS)tokentraxx.comGitHub

As of 3 Nov 2026, Traxx has 1 audit report on Trustblock, by CertiK, dated 26 Jul 2023. That report lists no open critical findings.

Critical findings
No open critical findings
In that report, 1 critical finding was reported. It is marked fixed by the firm that reported it. See the findings
Open the latest report
Your label, live
Get the label for your site

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

Audits1

Newest first

AuditSecurity firmDateScopeCritical findingsReport
TT TraxxSecurity firm: CertiKDate: Scope: Files named in the report1 critical finding, fixedOpen · skynet.certik.com

Findings40

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

SeverityOpenAcknowledgedFixed
Critical001
High041
Medium016
Low12015
High`Minter` and `Market` Can Manage Any User's `TokeTT Traxx · CertiK · 26 Jul 2023Acknowledged

In the `mintTraxx()` function, the following lines grant approval for the minter and the market to manage **all** ERC1155 tokens belonging to the first owner: ```solidity if (msg.sender != _to) _setApprovalForAll(_to, msg.sender, true); _setApprovalForAll(_to, market, true); ``` This potentially allows the minter and the market to manage and transfer all ERC1155 tokens of the first owner, leading to centralization concerns.

Open the report
HighCentralization Risk In Unlock ProtocolTT Traxx · CertiK · 26 Jul 2023Acknowledged

The `Lock` and `UnlockFactory` contracts are upgradeable. The owner can upgrade the contract without the community's commitment. If an attacker compromises the account, he can change the implementation of the contract and drain tokens from the contract. --- In the `TokenTraxx` contract, the following roles have authority over specific functions: - `MINTER_ROLE`: - `mint()`: Mints tokens to a specified account - `PAUSER_ROLE`: - `pause()`: Pauses all token transfers - `unpause()`: Unpauses all token transfers - `DEFAULT_ADMIN_ROLE`: - `grantRole()`: Grants a specified role to an account - `revokeRole()`: Revokes a specified role from an account - `renounceRole()`: Revokes a role from the calling account Any compromise to the `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE`, or `PAUSER_ROLE` may allow the attacker to take advantage of their authority, potentially leading to security risks. ***Especially for `MINTER_ROLE`, this role controls the mint operation of the TokenTraxx ERC20 token. the audit team strongly advises clients to mitigate this risk by applying decentralization and promoting transparency in future endeavors***. --- In the `UnlockFactory` contract, the following roles have authority over specific functions: - `PAUSER_ROLE`: - `pause()`: Pauses all functions in the contract. - `unpause()`: Unpauses all functions in the contract. - `UPGRADER_ROLE`: - `_authorizeUpgrade()`: Authorizes a contract upgrade. - `MAINTAINER_ROLE`: - `createLock()`: Creates a lock and deploys a proxy contract. - `updateLockImplementation()`: Updates the lock implementation address. - `DEFAULT_ADMIN_ROLE`: - Inherits all functions from `MAINTAINER_ROLE`. - Inherits all functions from `AccessControl` contract, such as `grantRole()`, `revokeRole()`, and `renounceRole()`. Any compromise to the `DEFAULT_ADMIN_ROLE`, `PAUSER_ROLE`, `UPGRADER_ROLE`, or `MAINTAINER_ROLE` may allow the attacker to take advantage of their authority, potentially leading to security risks. --- In the `Lock` contract, the following roles have authority over specific functions: - `PAUSER_ROLE`: - `_pause()`: Pauses the contract. - `_unpause()`: Unpauses the contract. - `UPGRADER_ROLE`: - `_authorizeUpgrade()`: Authorizes the contract upgrade. - `MAINTAINER_ROLE`: - `createKeys()`: Creates new keys without requiring payment. - `editMetadata()`: Edits the metadata of the contract. - `editTierDetails()`: Edits an existing tier's details. - `addNewTiers()`: Adds new tiers to the contract. - `DEFAULT_ADMIN_ROLE`: - `grantRole()`: Grants a specified role to an account. - `revokeRole()`: Revokes a specified role from an account. - `renounceRole()`: Revokes a role from the calling account. Any compromise to the `DEFAULT_ADMIN_ROLE`, `PAUSER_ROLE`, `UPGRADER_ROLE`, or `MAINTAINER_ROLE` may allow the attacker to take advantage of their authority, potentially leading to security risks.

Open the report
HighCentralization Risks In Traxx ProtocolTT Traxx · CertiK · 26 Jul 2023Acknowledged

**The `TraxxFactory`, `TokenTraxxMarketplace`, `TokenTraxxNFT1155`, `TokenTraxxNFT`, and `TraxxSupportUpgraeable` contracts are upgradeable. The owner can upgrade the contract without the community's commitment. If an attacker compromises the account, he can change the implementation of the contract and drain tokens from the contract**. --- In the `TokenTraxxMarketplace` contract, the following roles have authority over specific functions: - `MAINTAINER_ROLE`: - `createListing()`: create a listing to sell NFT. - `removingListing()`: Remove the existing listing of NFT. - `modifyListing()`: modify the existing listing of NFT. - `DEFAULT_ADMIN_ROLE`: - `grantRole()`: Grants a specified role to an account. - `revokeRole()`: Revokes a specified role from an account. - `renounceRole()`: Revokes a role from the calling account. - `removingListing()`: Removes the existing listing of NFT. - `setCollectionContract()`: Set sthe collection contract. - `setRoyaltyTreasury()`: Sets the address of the treasury account to collect royalties. - `withdrawTreasury()`: Withdraws the tokens in treasury. - `setAuthenticatorContract()`: Sets the authenticator contract address, which is used to verify if the user has a discount. - `WHITE_LISTER` - `whiteListAsset()`: Whitelist asset contract for NFT and currency. Any compromise to the `DEFAULT_ADMIN_ROLE`, `MAINTAINER_ROLE`, `WHITE_LISTER`, may allow the attacker to take advantage of their authority, potentially leading to security risks. ***The `DEFAULT_ADMIN_ROLE` has the ability to theoretically withdraw any currency in the treasury. For example, a malicious admin could potentially call `setRoyaltyTreasury()` and then `withdrawTreasury()` to withdraw any user royalties stored in the treasury. More seriously, the `MAINTAINER_ROLE` can create and modify listing for anyone who approves the `TokenTraxxMarketplace` contract using their tokens. The audit team strongly advises clients to mitigate this risk by applying decentralization and promoting transparency in future endeavors***. --- In the `TokenTraxxNFT1155` contract, the following roles have authority over specific functions: - `MINTER_ROLE`: - `mintTraxx()`: Mints tokens to a specified account. - `batchMintTraxx()`: Mints multiple tokens to a single address. - `PAUSER_ROLE`: - `pause()`: Pauses all token transfers. - `unpause()`: Unpauses all token transfers. - `DEFAULT_ADMIN_ROLE`: - `initialize()`: Initializes the contract. - `setupRoles()`: Sets up roles for the contract. - `setRoyaltyBps()`: Sets royalty fees for token sales. - `setSplitAddress()`: Sets artist and secondary split addresses - `MAINTAINER_ROLE`: - `setURI()`: Sets the URI for a specific token. - `setContractURI()`: Sets the contract URI. - `setBaseURI()`: Sets the base URI for all tokens. Any compromise to the `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE`, or `PAUSER_ROLE` may allow the attacker to take advantage of their authority, potentially leading to security risks. ***Especially for `MINTER_ROLE`, this role controls the mint operation of the TokenTraxxNFT1155 ERC1155 token. The audit team strongly advises clients to mitigate this risk by applying decentralization and promoting transparency in future endeavors***. --- In the `TokenTraxxNFT` contract, the following roles have authority over specific functions: - `MINTER_ROLE`: - `mintTraxx()`: Mints an NFT to a specified account with a specified URI. - `batchMintTraxx()`: Mints multiple NFTs to specified accounts with specified URIs in a batch. - `PAUSER_ROLE`: - `pause()`: Pauses all token transfers. - `unpause()`: Unpauses all token transfers. - `MAINTAINER_ROLE`: - `setContractURI()`: Sets the contract URI. - `setTokenURI()`: Sets the token URI for a specific token. - `DEFAULT_ADMIN_ROLE`: - `grantRole()`: Grants a specified role to an account. - `revokeRole()`: Revokes a specified role from an account. - `renounceRole()`: Revokes a role from the calling account. - `setupRoles()`: Gives various roles to accounts. - `setRoyaltyBps()`: Updates the royalties paid on pack sales. - `setMarket()`: Sets the market address. - `setSplitAddress()`: Sets the split address. Any compromise to the `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE`, `PAUSER_ROLE`, or `MAINTAINER_ROLE` may allow the attacker to take advantage of their authority, potentially leading to security risks. ***Especially for `MINTER_ROLE`, this role controls the mint operation of the TokenTraxxNFT ERC721 token. The audit team strongly advises clients to mitigate this risk by applying decentralization and promoting transparency in future endeavors***. --- In the `TokenTraxx` contract, the following roles have authority over specific functions: - `MINTER_ROLE`: - `mint()`: Mints tokens to a specified account. - `PAUSER_ROLE`: - `pause()`: Pauses all token transfers. - `unpause()`: Unpauses all token transfers. - `DEFAULT_ADMIN_ROLE`: - `grantRole()`: Grants a specified rol

Open the report
HighInitial Token DistributionTT Traxx · CertiK · 26 Jul 2023Acknowledged

When deploying the contract, certain amounts of `Traxx` tokens are sent to the `initialAccount` address. However, this poses a potential centralization risk as the deployer can distribute Traxx tokens without the consensus of the community.

Open the report
MediumUnable to remove assets from the whitelistTT Traxx · CertiK · 26 Jul 2023Acknowledged

The `whiteListAsset` function allows privileged accounts to whitelist asset contracts. However, the contract does not have a mechanism for blacklisting assets once they have been whitelisted. If an asset contract is whitelisted that is later found to be malicious or vulnerable to attack, it will remain on the whitelist and can continue to be used in the system, potentially compromising the security of the entire platform. This can result in loss of funds or other critical security incidents.

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