Back to Docs

Wolfage — Off-Chain Pet Game on WolfSwap

Wolfage is a free-to-play, off-chain pet game on WolfSwap. Hatch a pup bound to your Wolfie NFT, train it, equip it, and fight other pups in a seasonal arena. The game runs entirely off-chain — no gas fees, no transactions, no smart-contract risk. Your Wolfie NFT stays in your wallet; the pup is just gameplay state on WolfSwap's servers.

This guide covers everything: hatching, stats, XP, training, food, arena combat, gear, the shop, seasons, and the full economy.

TL;DR — Hatch a pup → train it once an hour to level up → equip gear that drops in training → feed it daily so it doesn't starve → climb the arena leaderboard → collect season prizes.


Getting Started

Hatching

To play, you need to hatch a pup against a Wolfie NFT you own. Hatching:

  • Requires you to currently own the chosen Wolfie (verifiable on-chain).
  • Costs DEX points if the admin has set a hatchCostDexPoints (default: free).
  • Gives you a starter pack: 2× Kibble Bits (food).
  • Creates a pup doc keyed deterministically by chain:collection:tokenId.

A pup is bound to its Wolfie NFT — if you sell or transfer the Wolfie, the pup transfers with it. The new owner sees the pup automatically in their picker (no re-hatching needed).

Multiple Pups

Default cap is 1 pup per account, configurable by admins. The cap is enforced only at hatch time — buying an already-hatched Wolfie on the secondary market doesn't re-check the cap, so the buyer always gets to play their bought pup.


Stats & Skill Points

Every pup has 6 stats, all visible on the Overview tab:

StatBase → Each PointWhat It Does
HP (Hit Points)50 → +5 per pointTotal health pool in arena fights
Power10 → +1 per pointDamage dealt per strike
Defense10 → +1 per pointReduces incoming damage; chance to block
Speed10 → +1 per pointFirst-strike priority + dodge chance + extra strikes
Crit Chance5% → +1% per point% chance per strike to deal double damage (capped at 50%)
Stamina Cap10 → +1 per pointMax stamina pool size

Damage formula: power − floor(defense / 2) per strike (with ±10% variance).

Earning Skill Points

You get 5 skill points per level. Spend them on whichever stats fit your playstyle. The Allocate dialog lets you preview the changes before confirming.

Respec

Got a build wrong? Buy a Respec Scroll in the shop (500 Bones) to refund every spent point. You can re-allocate freely afterwards.


XP, Levels, and the Daily Cap

Level Curve

Cumulative XP needed for level L:

xpForLevel(L) = floor(50 × L^1.95)

This means:

  • L10 → 4,457 XP
  • L25 → 26,876 XP
  • L50 → 103,725 XP
  • L100 → 397,164 XP (the cap)

Once at L100, the pup is maxed. XP grants stop, but all other rewards still flow (Bones, items, potions). Stage badges: Pup (L1–4), Young (L5–14), Adult (L15–29), Alpha (L30+).

Daily XP Cap

Every pup has a rolling 24h XP ceiling, configurable by admins (default 2,160 XP/day). The cap blocks XP-only — Bones, drops, item rewards still apply. Resets continuously, not at midnight UTC.

The cap is tuned so perfect daily play hits L100 in roughly 6 months.

Sources of XP

SourceXP per actionNotes
Training (1h)25 × roll × locationMul × collectionMulRoll: 0.8–1.3. Independent of stats — same XP at L1 and L99.
Arena win60 × roll × ratingMulRoll: 0.85–1.15. Rating multiplier ranges 0.5× (much weaker opponent) to 1.5× (much stronger).
Arena loss60 × roll × consolationConsolation 0–0.4× depending on rating gap. No Bones on losses.
Pet (1× per UTC day)10Free, no cost.
Daily Login5 + 25 BonesAwarded on first action of a new UTC day.

Stamina

Stamina gates training and arena attacks.

  • Base cap: 10. +1 per Stamina skill point.
  • Regen: +1 per 30 minutes (48 per day at default).
  • Partial regen is preserved: spending stamina banks the whole ticks you've already accrued — your sub-30-min progress isn't reset. If you had 15 min until the next +1, you still have 15 min after a training/attack. (When you're at cap, the timer naturally resets on the next spend since no progress was being tracked.)
  • Stamina costs:
    • Training: 1 stamina per slot
    • Arena attack: 2 stamina per fight
    • Pet: free
    • Free Feed: free

Stamina Potions

ItemEffectPrice (Bones)
Stamina Potion+5 stamina (clamped to cap)50
Large Stamina PotionRefills to full cap200
Speed-up PotionInstantly completes 1 training slot100

Drops: every training has a 5% chance (forest) of dropping a potion. The drop pool is weighted 80% Stamina Potion, 20% Speed-up.


Training

Training is the core grind. Each slot runs for 1 hour, costs 1 stamina, and pays out XP, Bones, and a chance at potion + item drops.

Slots

Default cap is 3 concurrent slots per pup (admin-configurable). The slot grid resizes to match the cap. Lowering the cap doesn't cancel in-flight trainings — they finish on schedule and stay collectable, but you can't start new ones until you drop back below the cap.

Locations

Each slot picks a location that skews the reward profile:

LocationXPBonesPotion drop chance
Forest1.0×1.0×5%
Arena1.4×0.5×3%
Den0.7×0.7×12%

Forest is the default, balanced choice. Arena maximizes XP. Den maximizes potion drops.

Item Drops

Independent rolls, stack on top of potion drops:

  • Rare item: 0.1% per training
  • Uncommon item: 1% per training (only if no rare hit)

A single training can drop at most one item (rare wins over uncommon). The drop pool is the live catalog of dropOnly items.

Training Collections

Some special "training collections" (other NFT collections WolfSwap partners with) have an XP multiplier that stacks with location. Available collections show a per-token cooldown so you can't farm the same Wolfie endlessly.


Food, Starvation, and Death

Pups need to eat. If you stop feeding, they starve, then they die.

Food Items

Sold in the shop, stored in inventory, applied via the Feed action:

FoodFed buff durationPrice (Bones)
Kibble Bits4h1
Meat Stew12h5
Royal Feast24h10

While Fed, your pup has +10% HP and +10% Power in arena fights. Feeding stamps lastFedAt = now, resetting any starvation debuff.

Free Feed

Always-available Free Feed action — no inventory cost, 12h cooldown. It resets lastFedAt so your pup doesn't starve, but it does not apply the +10% Fed buff (only paid food sets feedExpiresAt). Free Feed exists so a player who's broke or AFK can keep their pup alive.

Starvation Debuff

If lastFedAt is more than 24h ago, every passing day adds a 10% debuff to every combat stat (HP, Power, Defense, Speed, Crit) — capped at 90% just before death. The debuff is shown as a "Starving −X%" pill on the Overview tab.

Stamina is never debuffed by starvation — so a starving player can always Free Feed.

Death

After 240h (10 days) without feeding, the pup dies. Every action except revive is blocked: no training, no arena, no shop, no allocations, no presets, nothing. The pup's combat stats are pinned at the 90% debuff visually but it doesn't matter — it can't fight anyway.

Revive

Two paths out:

  • Free reset — costs nothing. Pup walks back at level 1 with no XP, no skill allocations, and a fresh arena rating (1000). Active trainings are cancelled and the current-season leaderboard row is dropped. Items, equipped loadout (with current durability), Bones, and Shards are preserved. Use this when you'd rather start over than pay.
  • Pay Shards — full revive that keeps every progression bit (level, XP, allocations, arena rating, items). Cost is ceil(reviveCostKibble / kibblePerShard) Shards (~100 Shards at default rate). When your balance is short the death banner swaps the CTA for Get Shards, which opens the Convert / Exchange / Buy card without leaving the page.

Either way, the starvation timer resets (lastFedAt = now) so the pup walks out alive with a fresh 24h grace window.

Rename

Click the pencil icon next to your pup's name on the Overview tab. Costs 100 Shards by default (admin-tunable via nameChangeCostShardsOverride). Same rules as hatching: 1–20 characters, letters / numbers / spaces only, profanity blocklist. Saving the same name (post-trim) is a no-op and doesn't charge. If your Shards balance is short, the Save button flips to Get Shards so you can top up without leaving the dialog.


Bones Economy

Bones is the in-game currency. Per-pup (not per-account).

Earning Bones

SourceBones
Training (forest, per slot)5–15
Training (arena, per slot)~3–8
Training (den, per slot)~4–11
Arena win5–15 × CR multiplier
Daily login25
Season-end prizes50 / 250 / 1000 / 2500 (see Seasons)

Spending Bones

  • Food (1 / 5 / 10)
  • Potions (50 / 100 / 200 / 500)
  • Revive (no longer Bones — see Revive above)
  • DEX-points → Bones (admin-configured rate)

DEX Points → Bones Exchange

If you've traded on WolfSwap, you've earned DEX points. The shop has an exchange to convert them into Bones at a configurable rate (default: 50 DEX points per 1 Bone), with a per-pup daily cap (default: 5,000 DEX pts/day) so it can't be abused.

Disenchanting

Don't want an item? Disenchant it from the shop for 50% of its base price in Bones. Useful for burning duplicates or unwanted drops.


Items & Equipment

Items are gear you equip on your pup to boost combat stats. They drop from training (rare/uncommon) or are bought / awarded.

Slots (9 total)

  • Helmet, Armor, Pants, Boots — body slots
  • Weapon, Shield — hand slots
  • Amulet — neck slot
  • Ring 1, Ring 2 — two ring slots (both accept items of category ring)

Tiers

rusty → common → uncommon → rare → epic → legendary → set

Higher tiers have larger stat bonuses. Set items belong to a named set and unlock additional bonuses when worn together (e.g. 2-piece, 4-piece, full-set bonuses).

Equipment Bonuses

Each equipped item adds flat stat bonuses (HP / Power / Defense / Speed / Crit) and may also carry special effects on the Weapon/Shield slots:

  • Lifesteal (weapon) — heal a % of damage dealt
  • Thorns (shield) — reflect flat damage when hit
  • Burn (weapon) — apply a damage-over-time tick that lasts a few rounds

Level Requirements

Some items are admin-flagged with a minimum pup level. Buying is always allowed — you can stock up on gear before you've leveled into it — but the equip action is gated. Items below your level show a yellow "Lv X" pill; items at or above your level show a neutral pill. The picker dialog disables the Equip button on locked items and explains why.

When unset, an item has no level requirement (minLevel defaults to 0).

Hidden Items

Admins can flag any item as hidden. Hidden items are stripped at the catalog endpoint, so the frontend never sees them — they disappear from the shop, the training drop pool, the inventory panel, and the equipment picker in one go. They also stop contributing stats / effects in fights even if previously equipped: combat-stat derivation does its catalog lookup on the same filtered map, so a slot pointing at a hidden item resolves to nothing.

Set views still list the piece (so the set composition stays intact) but show "unavailable" instead of a buy button until the item is unhidden. Use this when you want to retire a piece of gear without leaving its stats live in the wild.

Durability

Every equipped item has durability that ticks down as you fight. Defending doesn't wear gear — only attacks roll for damage.

  • Per-attack roll: every equipped item rolls independently with a 20% chance to lose 1 durability when you attack in the arena (tunable by the admin).
  • Tier-scaled max durability: higher tiers tank more attacks before they break.
TierMax durability
Rusty20
Common25
Uncommon30
Rare40
Epic50
Legendary60
Set50

Average item lifespan at full gear is around 150 attacks per item — casual players barely notice, daily grinders burn through gear in roughly a week per piece.

Broken Items

When durability hits 0, the item is broken:

  • The item stays in your slot (it's not destroyed or auto-unequipped).
  • It contributes no stats, no set progress, and no special effects until repaired.
  • The slot icon dims + a "Broken" pill overlays it on the paper doll.
  • Set bonuses recalculate — a broken set piece doesn't count toward the 2/4-piece tiers.

Repair

Tap the small wrench icon on a damaged equipment slot (paper-doll or list view) to repair it back to full durability.

  • Cost: (max − current) × 5 Bones per missing point (admin-tunable).
  • A common item at 0 durability → 25 missing × 5 = 125 Bones to fully repair.
  • A legendary at 0 durability → 60 × 5 = 300 Bones.
  • The fight result dialog shows an "Equipment damage" section listing exactly which items took hits that fight, so you know what to repair after a session.

Equipment Presets

Save up to 5 named loadouts ("Glass Cannon", "Tank", "Crit Build", etc.) and swap between them with one click. Presets reference items by id, so swapping doesn't require unequip/re-equip clicks.

Note: every owned copy of an item tracks its own durability. Unequipping a damaged item leaves it on the shelf at its current condition — re-equipping it later picks up exactly where it was. The inventory shows one row per copy so you can pick the freshest one when equipping (and disenchant the worst one when clearing junk).


The Shop

The shop has tabs for each item category:

  • Food — Kibble Bits, Meat Stew, Royal Feast
  • Potions — Stamina Small/Large, Speed-up, Respec Scroll
  • Buff Potions — 24h stat boosters (+5% to HP / Power / Defense / Speed; +5 percentage points to Crit, capped at 50; Endurance Brew makes Stamina regen 50% faster, 1 per 20 min instead of 30; Wisdom Brew gives +10% XP gain on every grant for 24h)
  • Equipment — flat catalog of items (uncommon and below; rares only drop from training)
  • DEX-Points Exchange — convert account DEX points into pup Bones

Buff potions stack with the Fed buff (multiplicative). Drinking a second buff while one is active just resets the timer — it doesn't stack the bonus.

Extras

The shop's Extras tab holds QoL services priced in Shards. Today there's one entry; more will land here as the game grows.

Auto-Feeder (7-day) — 300 Shards

Vacation insurance. Buying it sets a shield that lasts 7 days + 12h from purchase, during which:

  • The pup can't starve — combat-stat starvation debuff stays at 0%.
  • The pup can't die, regardless of whether you log in.
  • Buff foods still apply normally — eating a Royal Feast during the shield still gives the +10% Fed buff for 24h. The shield only short-circuits the starvation timer.

Buying again while still active stacks — the new expiry is (current shield end) + 7d12h, not (now) + 7d12h. Top up before a long trip.

When the shield ends, the pup gets a fresh 24h grace before the starvation debuff kicks in (no "snap to tier-7 starving" cliff).

The summary bar shows an Auto-fed chip with "shield ends in X" while it's active.

Gifting Shards

You can send Shards from your pup to any other pup. The entry point is the Send gift button in the shop's left rail, just below the Shards balance pill.

  1. Open the shop, click Send gift.
  2. Search by pup name (2+ characters) and pick a recipient from the list.
  3. Choose the amount (presets, ± buttons, or type it in; capped at your current balance).
  4. Confirm. The transfer is instant — shards leave your pup and land on the recipient's in the same step. No gas, no on-chain transaction.

Both sides see the gift in their activity feed: shards_gift_sent on the sender, shards_gift_received on the recipient. Either row carries the counterparty's pupId and name so the feed is self-contained.

Notes:

  • You can only gift Shards (not Bones, items, or buffs).
  • You can't gift to your own pup. You can gift to another pup on your own account (e.g. one of your alts) — the picker labels those rows Yours.
  • The recipient pup just needs to exist (be hatched). Dead pups can still receive — the gift waits in their balance until they revive.

Arena & PvP

The arena is where pups fight other players' pups for rating, XP, and Bones.

Attack Flow

  1. Pick an opponent from the leaderboard or your Rivals list.
  2. Pay 2 stamina.
  3. Combat resolves immediately (deterministic from a rolled timeline).
  4. You see a fight result dialog with the round-by-round timeline.

You can attack the same opponent at most once per hour (ATTACK_COOLDOWN_MS = 1h). You can't attack yourself, dead pups, or anyone outside ±200 rating from you.

Quick Fight

The Quick Fight button at the top of the Arena tab finds an opponent for you and runs the standard attack against them. Same 2-stamina cost, same per-defender 1-hour cooldown — it's a shortcut, not a power boost.

Matchmaking rules (server-side):

  1. Filter to alive pups within ±100 rating and ±5 levels of you, excluding yourself, anyone you've fought in the last hour, and dead pups.
  2. If that's empty, widen rating to ±200, then ±400.
  3. If it's still empty, widen level to ±10 as a last resort.
  4. Score remaining candidates by combined gap (level gap weighted ×20 vs rating gap), shortlist the closest 20, then pick one at random.
  5. If no candidate exists at all, you'll see "No fair matches right now — try again in a bit."

Combat Mechanics

  • First strike: the pup with higher Speed strikes first.
  • Extra strikes: Speed gap ≥ 5 grants the faster pup an extra strike every 2 rounds.
  • Dodge: target's Speed advantage gives 2% dodge per point, capped at 40%.
  • Block: target's Defense gives 1.5% block chance per point, capped at 30%, blocking halves damage.
  • Crit: striker's Crit% rolls per strike; on crit, damage is doubled.
  • Damage: (power − floor(defense / 2)) × variance, where variance is ±10%.
  • Max rounds: 30. If both pups are still alive at round 30, the higher-HP pup wins.

Rewards

  • Win: XP (60 × roll × ratingMul × levelGapMul) + Bones (5–15 × CR multiplier × levelGapMul)
  • Loss: small consolation XP if rating gap was meaningful (also scaled by levelGapMul), no Bones.
  • Defender: earns nothing, win or lose. Only the attacker (who paid stamina) gets paid. This prevents alt-account collusion.

The rating multiplier rewards punching up (1.5× for upsets) and softens losses (0.4× consolation when you punched up and lost).

Level-gap penalty. Picking on much lower-level pups pays out less. For each 2 levels the attacker is above the defender, all rewards (XP + Bones, win or loss) take a flat −10%, capped at −50%. Punching up (attacking higher-level pups) is unaffected.

Attacker − DefenderMultiplier
0–1 lvl×1.00
2–3 lvl×0.90
4–5 lvl×0.80
6–7 lvl×0.70
8–9 lvl×0.60
10+ lvl×0.50

Rating

Starts at 1000. Floor is 500 (you can't drop below). Rating resets every season.

Rating changes use a standard Elo formula with K-factor 24:

expectedAttacker = 1 / (1 + 10^((defenderRating − attackerRating) / 400))
attackerDelta    = round(24 × (score − expectedAttacker))   // score = 1 if won, 0 if lost
defenderDelta    = −attackerDelta

The bigger the gap, the smaller the underdog's loss (and the larger their win) — so punching way above your weight is genuinely cheap to try. Sample swings:

AttackerDefenderIf winsIf loses
10001000+12−12
10001200+18−6
12001000+6−18
8101320+23−1
1500800+1−23

Rivals (Following)

Follow up to 50 pups to track them in your Rivals list. Useful for grudge matches, watching strong opponents, or just keeping tabs on friends. Following doesn't notify the other player.

If a followed pup is reset and re-hatched, the follow stays attached to the same Wolfie NFT — when the new pup hatches, your Rivals list shows it again. If they're reset and not re-hatched, the row appears in a "Pup deleted" section so you can unfollow.


Seasons & Prizes

The arena runs in seasons. Each season has its own leaderboard, rating reset, and prize payout. Admins advance seasons manually (no auto-timer) so prize pools and timing stay aligned with WolfSwap events.

Season-End Prizes

When a season advances, every leaderboard row gets finalized in place with a final rank, prize Bones, and badge:

RankBonesBadge
#1 Champion2,500champion
#2–101,000top10
#11–100250top100
#101+50

The leaderboard then resets — fresh ratings of 1000 across the board, fresh win/loss records. Past seasons stay readable: a dropdown on the Leaderboard lets you browse historical results, and the preview dialog shows a "Past season" badge with the prize earned.


Daily Routine

A "perfect-play" day looks roughly like:

  1. Log in (collect 25 Bones + 5 XP daily-login bonus).
  2. Pet your pup (10 XP, free, once per UTC day).
  3. Feed with a Royal Feast (24h Fed buff, +10% HP/Power in arena).
  4. Start 3 trainings (3 stamina, runs for 1h).
  5. Come back hourly — collect, restart. Or batch: collect all → restart all.
  6. Arena attacks with leftover stamina (2 per attack, target same-rating-ish opponents).
  7. Aim to hit the daily XP cap (~2,160 XP/day) for fastest progression.

Reset

If you want to start over (rebuild your pup from scratch), the Reset action wipes everything tied to the pup:

  • Hard-deletes the pup doc — XP, level, allocations, gear, Bones, items, equipment presets are gone.
  • Inserts an audit row (level + total XP at reset) for the historical record.
  • Deletes all in-flight training rows.
  • Does NOT delete: past activity log, past fights, past-season leaderboard rows, follow rows pointing at you.

After reset, you can hatch a fresh pup on the same Wolfie or a different one. The pup-cap check passes because the pup doc is gone.

Reset is irreversible. There's a confirmation dialog asking you to type the pup's name to continue.


Got more questions? Drop them in the WolfSwap Discord or reach out on X. Common ones are answered in the FAQ at the top of this page.