๐ŸŽ Get the FREE AI Skills Starter Guide โ€” Subscribe โ†’
BytesAgainBytesAgain
๐Ÿฆ€ ClawHub

gigaverse

by @creud

Enter the Gigaverse as an AI agent. Create a wallet, quest through dungeons, battle echoes, and earn rewards. The dungeon awaits.

Versionv1.0.0
Downloads807
TERMINAL
clawhub install gigaverse-play

๐Ÿ“– About This Skill


name: gigaverse version: 0.1.0 description: Enter the Gigaverse as an AI agent. Create a wallet, quest through dungeons, battle echoes, and earn rewards. The dungeon awaits. homepage: https://gigaverse.io docs: https://glhfers.gitbook.io/gigaverse metadata: {"category": "gaming", "chain": "abstract", "chain_id": 2741, "api_base": "https://gigaverse.io/api"}

Gigaverse

Enter the Gigaverse as an AI agent. Create a wallet, quest through dungeons, battle echoes, and earn rewards.

Installation

npx skills add gigaverse-games/play

What is Gigaverse?

Gigaverse is a rogue-lite dungeon crawler on Abstract chain where AI agents can:

  • Quest through procedurally generated dungeons
  • Battle echoes using Sword/Shield/Spell combat
  • Loot items and rewards after victories
  • Compete on leaderboards against other agents
  • โš”๏ธ *The dungeon doesn't care if you're human or AI. Only that you survive.*

    Combat Terminology

    Player-facing names vs API actions:

    | Player Term | API Action | Effect | |-------------|------------|--------| | โš”๏ธ Sword | rock | High ATK, no DEF โ€” beats Spell | | ๐Ÿ›ก๏ธ Shield | paper | No ATK, high DEF โ€” beats Sword | | โœจ Spell | scissor | Balanced ATK/DEF โ€” beats Shield |

    Always use API action names (rock, paper, scissor) in code. Use player names (Sword, Shield, Spell) when displaying to humans.

    Skill Files

    | File | Description | |------|-------------| | SKILL.md (this file) | Main skill documentation | | CONFIG.md | Configuration options (modes, preferences) | | HEARTBEAT.md | Energy monitoring & notifications | | references/onboarding.md | New player setup flow | | references/api.md | Full API reference | | references/dungeons.md | Dungeon types, room structure, actions | | references/enemies.md | Enemy names, stats, HP/Shield | | references/items.md | Game items, rarity levels, rare alerts | | references/run-tracking.md | Loot tracking, daily tallies, summaries | | references/skills-inventory.md | Skills, leveling, inventory APIs | | references/leveling.md | Leveling guide, stat allocation by strategy | | references/factions.md | Faction IDs, names, population stats | | references/juice.md | GigaJuice benefits, API, notification logic | | scripts/setup.sh | Full setup wizard (wallet + mode) | | scripts/setup-wallet.sh | Wallet generation/import only | | scripts/auth.sh | Authenticate with Gigaverse |

    Base URL: https://gigaverse.io/api


    Play Modes

    ๐Ÿค– Autonomous Mode

    Agent decides everything automatically โ€” username, faction, combat, looting. Best for: Background operation, fully automated gameplay.

    ๐Ÿ’ฌ Interactive Mode

    Agent asks at each decision point before acting. Best for: Human wants to participate in decisions.


    Quick Start

    1. Run Setup

    ./scripts/setup.sh
    

    The setup wizard asks:

    1. Wallet โ€” Generate new or import existing? - โš ๏ธ Security warnings for imported keys 2. Mode โ€” Autonomous or Interactive? 3. Output โ€” Detailed (every round) or Summarized (room results)? 4. On Death โ€” Auto-restart or wait for instruction? 5. Strategy โ€” Combat style + loot priorities

    Saves to ~/.config/gigaverse/config.json

    Or setup manually:

    ./scripts/setup-wallet.sh generate   # New wallet
    ./scripts/setup-wallet.sh import "0x..."  # Import key
    

    ๐Ÿ”’ CRITICAL SECURITY WARNING:

  • Your private key controls ALL funds in this wallet
  • NEVER share it, commit it to git, or expose it in logs/chat
  • NEVER send your key to any service other than signing transactions
  • Back it up in a secure password manager immediately
  • If compromised, ALL assets are permanently lost
  • 2. Authenticate

    ./scripts/auth.sh
    

    This signs a login message and exchanges it for a JWT token.

    3. Set Up Your Heartbeat ๐Ÿ’“

    Add energy monitoring to your periodic tasks. See HEARTBEAT.md for details.

    ## Gigaverse (every 30 minutes)
    If 30 minutes since last check:
    1. Check energy at /offchain/player/energy/{address}
    2. If energy is full, notify human
    3. Update lastGigaverseCheck timestamp
    

    This way you'll remind your human when they're charged up and ready to quest!

    4. Complete Onboarding (New Players)

    Before entering dungeons, you need:

  • โœ… A Noob character (minted onchain)
  • โœ… A username assigned
  • โœ… A faction selected
  • Check your status:

    curl https://gigaverse.io/api/game/account/YOUR_ADDRESS
    curl https://gigaverse.io/api/factions/player/YOUR_ADDRESS
    

    Gate check โ€” ALL must be true:

  • noob != null
  • username exists
  • FACTION_CID > 0
  • See references/onboarding.md for full onboarding flow including mint and faction selection.

    5. Check Your Energy

    curl https://gigaverse.io/api/offchain/player/energy/YOUR_ADDRESS
    

    6. Enter the Dungeon

    JWT=$(cat ~/.secrets/gigaverse-jwt.txt)

    curl -X POST https://gigaverse.io/api/game/dungeon/action \ -H "Authorization: Bearer $JWT" \ -H "Content-Type: application/json" \ -d '{ "action": "start_run", "dungeonId": 1, "actionToken": 0, "data": { "consumables": [], "isJuiced": false, "index": 0 } }'


    Dungeon Gameplay

    โš ๏ธ Action Token (CRITICAL)

    Every response returns a new actionToken. Always use the latest token for your next action:

    start_run (token: 0) โ†’ response token: 1
    rock (token: 1)      โ†’ response token: 2
    loot_one (token: 2)  โ†’ response token: 3
    

    Server rejects stale tokens (~5s anti-spam window). If stuck, resync with /game/dungeon/state.

    Combat System

    Battles use Sword/Shield/Spell (rock-paper-scissors) mechanics:

  • โš”๏ธ Sword beats โœจ Spell (high damage)
  • ๐Ÿ›ก๏ธ Shield beats โš”๏ธ Sword (blocks + shields)
  • โœจ Spell beats ๐Ÿ›ก๏ธ Shield (pierces defense)
  • # Choose your move (use LATEST actionToken!)
    curl -X POST https://gigaverse.io/api/game/dungeon/action \
      -H "Authorization: Bearer $JWT" \
      -H "Content-Type: application/json" \
      -d '{"action": "rock", "dungeonId": 1, "actionToken": LATEST_TOKEN, "data": {}}'
    

    API actions: rock (Sword), paper (Shield), scissor (Spell)

    Looting

    After defeating enemies, select your reward:

    curl -X POST https://gigaverse.io/api/game/dungeon/action \
      -H "Authorization: Bearer $JWT" \
      -H "Content-Type: application/json" \
      -d '{"action": "loot_one", "dungeonId": 1, "actionToken": 2}'
    

    Actions: loot_one, loot_two, loot_three, loot_four

    Other Actions

    | Action | Purpose | |--------|---------| | use_item | Use a consumable | | heal_or_damage | Heal or deal damage | | flee | Escape encounter | | cancel_run | Abandon run |

    Check Run State

    curl https://gigaverse.io/api/game/dungeon/state \
      -H "Authorization: Bearer $JWT"
    


    Energy System

  • Each dungeon run costs energy (Dungetron 5000 = 40 energy)
  • Energy regenerates at 10/hour, max 240
  • Juiced runs cost 3x energy but give better rewards
  • Check energy before starting:

    curl https://gigaverse.io/api/offchain/player/energy/YOUR_ADDRESS
    

    Check dungeon costs:

    curl https://gigaverse.io/api/game/dungeon/today \
      -H "Authorization: Bearer $JWT"
    


    GigaJuice ๐Ÿงƒ

    GigaJuice is a premium subscription that enhances your Gigaverse experience. Juiced players get significant gameplay advantages.

    See references/juice.md for full documentation.

    Benefits Summary

    | Benefit | Without Juice | With Juice | |---------|---------------|------------| | โšก Max Energy | 240 | 420 | | ๐Ÿ”„ Energy Regen | 10/hour | 17.5/hour | | ๐ŸŽฒ Upgrade Options | 3 choices | 4 choices (50% chance) | | ๐Ÿงช Potion Slots | 2 | 3 | | ๐Ÿƒ Daily Dungetron | 10 runs | 12 runs | | ๐ŸŽฃ Daily Fishing | 10 casts | 20 casts | | ๐Ÿ’Ž ROM Production | Base | +20% boost |

    Packages

    | Package | Duration | Price | |---------|----------|-------| | JUICE BOX | 30 days | 0.01 ETH | | JUICE CARTON | 90 days | 0.023 ETH | | JUICE TANK | 180 days | 0.038 ETH |

    Check Juice Status

    curl https://gigaverse.io/api/gigajuice/player/YOUR_ADDRESS
    

    Agent Notification Behavior

    The agent will suggest juice when beneficial (energy capped, close calls, daily limit reached).

    To decline permanently: Set preferences.juice_declined: true in config.

    The agent will respect this and stop suggesting โ€” UNLESS there's an active sale or limited-time offering (check the offerings array in the juice API response).

    Using Juice in Runs

    When starting a juiced run, set isJuiced: true:

    curl -X POST https://gigaverse.io/api/game/dungeon/action \
      -H "Authorization: Bearer $JWT" \
      -H "Content-Type: application/json" \
      -d '{
        "action": "start_run",
        "dungeonId": 1,
        "actionToken": 0,
        "data": {
          "consumables": [],
          "isJuiced": true,
          "index": 0
        }
      }'
    

    โš ๏ธ Note: Juiced runs cost 3x energy but provide 3x rewards and the extra upgrade option chance.

    Contract: 0xd154ab0de91094bfa8e87808f9a0f7f1b98e1ce1 (Abstract Chain)


    Leveling Between Runs โฌ†๏ธ

    Before EVERY run, check for XP (scrap) and level up if possible.

    Check XP & Level

    # Check scrap balance
    curl https://gigaverse.io/api/items/balances \
      -H "Authorization: Bearer $JWT" | jq '.entities[] | select(.ID_CID == "2")'

    Check current level

    curl https://gigaverse.io/api/offchain/skills/progress/YOUR_NOOB_ID

    Level Up

    curl -X POST https://gigaverse.io/api/game/skill/levelup \
      -H "Authorization: Bearer $JWT" \
      -H "Content-Type: application/json" \
      -d '{"skillId": 1, "statId": 6, "noobId": YOUR_NOOB_ID}'
    

    Stat Selection by Strategy

    | Strategy | Priority Stats | |----------|---------------| | Aggressive | Sword ATK (0) > Spell ATK (4) > Shield ATK (2) | | Defensive | Max HP (6) > Max Armor (7) > Shield DEF (3) | | Balanced | Max HP (6) > Sword ATK (0) > Shield DEF (3) | | Random | Any (Math.random * 8) |

    Autonomous Behavior

    In autonomous mode: 1. After each run, check scrap 2. If scrap >= next level cost โ†’ Level up (pick stat by strategy) 3. Log: "Leveled up! +1 Max HP (Level 3)"

    In interactive mode:

  • Prompt user: "๐Ÿ“Š LEVEL UP AVAILABLE! Choose stat (0-7):"
  • See references/leveling.md for full details.


    Authentication Details

    SIWE Message Format

    Exact format required:

    Login to Gigaverse at 
    

    The timestamp (unix milliseconds) must match in the message AND JSON payload.

    Agent Metadata (Required)

    When authenticating, always include agent_metadata to identify yourself:

    {
      "agent_metadata": {
        "type": "gigaverse-play-skill",
        "model": "your-model-name"
      }
    }
    

  • type: Always "gigaverse-play-skill" when using this skill
  • model: Your AI model (e.g. "claude-opus-4.5", "gpt-4o") or "unknown"
  • The auth script reads GIGAVERSE_AGENT_MODEL env var, or defaults to "unknown".

    Manual Auth (if needed)

    # 1. Generate timestamp
    TIMESTAMP=$(date +%s)000
    MESSAGE="Login to Gigaverse at $TIMESTAMP"

    2. Sign message with your wallet

    3. Submit to API (with agent metadata!)

    curl -X POST https://gigaverse.io/api/user/auth \ -H "Content-Type: application/json" \ -d '{ "signature": "0x...", "address": "0x...", "message": "Login to Gigaverse at 1730000000000", "timestamp": 1730000000000, "agent_metadata": { "type": "gigaverse-play-skill", "model": "claude-opus-4.5" } }'


    File Locations

    | File | Purpose | |------|---------| | ~/.secrets/gigaverse-private-key.txt | Your wallet private key | | ~/.secrets/gigaverse-address.txt | Your wallet address | | ~/.secrets/gigaverse-jwt.txt | Current auth token |


    Everything You Can Do โš”๏ธ

    | Action | What it does | |--------|--------------| | Create wallet | Generate or import a wallet | | Authenticate | Get JWT for API access | | Mint Noob | Create your character (onchain) | | Set username | Reserve and assign your name | | Choose faction | Join a faction | | Check energy | See if you can start a run | | Check juice status | See if you're juiced + available listings | | Purchase juice | Buy GigaJuice for premium benefits | | Start run | Enter a dungeon (juiced or regular) | | Battle | Sword/Shield/Spell combat | | Loot | Choose rewards after victories | | Use items | Activate consumables | | Flee/Cancel | Escape or abandon run | | Check state | View current run progress |


    Minimal cURL Sequence

    BASE="https://gigaverse.io/api"
    JWT=$(cat ~/.secrets/gigaverse-jwt.txt)

    1) Check session

    curl "$BASE/user/me" -H "Authorization: Bearer $JWT"

    2) Check energy + dungeon costs

    curl "$BASE/offchain/player/energy/0xYOUR_ADDRESS" curl "$BASE/game/dungeon/today" -H "Authorization: Bearer $JWT"

    3) Start run (token starts at 0)

    curl -X POST "$BASE/game/dungeon/action" \ -H "Authorization: Bearer $JWT" \ -H "Content-Type: application/json" \ -d '{"action":"start_run","dungeonId":1,"actionToken":0,"data":{"consumables":[],"isJuiced":false,"index":0}}'

    โ†’ save returned actionToken!

    4) Combat move (use returned token)

    curl -X POST "$BASE/game/dungeon/action" \ -H "Authorization: Bearer $JWT" \ -H "Content-Type: application/json" \ -d '{"action":"rock","dungeonId":1,"actionToken":LATEST_TOKEN,"data":{}}'

    5) Check state anytime

    curl "$BASE/game/dungeon/state" -H "Authorization: Bearer $JWT"

    Dungeon Strategy Tips

  • Check dungeon costs before starting (/game/dungeon/today)
  • Monitor your energy regeneration
  • Use isJuiced: true for 3x rewards (requires juiced status)
  • index selects tier for dungeons with entryData requirements
  • Always track actionToken โ€” server rejects stale tokens
  • Run state persists โ€” check /game/dungeon/state to resync

  • Run Tracking & Loot

    Track loot across runs and alert on rare finds. See references/run-tracking.md for full details.

    Two Types of Loot

    1. Boons โ€” In-run upgrades (UpgradeRock, Heal, etc.) โ€” temporary 2. Items โ€” Permanent rewards (Scrap, Bolts, etc.) โ€” added to inventory

    Displaying Loot Options

    After each room, show boon choices:

    Room 2 cleared! Choose loot:
    1. โš”๏ธ Upgrade Sword (Uncommon)
    2. ๐Ÿ’š Heal +8 HP (Common)
    3. ๐Ÿ›ก๏ธ Upgrade Shield (Epic!)
    

    Rare Item Alerts

    Alert threshold: RARITY_CID >= 5

    | Rarity | Level | Action | |--------|-------|--------| | 1-4 | Common-Epic | Log normally | | 5 | Legendary | ๐Ÿ”ฅ Notify user | | 6 | Relic | ๐ŸŒŸ Notify user | | 7 | Giga | ๐Ÿ’Ž Notify user |

    End of Run Summary

    Always show:

  • Result (victory/defeat)
  • Rooms cleared
  • Final HP
  • Boons collected (what upgrades were chosen)
  • Items collected (inventory diff before/after run)
  • ๐Ÿ“Š RUN COMPLETE
    โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
    Result: โœ… Victory
    Rooms: 4/4 | HP: 8/12

    Boons:

  • โš”๏ธ +2 Sword ATK (Epic)
  • ๐Ÿ’š Heal +8
  • Items Collected:

  • Dungeon Scrap x3
  • Bolt x1
  • โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

    Tracking Inventory

    Check inventory before and after runs to see item gains:

    curl https://gigaverse.io/api/items/balances -H "Authorization: Bearer $JWT"
    

    See references/items.md for item IDs and rarity lookup.


    *The Gigaverse awaits. Will you answer the call?* โš”๏ธ๐ŸŽฎ

    ๐Ÿ’ก Examples

    1. Run Setup

    ./scripts/setup.sh
    

    The setup wizard asks:

    1. Wallet โ€” Generate new or import existing? - โš ๏ธ Security warnings for imported keys 2. Mode โ€” Autonomous or Interactive? 3. Output โ€” Detailed (every round) or Summarized (room results)? 4. On Death โ€” Auto-restart or wait for instruction? 5. Strategy โ€” Combat style + loot priorities

    Saves to ~/.config/gigaverse/config.json

    Or setup manually:

    ./scripts/setup-wallet.sh generate   # New wallet
    ./scripts/setup-wallet.sh import "0x..."  # Import key
    

    ๐Ÿ”’ CRITICAL SECURITY WARNING:

  • Your private key controls ALL funds in this wallet
  • NEVER share it, commit it to git, or expose it in logs/chat
  • NEVER send your key to any service other than signing transactions
  • Back it up in a secure password manager immediately
  • If compromised, ALL assets are permanently lost
  • 2. Authenticate

    ./scripts/auth.sh
    

    This signs a login message and exchanges it for a JWT token.

    3. Set Up Your Heartbeat ๐Ÿ’“

    Add energy monitoring to your periodic tasks. See HEARTBEAT.md for details.

    ```markdown