venice-staking
Venice AI staking mechanics — two systems (sVVV for API key gate, sDIEM for inference credits) and mintDiem for converting sVVV to DIEM.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Venice AI staking mechanics — two systems (sVVV for API key gate, sDIEM for inference credits) and mintDiem for converting sVVV to DIEM.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Decide how to allocate DIEM between Venice compute staking, WETH swap for x402 API access, Uniswap LP, and Aerodrome LP. Run once per tick before any capital movement.
Read all agent on-chain positions via the check-portfolio.ts script. Use this instead of raw curl/cast calls to avoid hex encoding mistakes.
Claim DIEM from FeeLocker, run accumulate-vs-build analysis, and route earnings to LP or Venice staking. Scheduled every 12 hours via aeon. DRY-RUN BY DEFAULT — pass --live to execute.
Launch a Liquid Protocol token with a LiquidPresaleVault presale. STAKE MODE ONLY (policy 2026-06-12) — depositors lock DIEM and always get it back; allocation is lock-to-earn. One vault per launch, 10% of supply, 60d default lock.
Working in the deploy-autonomous GitHub template repo — agent harness, identity layer, Venice provider, safety modules, and the create-identity CLI.
Proactive health check — skill failures, LP state, memory flags, FeeLocker balance. Run 3× daily to surface issues before they compound.
| name | venice-staking |
| description | Venice AI staking mechanics — two systems (sVVV for API key gate, sDIEM for inference credits) and mintDiem for converting sVVV to DIEM. |
Two completely separate staking systems. Do not confuse them.
Staking VVV gives you sVVV, which gates minting a Venice API key.
Contracts (Base mainnet):
0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf0x321b7ff75154472B18EDb199033fF4D116F340FfHow to stake VVV:
# Already implemented — scripts/stake-vvv.ts
node --env-file=.env --import tsx scripts/stake-vvv.ts
Flow: VVV.approve(VVV_STAKING, amount) → VVV_STAKING.stake(agentAddress, amount)
sVVV is non-transferable. It is a balance tracked inside VVV_STAKING, not a separate ERC-20. Minimum: ≥ 1 VVV staked to mint a Venice API key.
Staking DIEM gives you inference budget on Venice. The DIEM contract is both the ERC-20 and the staking contract — same address.
Contract (Base mainnet):
0xF4d97F2da56e8c3098f3a8D538DB630A2606a024How to stake DIEM:
// Single call, no approve needed
DIEM.stake(uint256 amount)
node --env-file=.env --import tsx scripts/stake-diem.ts
Rate: 1 DIEM staked = $1/day Venice inference budget
No delegation: stake() credits only msg.sender
Converts sVVV (staked VVV) into DIEM for inference.
IMPORTANT: mintDiem is on VVV_STAKING (proxy), NOT on the VVV token.
// Call on VVV_STAKING (0x321b7ff75154472B18EDb199033fF4D116F340Ff):
VVV_STAKING.mintDiem(uint256 sVVVAmountToLock, uint256 minDiemAmountOut)
// selector: 0x2006efcb
// Burns sVVV from msg.sender, mints DIEM to msg.sender
// Preview the rate (view, no state change):
VVV_STAKING.getDiemAmountOut(uint256 sVvvAmount) returns (uint256 diemAmount)
Real rate (Base mainnet, 2026-05):
getDiemAmountOut(1e18) returns 1_410_748_706_909_624 (~1.41e15 wei DIEM per 1e18 wei sVVV)Used in the MintDiemPresaleVault — depositors stake VVV → vault calls mintDiem on VVV_STAKING → DIEM flows to agent wallet.
| Contract | Address | Transactions |
|---|---|---|
| VVV token | 0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf | approve(VVV_STAKING, amount) |
| VVV staking | 0x321b7ff75154472B18EDb199033fF4D116F340Ff | stake(agentAddress, amount) |
| DIEM | 0xF4d97F2da56e8c3098f3a8D538DB630A2606a024 | stake(amount) for sDIEM |
| FeeLocker | 0xF7d3BE3FC0de76fA5550C29A8F6fa53667B876FF | claim(feeOwner, token) |
| NFPM | 0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1 | mint(...) for LP positions |