Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
bankrbot avatar

Yoink

  • 1 installs
  • 1.2k repo stars
  • Updated August 1, 2026
  • bankrbot/clawdbot-skill

Yoink is a Claude skill for playing Yoink, an onchain capture-the-flag game on Base, by reading game state and submitting the yoink transaction via Bankr.

About

Yoink is a skill for playing Yoink, an onchain capture-the-flag game on Base. A developer or agent uses it to check who holds the flag and cooldown status, read scores and the leaderboard, and submit a yoink to take the flag. Game state is read via RPC with curl and jq and the transaction is sent through Bankr, so it matters when an agent wants to compete for the trophy.

  • Play Yoink, an onchain capture-the-flag game on Base
  • Reads game state (holder, cooldown, scores, leaderboard) via eth_call with curl and jq
  • Submits the yoink() transaction through Bankr's arbitrary transaction feature

Yoink by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #426 of 479 Web3 & Blockchain skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
At a glance

yoink capabilities & compatibility

Needs a Bankr wallet and a small amount of ETH on Base for gas; reads use a free public RPC

Capabilities
onchain game · bankr transaction · leaderboard read
Pricing
Bring your own API key
From the docs

What yoink says it does

Play Yoink, an onchain capture-the-flag game on Base. Yoink the flag from the current holder to start your clock.
SKILL.md
Cooldown** - You must wait 10 minutes (600 seconds) between yoinks
SKILL.md
The player with the most total yoinks holds the trophy (token ID 2)
SKILL.md
npx skills add https://github.com/bankrbot/clawdbot-skill --skill yoink

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars1.2k
Last updatedAugust 1, 2026
Repositorybankrbot/clawdbot-skill

What it does

Play the onchain capture-the-flag game Yoink on Base: check status, read scores, and yoink the flag via Bankr.

Who is it for?

agents competing in the onchain Yoink capture-the-flag game on Base

When should I use this skill?

when the user wants to yoink the flag, check game stats, view leaderboards, or player scores

What you get

A submitted yoink that takes the flag and updates the agent's score.

  • yoink transaction
  • game status query
  • score lookup

By the numbers

  • 600-second (10-minute) cooldown
  • 9 contract functions documented
  • trophy is token ID 2

Files

SKILL.mdMarkdownGitHub ↗

Yoink

Play Yoink, an onchain capture-the-flag game on Base. Yoink the flag from the current holder to start your clock. The player with the most total yoinks holds the trophy.

Contract: 0x4bBFD120d9f352A0BEd7a014bd67913a2007a878 on Base (chain ID 8453)

Game Rules

1. Yoink the flag - Call yoink() to take the flag from the current holder 2. Cooldown - You must wait 10 minutes (600 seconds) between yoinks 3. No self-yoink - You cannot yoink from yourself 4. Accumulate time - While you hold the flag, your time score increases 5. Compete for trophy - The player with the most total yoinks holds the trophy (token ID 2) 6. Track yoinks - Your total yoink count is tracked separately from time

Contract Interface

RPC template:

curl -s -X POST https://mainnet.base.org -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x4bBFD120d9f352A0BEd7a014bd67913a2007a878","data":"SELECTOR+PARAMS"},"latest"],"id":1}' | jq -r '.result'
FunctionSelectorParamsReturns
yoink()0x9846cd9e-(write)
lastYoinkedBy()0xd4dbf9f4-address
lastYoinkedAt()0x6a99616f-uint256 timestamp
totalYoinks()0xa5d0dadd-uint256
topYoinker()0x6a974e6e-address (trophy holder)
mostYoinks()0xd2d7774a-uint256 (record)
COOLDOWN()0xa2724a4d-uint256 (600)
score(address)0x776f3843addr (32B padded)(yoinks, time, lastYoinkedAt)
balanceOf(address,uint256)0x00fdd58eaddr + tokenIduint256 (FLAG_ID=1, TROPHY_ID=2)

Encoding: Addresses are zero-padded to 32 bytes. score() returns 96 bytes (3 × uint256).

Yoinking

Use Bankr's arbitrary transaction feature:

{
  "to": "0x4bBFD120d9f352A0BEd7a014bd67913a2007a878",
  "data": "0x9846cd9e",
  "value": "0",
  "chainId": 8453
}

Errors

ErrorSelectorMeaning
SlowDown(uint256)0x58d6f4c6Cooldown not elapsed. Param = seconds remaining.
Unauthorized()0x82b42900You already hold the flag.

Cooldown check: current_time - lastYoinkedAt() >= 600

Workflow

  • Query lastYoinkedBy() and lastYoinkedAt() to check status/cooldown
  • Ensure cooldown elapsed (600s) and you're not current holder
  • Submit yoink transaction via Bankr
  • Verify with lastYoinkedBy() or score(address)

Resources

  • Basescan: https://basescan.org/address/0x4bBFD120d9f352A0BEd7a014bd67913a2007a878 (ABI, events, source)
  • Source Code: https://github.com/horsefacts/yoink-contracts

Related skills

FAQ

What is the Yoink cooldown?

You must wait 10 minutes (600 seconds) between yoinks.

How is a yoink submitted?

As an arbitrary transaction to the contract on chain 8453, executed through Bankr.

Web3 & Blockchainintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.