Docs/Reference/Admin operations

Admin operations

Owner-controlled actions for metadata, royalties, capability flags, ownership transfer, and immutable configuration.

When to use#

Admin operations are for settings, not issuance authority.

Admin operations are signed or direct owner actions. They update owner-controlled configuration only: metadata, royalties, capability flags, royalty receiver, ownership transfer, and renounce. They do not change the immutable issuer that signs issuance and redemption.

Recipes#

SET_ISSUABLE

Open or close tokenization

Use before launch windows, campaign pauses, or incident response. Existing balances remain visible.

SET_REDEEMABLE

Open or close offramp

Use when fulfillment, inventory, fraud checks, or support readiness changes.

SET_TRANSFERABLE

Control movement

Use to choose whether customers can send rewards while the bucket is still live.

METADATA

Update presentation

Use contract URI or token URI overrides for wallet and marketplace display changes.

ROYALTIES

Configure revenue receiver

Use royalty bps and receiver settings before opening marketplace activity.

RENOUNCE

Freeze settings

Use only when the brand is ready to make owner-controlled settings immutable.

Safety#

  • Use a multisig or contract wallet for production owner control.
  • Transfer ownership only changes admin control; it does not transfer brand identity.
  • Renounce ownership freezes metadata, royalty, and capability settings. Issue/redeem can still work if issuable and redeemable were true.
  • Signed admin actions include the current adminEpoch, so old signatures stop working after ownership changes.
Admin action shapejson
{
  "owner": "0x1111111111111111111111111111111111111111",
  "adminEpoch": "0",
  "loyaltyId": "0x4242424242424242424242424242424242424242424242424242424242424242",
  "nonce": "0x7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a",
  "chainId": "8453",
  "verifyingContract": "0x4444444444444444444444444444444444444444",
  "deadline": "1790965800",
  "action": "SET_TRANSFERABLE",
  "tokenId": "0",
  "uri": "",
  "account": "0x0000000000000000000000000000000000000000",
  "royaltyBps": "0",
  "flag": false,
  "data": "0x"
}