Skip to main content

GotchipusFacet (ERC-721)

Standard NFT operations.
FunctionDescription
balanceOf(address)Number of Gotchipus owned by address
ownerOf(uint256)Owner of a specific token ID
transferFrom(from, to, tokenId)Transfer a Gotchipus
approve(to, tokenId)Approve transfer for a token
setApprovalForAll(operator, approved)Approve operator for all tokens
totalSupply()Total minted Gotchipus
tokenByIndex(index)Token ID by global index
tokenOfOwnerByIndex(owner, index)Token ID by owner index

MintFacet

Minting and summoning operations.
FunctionDescription
mint(uint256 amount)Mint Pharos NFTs (0.04 PROS each, max 30)
summonGotchipus(tokenId, name, collateral, ...)Awaken Pharos into Gotchipus

AttributesFacet

Interaction and stat queries.
FunctionDescription
pet(uint256 tokenId)Daily interaction (+10 all states, +10 XP)
setName(tokenId, name)Rename your Gotchipus
getAttributes(tokenId)Get effective attributes (base + wearables + sets)
getSoul(tokenId)Query soul balance and state
getLastPetTime(tokenId)When was the last pet interaction
getTokenName(tokenId)Get current name

DNAFacet

Identity and trait data.
FunctionDescription
tokenGeneSeed(tokenId)Get the identity seed data (seed, rarity, generation)
ruleVersion()Get current rule version

HooksFacet

Hook management.
FunctionDescription
getHooks(tokenId, eventType)List all Hooks for a given event

ERC6551Facet

Token-Bound Account operations.
FunctionDescription
account(tokenId)Get TBA address for a Gotchipus
executeAccount(tokenId, target, value, data)Execute a transaction via TBA

SecurityFacet

Session and security management.
FunctionDescription
createSession(tokenId, params)Create a time-limited delegation session
revokeSession(tokenId, sessionId)Immediately revoke an active session
setOption(tokenId, flag, enabled)Toggle security flags
setTransferLimit(tokenId, daily, perTx)Configure transfer limits
buildOptions(tokenId)Query current security configuration
isEnabled(tokenId, flag)Check if a security flag is active

SetBonusFacet

Wearable set management.
FunctionDescription
createWearableSet(params)Define a new wearable set (owner only)
updateWearableSet(setId, params)Modify an existing set
setWearableSetActive(setId, active)Enable/disable a set
getWearableSet(setId)Query set info (members, bonuses, effects)

GotchiWearableFacet

Wearable operations.
FunctionDescription
wearableBalanceOf(tokenId, wearableId)Check owned wearable count
equipWearables(tokenId, wearableIds)Equip wearables to a Gotchipus
getWearableInfo(wearableId)Full wearable data (stats, rarity, faction)
wearableUri(wearableId)Get wearable metadata URI

MetadataFacet

Token metadata and queries.
FunctionDescription
tokenURI(tokenId)Get metadata URI (Pharos or Gotchipus format)
ownedTokenInfo(owner)Get full data for all tokens owned by address
getGotchiTraitsIndex(tokenId)Visual trait indices for rendering
getGotchiOrPharosInfo(owner, status)Filter owned tokens by status

TimeFacet

Environmental mechanics.
FunctionDescription
getWeather(timezone)Query current weather for a timezone
updateWeather(timezone, weather)Update weather (owner only)

PaymasterFacet

Sponsored transaction support.
FunctionDescription
execute(userOp)Process a sponsored transaction
getNonce(tokenId)Get current nonce for a Gotchipus
addPaymaster(address)Register a paymaster (owner only)