Nexwave Gateway
ReviewAudited by ClawScan on May 10, 2026.
Overview
The skill is mostly coherent for Circle Gateway testnet USDC, but it under-declares powerful Circle wallet credentials and can mutate wallet/account state and move USDC without clear confirmations.
Review before installing. Use only a dedicated testnet Circle account and wallet set, do not provide production Circle credentials, run transaction scripts manually, verify amounts and destination chains, and consider adding explicit confirmation prompts and pinned dependencies.
Findings (5)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Providing these credentials gives the skill delegated authority over the configured Circle wallet set, not just read-only balance access.
The code consumes Circle developer-controlled wallet credentials, while the registry metadata says there are no required env vars or primary credential. These credentials can enable wallet listing/creation, signing, and transaction execution.
apiKey: process.env.CIRCLE_API_KEY,
entitySecret: process.env.CIRCLE_ENTITY_SECRETUse dedicated testnet-only Circle credentials, avoid production wallet sets, and require the registry metadata to declare the credential and wallet-signing authority.
A user may run a seemingly informational flow and still have the skill change their Circle wallet-set state.
The Circle wallet client automatically creates missing wallets during initialization, which is a persistent account mutation rather than a purely read-only setup action.
If a wallet doesn't exist for a chain, create one automatically. ... await this.client.createWallets({Separate read-only balance checks from setup, and prompt the user before creating wallets or changing account state.
Running the script can approve and move testnet USDC from the configured wallet.
The deposit flow approves the Gateway Wallet contract and deposits a fixed 10 USDC amount per chain. This is purpose-aligned, but it is a real transaction flow with no separate confirmation prompt in the script.
functionSignature: "approve(address,uint256)",
params: [chain.gatewayWalletAddress, DEPOSIT_AMOUNT]Review chain, amount, and recipient before running; add explicit confirmation or configurable parameters for transaction scripts.
Future dependency changes could affect behavior when setup is run.
The setup script pulls npm packages at install time without pinned versions shown in the artifact set. This is normal for a Node-based integration, but it leaves dependency provenance/version review to the user.
npm install viem dotenv @circle-fin/developer-controlled-wallets
Use a package-lock file or pinned dependency versions, and run setup in a controlled environment.
Users may underestimate the risk of giving an agent Circle wallet credentials.
The claim overstates the safety posture: raw private keys are not exposed, but the skill still uses Circle API key/entity secret credentials capable of signing and submitting wallet transactions.
This makes the skill safe for agent use without risk of key exfiltration.
Revise the documentation to describe residual credential and transaction risks, and require explicit user approval for wallet-mutating operations.
