FinanceSeptember 14, 2026by
EmpoorioChain Core
EmpoorioChain Core

USDT Everywhere, USDC in the Contract: The Payment-Token Mismatch the Audit Found

What was found

The September 2026 audit of the official site's sale flow:

WhereSaid
Public-sale page, three places"ETH · USDC · USDT"
i18n price_unit and you_pay, in en/es/pt/ru/zh"USDT per DMS", "You pay (USDT)"
Investor funds page"USDT · USDC · DAI · ETH · BTC"
Deploy scriptEthereum mainnet USDT address
The deployed contractusdcToken() = Circle's USDC

A buyer following the page would have tried to pay in a token the contract does not accept.

How it drifted

The first sale design took USDT. The contract was written for USDC. The frontend widget was updated ("IMPORTANT: it was USDT before, now USDC — the contract uses USDC", says a June note), but the translations, the marketing page and the deploy script were not. Five copies of a value, one corrected.

The fix

TOKENOMICS.json carries venta.pay: ['ETH','USDC']. The site's sale components read it instead of hard-coding a string; a CI gate fails the build on a USDT literal outside the canonical module. The five language files are being purged. The deploy script's USDT address was replaced.

The general lesson

A payment token named in six places is a payment token that will disagree with itself. The same audit found the price ($0.35 in five places against $0.65 canonical), the chain id (four values) and the hosts (six declared, one resolving) had all drifted the same way. The ecosystem's answer is canonical files with gates — and the rule that a value appearing in more than one file is a bug.

What is not coming

A stablecoin issuer to EmpoorioChain. The page this replaces announced one bringing its token to another network. No issuer has any relationship with this ecosystem; the sale uses a public token because buyers hold it, and the chain's own stable unit is DUSD, a pallet on a testnet.

Based on the September 2026 sale-zone audit and TOKENOMICS.json.

Share this article