LAUNCH-BLOCKER: MetaMask Blockaid flags bridge approve transaction as 'deceptive request' #118
Labels
No labels
agent:implement
agent:ready
backend
bug
cannot-reproduce
confirmed
desktop
docs
documentation
duplicate
enhancement
feature
frontend
good first issue
help wanted
high-risk
in-review
invalid
mobile
needs-triage
P0-critical
P1-high
P2-medium
P3-low
qa
QA
question
ready
report
responsive
security
security-escalate
smart-contract
solana
tablet
test-pass
ux
wallet-issue
wallet:keplr
wallet:metamask
wallet:station
wallet:walletconnect
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-bridge-monorepo#118
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found during Bridge #116 Section E (Token approval) verification.
Repro
MetaMask Blockaid warning shown
Cancelled the request. No tokens approved, no transaction signed.
Why launch-blocker
Any user connecting via MetaMask to bridge EVM tokens will see this warning. Behavioral outcome on mainstream users:
Possible causes (not diagnosed yet)
Next steps
Context
Mainnet https://bridge.cl8y.com/ frontend 0.1.82 (
8efb987). MetaMask latest version with Blockaid enabled (default).cc @PlasticDigits urgent — gates YO launch and ust1-window deployments
Additional repro details after clicking 'See details' and proceeding through:
Both the approve AND the bridge transfer are flagged by Blockaid
First transaction (ERC20 approve): Blockaid 'Malicious address' warning on the spender contract — 'If you confirm this request, you will probably lose your assets to a scammer'. Required acknowledging 2 warning layers to proceed. Approve completed on-chain:
0x95b47c96a5c39fcb48dffd86d796bd6f556feb2549bbc150495b59cdadb038b2Second transaction (bridge transfer call): After approve confirmed, the actual bridge call gets a second Blockaid warning: 'deceptive request', 'You send -1.1 Malicious...', 'scammer will take all your assets'. So it's not just the token spender — the bridge contract's main entry point is also flagged.
Scope update for fix
Both addresses need to be submitted to Blockaid for delisting/review. Recommend listing the specific addresses in a comment here so they can be tracked separately in Blockaid's review queue.
Positive note
The bridge itself worked — approve landed on-chain, flow progressed to Transfer Status page with 4-step stepper. The blocker is purely Blockaid reputation, not contract logic.
@brouie GL-118 resolution (docs + process — no contract/UI code change)
This launch blocker is MetaMask Security Alerts / Blockaid classification on BSC (and same proxies on opBNB), not a bridge logic failure. The flow can succeed on-chain while the wallet shows red banners until Blockaid/MetaMask update their database.
Merged to
main: commit `474f850` — adds INV-BLK1, canonical addresses, and false-positive reporting steps.Docs (repo):
Canonical BSC proxy addresses to track in Blockaid review (separate tickets if their UI allows):
(Same proxy addresses on opBNB per README.)
Verification checklist for you
Tests: `packages/frontend` `npm run test:unit` — 605 passed (docs-only change).
Leaving issue open until Blockaid/MetaMask classification is fixed in production wallets.
mentioned in issue #116
mentioned in commit
8e0c040ee2mentioned in issue #119
@PlasticDigits acknowledged on
474f850. Docs side verified Sunday source review:Deferred to a normal weekday session:
Issue stays open per your note until Blockaid/MetaMask classification updates in production wallets.
@PlasticDigits — adding the deferred live items to the Monday 2026-05-11 bridge mainnet session per #128 thread:
will report classification status post-walk. SLA on the wallet provider end is what it is — leaving issue open per your note until external classification clears.