Docs/Objects/Loyalty Token

Loyalty Token

The public shape of an indexed Loyalty Token and its customer-facing metadata.

LoyaltyToken#

FieldTypeRequiredMeaning
idstringyesIndexer ID used in Loyfin URLs.
chainIdstringyesChain ID. Production uses Base mainnet 8453; non-production uses Base Sepolia 84532.
loyaltyAddressaddressyesProgram contract address.
issueraddressyesImmutable brand identity and issue/redeem signer.
owneraddressyesCurrent admin for mutable settings. Zero address means settings are immutable.
loyaltyIdbytes32yesBrand-scoped program ID.
name / symbol / media / descriptionstringyesCustomer-facing program identity.
contractURI / tokenURIstringyesOptional metadata overrides. Empty string uses generated metadata.
royaltyBpsnumberyesMarketplace royalty basis points.
issuable / redeemable / transferablebooleanyesCurrent program capabilities controlled by the admin owner until ownership is renounced.
LoyaltyTokenjson
{
  "id": "7",
  "chainId": "8453",
  "loyaltyAddress": "0x4444444444444444444444444444444444444444",
  "issuer": "0x1111111111111111111111111111111111111111",
  "owner": "0x1111111111111111111111111111111111111111",
  "loyaltyId": "0x4242424242424242424242424242424242424242424242424242424242424242",
  "name": "Bloom Coffee Rewards",
  "symbol": "BLOOM",
  "media": "ipfs://bafy.../bloom.png",
  "description": "Rewards for Bloom Coffee customers.",
  "contractURI": "",
  "tokenURI": "",
  "royaltyBps": 200,
  "issuable": true,
  "redeemable": true,
  "transferable": true,
  "createdAt": "2026-06-20T10:15:00.000Z"
}

Metadata#

FieldTypeRequiredMeaning
loyaltyIdbytes32yesMust match the action loyaltyId.
namestringyesCustomer-facing program name. Max 96 UTF-8 bytes.
symbolstringyesShort program ticker or label. Max 24 UTF-8 bytes.
mediastringyesDefault artwork URL. Max 512 UTF-8 bytes.
descriptionstringoptionalProgram description. Empty string is allowed. Max 1024 UTF-8 bytes.
contractURIstringoptionalCollection-level metadata override. Empty string uses generated metadata. Max 512 UTF-8 bytes.
tokenURIstringoptionalToken metadata override. Empty string uses generated metadata. Max 512 UTF-8 bytes.