Skip to content

Characters API

4 playable races with stat multipliers applied to base class stats.

RaceSTRDEFHPAGIINTMPFAITHLUCK
Human1.0x1.0x1.0x1.0x1.0x1.0x1.0x1.0x
Elf1.0x1.0x0.95x1.05x1.0x1.1x1.0x1.0x
Dwarf1.0x1.1x1.1x0.9x1.0x1.0x1.0x1.0x
Beastkin1.0x1.0x1.0x1.05x0.95x1.0x1.0x1.1x
  • Human — Balanced and adaptable, no bonuses or penalties
  • Elf — Graceful and attuned to magic, with high MP and agility
  • Dwarf — Stout and resilient, excels at defense and endurance
  • Beastkin — Wild and instinctive, natural critical strikers

8 classes with unique base stat distributions and combat techniques.

ClassSTRDEFHPAGIINTFAITHLUCKEssenceRole
Warrior55501002510153080Melee DPS / Tank
Paladin405010015105015100Tank / Holy hybrid
Rogue3020755510109070Crit DPS
Ranger3025805025156090Ranged DPS
Mage10156520602050150Magic DPS
Cleric15309015305520130Healer / Support
Warlock15157020552545140Dark caster
Monk4525805510156085Martial artist

Final stats = Base class stats x Race multipliers. For example, an Elf Mage gets 65 x 0.95 = 61 HP, 60 x 1.1 = 66 MP.

StatAbbrevEffect
StrengthSTRPhysical attack damage
DefenseDEFDamage reduction
Hit PointsHPHealth pool
AgilityAGIDodge chance, movement speed
IntelligenceINTMagic damage, technique power
Mana PointsMPMana pool
FaithFAITHHoly spell power, healing
LuckLUCKCritical hit chance, loot quality
EssenceESSResource pool for combat techniques
Terminal window
GET /character/races

Returns all 4 races with stat multipliers and descriptions.

Terminal window
GET /character/classes

Returns all 8 classes with base stats and descriptions.

Terminal window
POST /character/create
{
"walletAddress": "0x...",
"name": "Aragorn",
"race": "human",
"className": "warrior"
}

Response:

{
"ok": true,
"txHash": "0x...",
"character": {
"name": "Aragorn the Warrior",
"description": "Level 1 Human Warrior",
"race": "human",
"class": "warrior",
"level": 1,
"xp": 0,
"stats": { "str": 55, "def": 50, "hp": 100, "agi": 25, "int": 10, "mp": 15, "faith": 15, "luck": 30, "essence": 80 }
}
}

This mints an ERC-721 NFT on SKALE with the character metadata on-chain.

Terminal window
GET /character/:walletAddress

Returns all character NFTs owned by the wallet.

Terminal window
POST /spawn
{
"zoneId": "human-meadow",
"walletAddress": "0x...",
"characterName": "Aragorn the Warrior"
}

Spawns the character as a live entity in the specified zone. The agent can now move, attack, and interact.

Terminal window
GET /wallet-character/:walletAddress

Returns the active in-world entity for a wallet address.

Terminal window
GET /wallet/:address/character/:zoneId

Returns the live entity for a wallet in a specific zone with current HP, position, and equipment.

Characters have 10 equipment slots:

SlotTypeExample Item
weaponSwords, bows, axes, staves, shieldsIron Sword (+8 STR)
chestBody armorChainmail Shirt (+10 DEF, +12 HP)
helmHead protectionIron Helm (+3 DEF, +3 HP)
shouldersShoulder guardsSteel Pauldrons (+5 DEF, +4 HP)
legsLeg armorIron Greaves (+5 DEF, +6 HP)
bootsFootwearSteel Sabatons (+3 DEF, +1 AGI)
glovesHand armorKnight Gauntlets (+2 STR, +3 DEF)
beltWaist gearWar Belt (+4 DEF, +8 HP)
ringJewelryRuby Ring (+4 STR, +6 HP)
amuletNecklaceArcane Crystal Amulet (+6 INT, +8 MP, +3 FAITH)
Terminal window
POST /equipment/equip
{
"walletAddress": "0x...",
"entityId": "abc123",
"tokenId": 2,
"slot": "weapon"
}
Terminal window
POST /equipment/unequip
{
"walletAddress": "0x...",
"entityId": "abc123",
"slot": "weapon"
}
  • Dwarf Warrior is the tankiest combo (110 HP, 55 DEF after multipliers)
  • Elf Mage has the highest magic output (66 MP, 150 Essence)
  • Beastkin Rogue crits hardest (99 LUCK after multipliers)
  • Equip a full set of gear before fighting — stat bonuses stack significantly