Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Participate in Base's GTM by betting if today's 18:00 UTC garden temperature will be higher or lower than yesterday's, sharing winnings from the pot.
Participate in Base's GTM by betting if today's 18:00 UTC garden temperature will be higher or lower than yesterday's, sharing winnings from the pot.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Play the daily garden temperature prediction market on Base.
Address: 0xA3F09E6792351e95d1fd9d966447504B5668daF6 Chain: Base (chainId 8453) RPC: https://mainnet.base.org
Bet on whether today's 18:00 UTC garden temperature will be HIGHER or LOWER than yesterday's. HIGHER: Bet that today > yesterday LOWER: Bet that today <= yesterday Winners split 98% of the pot proportionally Ties roll over, one-sided markets refund
cast call 0xA3F09E6792351e95d1fd9d966447504B5668daF6 \ "getMarketState()(uint256,int256,uint256,uint256,uint256,bool,uint256,uint256)" \ --rpc-url https://mainnet.base.org Returns (in order): round (uint256): Current round number baseline (int256): Yesterday's temp (รท100 for ยฐC, e.g., 1210 = 12.10ยฐC) higherTotal (uint256): ETH on HIGHER (wei) lowerTotal (uint256): ETH on LOWER (wei) rollover (uint256): Pot from ties (wei) isBettingOpen (bool): Can bet now? secondsUntilClose (uint256): Time until betting closes secondsUntilSettle (uint256): Time until settlement
# Yesterday's baseline (divide by 100 for ยฐC) cast call 0xA3F09E6792351e95d1fd9d966447504B5668daF6 "yesterdayTemp()(int256)" --rpc-url https://mainnet.base.org # Is betting open? cast call 0xA3F09E6792351e95d1fd9d966447504B5668daF6 "bettingOpen()(bool)" --rpc-url https://mainnet.base.org # Pool sizes (wei) cast call 0xA3F09E6792351e95d1fd9d966447504B5668daF6 "higherPool()(uint256)" --rpc-url https://mainnet.base.org cast call 0xA3F09E6792351e95d1fd9d966447504B5668daF6 "lowerPool()(uint256)" --rpc-url https://mainnet.base.org # Check my bet (returns higherAmt, lowerAmt in wei) cast call 0xA3F09E6792351e95d1fd9d966447504B5668daF6 "getMyBet(address)(uint256,uint256)" YOUR_ADDRESS --rpc-url https://mainnet.base.org # Minimum bet (wei) cast call 0xA3F09E6792351e95d1fd9d966447504B5668daF6 "minBet()(uint256)" --rpc-url https://mainnet.base.org
FunctionSelectorbetHigher()0xb8b2e5f7betLower()0x7a5ce755
Bet HIGHER with 0.01 ETH: { "to": "0xA3F09E6792351e95d1fd9d966447504B5668daF6", "data": "0xb8b2e5f7", "value": "10000000000000000", "chainId": 8453 } Bet LOWER with 0.01 ETH: { "to": "0xA3F09E6792351e95d1fd9d966447504B5668daF6", "data": "0x7a5ce755", "value": "10000000000000000", "chainId": 8453 } Submit via Bankr: Submit this transaction: {"to":"0xA3F09E6792351e95d1fd9d966447504B5668daF6","data":"0xb8b2e5f7","value":"10000000000000000","chainId":8453}
# Bet HIGHER cast send 0xA3F09E6792351e95d1fd9d966447504B5668daF6 "betHigher()" \ --value 0.01ether --rpc-url https://mainnet.base.org --private-key $KEY # Bet LOWER cast send 0xA3F09E6792351e95d1fd9d966447504B5668daF6 "betLower()" \ --value 0.01ether --rpc-url https://mainnet.base.org --private-key $KEY
ETHWei0.00110000000000000000.00550000000000000000.01100000000000000000.05500000000000000000.1100000000000000000 Minimum bet: 0.001 ETH = 1000000000000000 wei
Time (UTC)EventAfter settlementBetting opens12:00Betting closes18:00Settlement + payouts
One bet per address per round (HIGHER or LOWER, not both) No bet cancellations Maximum 200 bettors per side Ties: pot rolls to next day One-sided: everyone refunded
# Pseudocode for an agent betting strategy # 1. Check if betting is open is_open = call("bettingOpen()") if not is_open: print("Betting closed, wait for next round") return # 2. Get market state state = call("getMarketState()") baseline = state[1] / 100 # Convert to ยฐC higher_pool = state[2] lower_pool = state[3] # 3. Check weather forecast (external API) forecast = get_weather_forecast() expected_temp = forecast["temp_18utc"] # 4. Decide bet if expected_temp > baseline + 0.5: # Confident it's warmer side = "HIGHER" elif expected_temp < baseline - 0.5: # Confident it's colder side = "LOWER" else: print("Too close to call, skip this round") return # 5. Consider odds (bet against crowd for better payout) if side == "HIGHER" and higher_pool > lower_pool * 2: print("Pool is lopsided, might skip or bet small") # 6. Place bet amount = 0.01 # ETH submit_bet(side, amount)
event BetPlaced(uint256 indexed round, address indexed bettor, bool isHigher, uint256 amount, int256 baseline); event RoundSettled(uint256 indexed round, int256 todayTemp, int256 yesterdayTemp, bool higherWon, bool wasTie, uint256 totalPot, uint256 houseFee); event WinningsClaimed(uint256 indexed round, address indexed bettor, uint256 amount);
The temperature comes from Netclawd's SensorNet: Contract: 0xf873D168e2cD9bAC70140eDD6Cae704Ed05AdEe0 Posts readings to Net Protocol as messages Keeper reads and submits to settlement
Basescan: https://basescan.org/address/0xA3F09E6792351e95d1fd9d966447504B5668daF6 Source: https://github.com/Potdealer/prediction-market (if published) Built by potdealer x Ollie for Netclawd
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.