USDI Info

USDI is a digital currency designed for seamless global payments and continuous 24/7 financial market operations, with a guaranteed 1:1 redemption rate for US dollars. Our global media and network partners are using USDI.

USDI Logo

TrustNet Score

The TrustNet Score evaluates crypto projects based on audit results, security, KYC verification, and social media presence. This score offers a quick, transparent view of a project's credibility, helping users make informed decisions in the Web3 space.

25.08
Poor Excellent

Real-Time Threat Detection

Real-time threat detection, powered by Cyvers.io, is currently not activated for this project.

This advanced feature provides continuous monitoring and instant alerts to safeguard your assets from potential security threats. Real-time detection enhances your project's security by proactively identifying and mitigating risks. For more information, click here.

Security Assessments

"Static Analysis Dynamic Analysis Symbolic Execution SWC Check Manual Review"
Contract address
N/A
Network N/A
License N/A
Compiler N/A
Type N/A
Language Solidity
Onboard date 2024/12/27
Revision date 2024/12/27

Summary and Final Words

No crucial issues found

The contract does not contain issues of high or medium criticality. This means that no known vulnerabilities were found in the source code.

Contract owner can mint

It is possible to mint new tokens.

Contract owner can blacklist addresses

It is possible to lock user funds by blacklisting addresses.

Contract owner cannot set high fees

The fees, if applicable, can be a maximum of 25% or lower. The contract can therefore not be locked. Please take a look in the comment section for more details.

Token transfer can be locked

Owner can lock user funds with owner functions.

Token cannot be burned

There is no burning within the contract without any allowances

Ownership is not renounced

The owner retains significant control, which could potentially be used to modify key contract parameters.

Contract is not upgradeable

The contract does not use proxy patterns or other mechanisms to allow future upgrades. Its behavior is locked in its current state.

Scope of Work

This audit encompasses the evaluation of the files listed below, each verified with a SHA-1 Hash. The team referenced above has provided the necessary files for assessment.

The auditing process consists of the following systematic steps:

  1. Specification Review: Analyze the provided specifications, source code, and instructions to fully understand the smart contract's size, scope, and functionality.
  2. Manual Code Examination: Conduct a thorough line-by-line review of the source code to identify potential vulnerabilities and areas for improvement.
  3. Specification Alignment: Ensure that the code accurately implements the provided specifications and intended functionalities.
  4. Test Coverage Assessment: Evaluate the extent and effectiveness of test cases in covering the codebase, identifying any gaps in testing.
  5. Symbolic Execution: Analyze the smart contract to determine how various inputs affect execution paths, identifying potential edge cases and vulnerabilities.
  6. Best Practices Evaluation: Assess the smart contracts against established industry and academic best practices to enhance efficiency, maintainability, and security.
  7. Actionable Recommendations: Provide detailed, specific, and actionable steps to secure and optimize the smart contracts.

A file with a different Hash has been intentionally or otherwise modified after the security review. A different Hash may indicate a changed condition or potential vulnerability that was not within the scope of this review.

Final Words

The following provides a concise summary of the audit report, accompanied by insightful comments from the auditor. This overview captures the key findings and observations, offering valuable context and clarity.


Ownership Privileges
  • The owner can mint an unlimited amount of tokens after the initial deployment.
  • The owner can blacklist wallets from transferring of tokens.
  • The owner can remove wallets from the blacklist list.
  • The owner can pause/unpause the token transfer.

Note - This Audit report consists of a security analysis of the USDI smart contract. This analysis did not include functional testing (or unit testing) of the contract’s logic. Moreover, we only audited one token contract for the USDI team. Other contracts associated with the project were not audited by our team. We recommend investors do their own research before investing.

Files and details

Functions
public

/

State variables
public

/

Total lines
of code

/

Capabilities
Hover on items

/

Findings and Audit result

medium Issues | 3 findings

Pending

#1 medium Issue
The owner can mint unlimited tokens.
BEP20USDI.sol
L321-329
Description

The contract allows the owner to mint an unlimited number of tokens after deployment, which is highly discouraged as it can alter the token supply and manipulate its price. To maintain stability and protect the token’s economic integrity, a maximum threshold should be implemented to cap the total mintable amount. This ensures the token supply remains predictable and prevents unchecked inflation or price manipulation.

Pending

#2 medium Issue
The owner can blacklist wallets.
BEP20USDI.sol
L336-343
Description

The blacklist function poses centralized risks, as the owner can arbitrarily restrict accounts, leading to potential abuse, loss of trust, and lack of transparency. To mitigate this, implement decentralized governance, requiring community or multisig wallet approval for blacklisting. Define clear, immutable criteria for blacklisting and enable auditing of actions. Include an emergency revert mechanism or appeal process for fairness. Emit detailed events for every blacklist action to ensure transparency. Additionally, rate limits can prevent mass abuse. These measures decentralize control, enhance accountability, and maintain user trust while ensuring the blacklist functionality serves its intended purpose.

Pending

#3 medium Issue
The owner can lock token transfer.
BEP20USDI.sol
L351-353
Description

The pause function allows the owner to halt token transfers, posing risks of abuse, loss of trust, and ecosystem disruption if misused or if the owner account is compromised. To mitigate these risks, Clearly define and document conditions for pausing, ensuring it’s used only in emergencies like security breaches. Introduce time limits to prevent indefinite pauses and emit detailed events for transparency. These measures enhance accountability, safeguard user trust, and ensure the pause functionality serves its intended purpose without compromising the token's reliability or utility.

low Issues | 2 findings

Pending

#1 low Issue
Remove safemath library
BEP20USDI.sol
L102-158
Description

The compiler version above 0.8.0 has the ability to control arithmetic overflow/underflow. It is recommended to remove the unwanted code in order to avoid high gas fees.

Pending

#2 low Issue
Local variable shadowing
BEP20USDI.sol
L263
L398-409
Description

Rename the local variables that shadow another component.

informational Issues | 1 findings

Pending

#1 informational Issue
Function that are not used (Dead code).
BEP20USDI.sol
L49-52
Description

Remove unused code.