Lighter

PassAudited by VirusTotal on May 12, 2026.

Overview

Type: OpenClaw Skill Name: lighter Version: 2.0.1 The OpenClaw skill bundle for Lighter Protocol is classified as benign. All code and documentation align with the stated purpose of interacting with a ZK rollup orderbook DEX for trading and querying. Sensitive environment variables (API keys, account index) are handled as expected for authenticated API calls and are not exfiltrated to unauthorized endpoints. The `SKILL.md` and `USAGE.md` files contain explicit security warnings and best practices for users, such as reviewing external SDKs and securely storing credentials, which indicates a responsible approach rather than malicious intent or prompt injection. All network communications are directed to the official Lighter API endpoint (`https://mainnet.zklighter.elliot.ai`).

Findings (0)

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

An agent or user running the script with parameters could place a real mainnet trade and change account funds without a separate confirmation step.

Why it was flagged

The order script directly submits a live Lighter order from command-line parameters. It does not implement a confirm=true flag, final approval prompt, dry-run default, or slippage/loss guard for this high-impact financial action.

Skill content
result = await signer.create_order(...)
...
parser.add_argument("--amount", type=float, required=True, help="Order amount")
...
asyncio.run(place_order(args.market_id, args.side, args.amount, args.price, args.order_type))
Recommendation

Require an explicit confirmation flag and show a final order summary before signing or submitting; default to read-only or dry-run behavior unless the user clearly approves the exact trade.

What this means

A missing or misconfigured account index could cause trades or account actions on an unintended subaccount, potentially the user's main account.

Why it was flagged

The script uses the provided key as a private signing key and silently falls back to account index 0 if LIGHTER_ACCOUNT_INDEX is missing, even though SKILL.md describes the account index as required for orders.

Skill content
LIGHTER_ACCOUNT_INDEX = int(os.environ.get("LIGHTER_ACCOUNT_INDEX", "0"))
...
signer = lighter.SignerClient(
    url=API_URL,
    account_index=LIGHTER_ACCOUNT_INDEX,
    api_private_keys={3: LIGHTER_API_KEY}
)
Recommendation

Fail closed when LIGHTER_ACCOUNT_INDEX is absent, clearly label the key as a trading/signing private key, and require users to confirm the target account before live trades.

What this means

Installing or updating the external SDK could change the code that handles signing keys and order submission.

Why it was flagged

The trading path depends on external Python packages with lower-bound rather than pinned versions, and the trading SDK is optional/manual rather than captured by an install spec. This is disclosed and purpose-aligned, but users should verify the package source.

Skill content
requests>=2.31.0
# Optional: lighter-sdk>=1.0.3 eth-account>=0.12.0
# Only install if you need order placement capabilities
Recommendation

Review the official SDK, pin exact package versions, and use a dedicated burner wallet or limited trading key before enabling order placement.