Defipoly

WarnAudited by ClawScan on May 10, 2026.

Overview

Defipoly is coherent with its game purpose, but it gives the agent direct funded-wallet authority and automatically signs backend-built Solana transactions without visible local limits or review.

Install only if you are comfortable giving this skill a dedicated funded Solana wallet. Do not use your main wallet, keep balances low, verify the backend URL, and prefer a workflow that previews and approves each transaction before signing.

Findings (4)

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.

What this means

If the backend response is wrong, compromised, or pointed to a different URL, the funded wallet could sign unintended Solana transactions.

Why it was flagged

The CLI signs a transaction supplied by the backend and then submits it automatically; the artifact does not show local validation of program IDs, recipients, amounts, or a user approval step before signing.

Skill content
const tx = Transaction.from(Buffer.from(buildData.transaction, 'base64'));
  tx.partialSign(keypair);
  const signedTx = tx.serialize({ requireAllSignatures: false }).toString('base64');
Recommendation

Use only a dedicated low-balance game wallet, and require transaction preview/allowlisting or explicit user approval before signing any on-chain transaction.

What this means

The agent can act with the full authority of the loaded wallet, including spending SOL/DPOLY or changing on-chain game positions.

Why it was flagged

The skill directly loads a Solana private key from an environment variable or local wallet file, while the registry metadata declares no primary credential or env vars.

Skill content
if (process.env.WALLET_PRIVATE_KEY) {
    return Keypair.fromSecretKey(bs58.decode(process.env.WALLET_PRIVATE_KEY));
  }

  if (existsSync(DEFAULT_WALLET_PATH)) {
    return loadWalletFromFile(DEFAULT_WALLET_PATH);
Recommendation

Do not import a main wallet; create a separate wallet with only the funds you are willing to risk, and ensure credential requirements are declared clearly.

What this means

A local process or user with access to that temp file may be able to reuse the session token while it is valid.

Why it was flagged

The script persists a bearer token, wallet address, and expiry in a predictable /tmp cache file for about 23 hours, with no documented permission hardening or cleanup.

Skill content
return `/tmp/defipoly-agent-${hash}.json`;
...
writeFileSync(tokenCachePath(wallet), JSON.stringify(data));
Recommendation

Store tokens with restrictive permissions, document the cache location, and provide a cleanup/logout command.

What this means

Installing the skill runs npm dependency installation on the local machine.

Why it was flagged

The skill installs npm dependencies for its Node CLI; this is expected for the stated purpose, but it is still external package execution that users should notice.

Skill content
"install":[{"id":"deps","kind":"exec","command":"cd {skillDir} && npm install","label":"Install Defipoly agent dependencies"}]
Recommendation

Review the package.json/package-lock contents and install only from the reviewed skill directory.