Docs/Protocol reference/Brands
Brands
How brands define program identity, sign reward actions, configure controls, and receive revenue share.
Responsibilities#
Brands define the promise behind every reward.
- Choose the program identity and artwork customers will recognize.
- Sign issuances and redemptions from the brand issuer wallet or approved contract wallet.
- Reserve or deduct points in the brand account before publishing Add to wallet issuances.
- Credit matching points to the brand account only after finalized Add from wallet completion.
- Publish clear expiry, transfer, and marketplace policies.
Controls#
Brands can update the shared media and description, configure royalty settings, and change the royalty receiver through owner-signed admin actions. New programs have no pause controls. Signed admin actions include the current adminEpoch, which changes whenever admin ownership transfers or is renounced. Media is capped at 512 UTF-8 bytes, description at 1024, and opaque admin data at 2048. The issuer signs issue and redeem forever. transferOwnership changes admin control only; it does not transfer brand identity. Renouncing ownership freezes owner-controlled settings.
{
"owner": "0x1111111111111111111111111111111111111111",
"adminEpoch": "0",
"loyaltyId": "0x4242424242424242424242424242424242424242424242424242424242424242",
"nonce": "0x7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a",
"chainId": "8453",
"verifyingContract": "0x4444444444444444444444444444444444444444",
"deadline": "1790965800",
"action": "0x92047683286d424bd2a34389fd625b46a6fcb1105dceabb268711a59d329c225",
"value": "Updated program description",
"account": "0x0000000000000000000000000000000000000000",
"royaltyBps": "0",
"flag": false,
"data": "0x"
}