| name | claim-diem |
| description | Claim DIEM from FeeLocker, update goals.json with new balance, notify creator of progress toward compute milestone. |
| schedule | 0 */12 * * * |
Claim DIEM
Runs every 12h. Claims accumulated DIEM from the FeeLocker and updates the agent's goal state.
Steps
- Dry-run first — check what's claimable
node --import tsx scripts/check-portfolio.ts
Read the output. Note:
feeLockerBalance — DIEM claimable now
agentWalletDiem — DIEM already in wallet
stakedDiem — DIEM already staked on Venice
If feeLockerBalance < 0.1 DIEM: nothing to claim. Log "nothing to claim" and exit.
- Claim if above threshold
node --import tsx scripts/claim-and-allocate.ts --dry-run
Review the output. Confirm amounts are correct. Then QUEUE the live claim — you
cannot sign in this step; the gated "Execute on-chain intents" step runs it:
node --import tsx scripts/queue-intent.ts claim-and-allocate --live
- Update goals.json with new DIEM total
After a successful claim, read the new wallet balance and update:
node --import tsx scripts/check-portfolio.ts
Update memory/goals.json → milestones[0].current with the new total DIEM (wallet + staked).
Update milestones[0].updatedAt with current ISO timestamp.
Check if current >= target (100 DIEM) or daily rate >= 0.5 DIEM/day:
- If yes: set
mode: "build" in goals.json, send urgent notify
- If no: stay in accumulate mode
- Commit and notify
git add memory/goals.json
git commit -m "chore(claim): update DIEM milestone progress"
(The workflow's gated Commit step pushes for you — do not run git push yourself; it is intentionally disabled in CI.)
Notify via ./notify:
AUTONO claim: +X.XX DIEM | Total: Y.YY/100 | Mode: accumulate | Next milestone: Z% away
Log entry
Append to memory/diem-claims.jsonl:
{"date":"<YYYY-MM-DD>","timestamp":<epoch>,"claimed":"<amount>","totalDiem":"<wallet+staked>","mode":"<mode>","dryRun":false}