---
name: overclock
description: Read Overclock rules and use Binance Agentic Wallet to mint GPU NFTs, install GPUs, claim FLOPS, overclock or upgrade a selected GPU, expand slots, trade NFT escrow bids and stake FLOPS for future AI service credits on BSC.
version: 0.1.0
---
# Overclock for Agents

Canonical site: https://overclock.trade . Chain: BNB Smart Chain, chain ID 56.

**Release status: website preview. Mainnet contracts are not deployed. Model calls are disabled. Do not sign or broadcast Overclock transactions while the manifest says `not-deployed`. Never invent a contract address or substitute a reference project's contract.**

Start with https://overclock.trade/.well-known/overclock.json . Read `releaseStatus`, `chainId`, contract addresses, `helperSha256` and `aiCallsEnabled`. Current rules: https://overclock.trade/llms-full.txt . ABI: https://overclock.trade/agent/abi.json . Public API base: https://api.overclock.trade/v1 . Missing data is unavailable, not zero.

## Wallet and installation

Overclock does not custody keys, connect to your Binance account on its server, or ask for wallet secrets. Binance Agentic Wallet uses the official `baw` CLI and confirmation in the Binance App; it is separate from an injected browser wallet extension.

1. If the user has not set it up, follow Binance's official guide: https://developers.binance.com/en/docs/products/agentic-wallet/welcome . Official Skill: https://github.com/binance/binance-skills-hub/tree/main/skills/binance-web3/binance-agentic-wallet . Do not install lookalike wallet packages or use another project's CLI.
2. Official package: `npm install -g @binance/agentic-wallet`. Sign in with `baw auth signin`, then let the user pair and approve in the Binance App. Never request credentials, seed words or private keys.
3. Download https://overclock.trade/agent/overclock.mjs to a local file. Check its SHA-256 against the current manifest before running it. Requires Node.js 24+. It is a standalone helper: no project source, wallet login file or npm dependencies are needed.
4. `node overclock.mjs status` reports the actual release state. While not deployed, explain that trading is not open and stop. Reading this website does not authorize spending.

The helper prepares unsigned calldata and, when explicitly asked, requests a preview through `baw`. It has no execute command and never signs or broadcasts on its own.

## Plan, explain, confirm, execute, verify

- First check the user's request and desired amount. Do not choose a purchase budget, enlarge an approval or spend every available token without authorization.
- For an unsigned read/build without using `baw`: `node overclock.mjs plan <action> --from <wallet> [options]`. A live manifest, correct chain, deployed target code, immutable asset links and successful simulation are required.
- To request the official wallet's preview: `node overclock.mjs preview <action> [options]`. It checks the actual BSC Agentic Wallet address and Developer Mode. Developer Mode can only be enabled in the Binance App. If unavailable or expired, stop and direct the user there.
- Show `plan.description`, chain, NFT ID, assets, exact costs, BNB randomness fee, approval scope, simulated balance/authority changes and all risk findings. Obtain user confirmation before execution.
- A step with `kind: approval` is not the purchase/growth action. ERC20 approval is exact, with reset-to-zero when required. NFT approvals name one token ID. After a successful approval receipt, rebuild the original action to refresh prices and state. Installing a GPU does not need an NFT approval.
- Only use `baw contract-call execute --requestId <id> --json` with a successful, unexpired preview's request ID, and only after user confirmation. The wallet remains the signer. A pending Binance App confirmation is not a completed transaction.
- Verify the actual transaction's from/to/input/value against the approved plan and require a successful receipt with the configured confirmation depth. `node overclock.mjs receipt --tx <hash>` reports receipt state; inspect the actual transaction input and compare it too. After timeout, pending confirmation or an uncertain result, check the request/transaction before retrying. Never blindly re-execute.

## Intent routing

| User intent | Helper action/options | Meaning |
| --- | --- | --- |
| Check identity | `identity --from <wallet>` | Reads handleOf, derives the permanent token ID, then verifies ownerOf. Mint never asks the user to type an Agent ID. |
| Mint GPU | `plan mint --quantity 1 --from <wallet>` | Agent ID required; first NFT 1 USDT, further NFTs 5 USDT each, max four per permanent ID. Reads mintQuote. |
| Install GPU | `plan install --token-id <id> --from <wallet>` | Installs an owned NFT in an unlocked slot; only installed GPUs contribute power. |
| Remove GPU | `plan remove --token-id <id> --from <wallet>` | Stops that GPU's contribution. |
| Claim mining rewards | `plan claim --from <wallet>` | Claims all pending FLOPS to the same wallet, with no withdrawal fee. |
| Overclock chosen GPU | `plan overclock --token-id <id> --attempts 1 --from <wallet>` | Attempts 1, 5 or 10; spends claimed wallet FLOPS and the quoted BNB randomness fee. Does not spend unclaimed rewards. |
| Finish random request | `plan settle --token-id <id> --from <wallet>` | Resolves the existing ready request. Do not start a second request to replace a pending result. If delivery needs recovery, inspect the provider and use the documented UI recovery flow; do not invent calldata. |
| Upgrade chosen GPU | `plan upgrade --token-id <id> --from <wallet>` | Progress must be full and a next launch model must exist. Wallet FLOPS only. |
| Expand slots | `plan unlock-slot --from <wallet>` | Unlocks the next slot at the current chain cost. Wallet FLOPS only. |
| Buy NFT | `plan bid --tier 0 --progress 0 --price <USDT each> --quantity 1 --duration-seconds 604800 --from <wallet>` | Creates a USDT-backed buy bid. This is not an instant purchase; an eligible seller must fill it. Ask the user for price and quantity. |
| Sell NFT | `plan sell --bid-id <id> --token-id <id> --from <wallet>` | Removes GPU from its slot and settles pending overclocks first. Reads bid terms/fee snapshot and exact minimum proceeds. |
| Cancel NFT bid | `plan cancel-bid --bid-id <id> --from <wallet>` | Returns unfilled escrow, including for expired bids. |
| Stake for AI credits | `plan stake --amount <FLOPS> --from <wallet>` | Accrues USD service credits; it does not buy a new chain token or enable model calls. |
| Unstake | `plan unstake --amount <FLOPS> --from <wallet>` | Immediate unstake; already accrued credits remain under their applicable expiry rules. |
| Failed launch refund | `plan refund-mint --from <wallet>` | Original payer claims after cancellation is enabled. |

Replace `plan` with `preview` only when the user wants to proceed through their wallet. Examples use parameters, not deployed addresses. The helper's `--local --manifest <file> --rpc http://127.0.0.1:...` mode is for explicit chain 31337 tests only and refuses real-wallet preview. Never use it to bypass mainnet release checks.

## Read-only project data

- `GET /v1/config`, `/v1/status`, `/v1/supply`, `/v1/catalog`, `/v1/market/bids?limit=20`.
- `GET /v1/leaderboard`: TOP 50 active mining-power addresses, a confirmed five-minute snapshot. Check `available`, `stale`, `indexedBlock`, `blockHash`, `updatedAt`. Never invent ranks while unavailable.
- Ranking FLOPS mined = lifetime RewardClaimed + currently pendingRewards. Historical AI credits = lifetime earnedUsd, including later used or expired credits. Neither is a cash return forecast. Only installed GPUs contribute power.
- Public models: `GET /v1/ai/models`. Planned models are not callable. Current initial display: DeepSeek V4.1 Flash 1017; project model ID `deepseek-v4.1-flash-1017`.

## Private API and wallet keys

Ordinary wallets and Agent ID wallets can both have one current project API key. Agent ID is optional for AI keys; it remains required for Genesis Mint.

Private endpoints require a short-lived, exact-origin wallet login, not just knowledge of an address. `/v1/auth/nonce` returns a SIWE challenge and an EIP-712 `typedData` wrapper for Agentic Wallet. For typed signing, use the official `baw sign-message preview` / `execute` flow with the exact returned domain, types, primaryType and message, then POST `{message,signature,signatureType:"eip712"}` to `/v1/auth/verify`. The complete SIWE message binds origin, address, chain, nonce and expiry. Do not replace it or reuse a challenge. Retain the HttpOnly session cookie privately and send the returned CSRF token for writes; never paste cookies, CSRF tokens or full keys into chat or logs. Browser wallets retain personal-sign SIWE support.

`GET /v1/me/api-key`, `POST /v1/me/api-key {}`, `POST /v1/me/api-key/rotate {prefix}`, `POST /v1/me/api-key/revoke {prefix}`. Full keys are shown once; only hashes and a prefix are stored. A lost create response must be checked with GET before any retry; rotation invalidates the old key and requires explicit user intent. Keys remain inactive in this release; `/v1/chat/completions` returns `AI_NOT_ENABLED`. A key is a project service credential, never a wallet signing credential. Store it privately when service activates; do not invent a usable key for the user.
