Basenji security record

As of 3 Nov 2026, Basenji has 1 audit report on Trustblock, by CertiK, dated 12 Apr 2024. That report lists no open critical findings. It also holds 1 deployed contract on 1 chain.

Critical findings
No open critical findings
In 1 report.
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 Nov 2026. Trustblock does not review code.

Audits1

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Basenji - audit 1Security firm: CertiKDate: Scope: 1 address on BaseNo open critical findingsOpen · skynet.certik.com

Findings15

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

SeverityOpenAcknowledgedFixed
Critical000
High101
Medium003
Low073
HighCentralization Risks in basenji.solBasenji - audit 1 · CertiK · 12 Apr 2024Fixed

In the contract `Basenji` the role `_owner` has authority over the functions shown in the diagram below. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and - enable trading - remove limits after the token is stable - disable transfer delay - set early sell tax - change the minimum amount of tokens to sell from fees - add to launch - update the maximum transaction amount - update the maximum wallet amount - exclude from the maximum transaction or include in the maximum transaction - update the swap switch - update buy/sell fees - set blacklist account - set check blacklist switch - update `devWallet` and `marketingWallet` address - set auto-mated market maker pair ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ee-f37e-b03905e0-b017-ab14fa4726ad/diagrams/centralization_basenji-Basenji-_owner.svg) In the contract `Ownable` the role `_owner` has authority over the functions shown in the diagram below. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and renounce the ownership of the contract and transfer the ownership of the contract to any address. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ee-f37e-b03905e0-b017-ab14fa4726ad/diagrams/centralization_basenji-Ownable-_owner.svg)

Open the report
MediumAddresses Excluded From Fees Can Transfer When TrBasenji - audit 1 · CertiK · 12 Apr 2024Fixed

The contract `Basenji` contains a conditional check that is intended to restrict trading when `tradingActive` is set to false. However, the current implementation has a flaw where wallets that are marked as `_isExcludedFromFees` can still initiate trades regardless of the `tradingActive` status. This creates a scenario where certain privileged wallets can trade while the feature is ostensibly disabled for the rest of the users. ```solidity if (!tradingActive) { require( _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active." ); ```

Open the report
MediumLiquidity tokens not added to the dex pairBasenji - audit 1 · CertiK · 12 Apr 2024Fixed

Liquidity swapped in function `swapBack` was not added to the dex pair but was instead sent to the marketing wallet, which conflicts with the code comment and variable naming. ```solidity=1609 uint256 liquidityTokens = (contractBalance * tokensForLiquidity) / totalTokensToSwap / 2; uint256 amountToSwapForETH = contractBalance.sub(liquidityTokens); ``` ```solidity=1626 (success, ) = address(marketingWallet).call{ value: address(this).balance }(""); ```

Open the report
MediumUnrestricted pair migrationBasenji - audit 1 · CertiK · 12 Apr 2024Fixed

The `setAutomatedMarketMakerPair` function in the Basenji token contract allows the contract owner to designate pairs as automated market maker (AMM) pairs without any restrictions. This function lacks validation checks to prevent the removal or alteration of the primary liquidity pair. Malicious actors with control over the contract can exploit this functionality to redirect trades to a different pair, potentially draining liquidity or manipulating the market. Additionally, the new pair is not excluded from the maximum transaction limit.

Open the report
LowCall Limit Of `enableTrading()`Basenji - audit 1 · CertiK · 12 Apr 2024Fixed

According to the code's comments, this function should only be called once. But now there is no limit to calling once. If multiple calls are made, the variable `launchedAt` will be updated to the `block.number`. This will result in some users being added to the `_blacklist` mapping by mistake.

Open the report
LowInsecure condition checking may lead to fee bypasBasenji - audit 1 · CertiK · 12 Apr 2024Fixed

If a reentrancy attack happened during the swapping process in the function `_transfer`, the `swapping` could be `true` in L1532, then the `takeFee` would always be `false`. Therefore, any transfer performed in a reentrancy attack would avoid fees for the attacker even if the attacker address is not excluded from fees.

Open the report
LowUnreasonable Upper Limit for FeesBasenji - audit 1 · CertiK · 12 Apr 2024Fixed

The `_owner` can set the `sellFees` to high values, up to 99%, through the `updateSellFees` function. These fees represent the percentage taken as fees for selling basenji tokens through a trading pair. Setting such disproportionately high fees can severely impact the token's marketability and user trust, as it implies that nearly all of the transaction value could be deducted as fees, leaving minimal actual value for the traders.

Open the report

Contracts1

AddressChainSource code
0xbc45647ea894030a4e9801ec03479739fa2485f0Chain: BaseSource code: Verified source

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="basenji-2"
></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