Seed and Hook Permissions
Live
Creators choose the seed module at launch and can approve or revoke birth hooks after launch.
Integrations let an object birth use more than a plain wallet claim. A creator can use a seed module for custom randomness and can approve hooks for game, route, quest, frame, or any other action.
Seed module
The seed module is part of the collection's rule. It receives the ledger, owner, object id, owner index, source balance, interval, and caller-provided context.
function seedForBirth(
address ledger,
address owner,
uint256 objectId,
uint256 ownerIndex,
uint256 sourceBalance,
uint256 interval,
bytes calldata context
) external returns (uint256 seed, bytes32 birthPath);
Creators can use the default Mirage seed module or provide a custom module when the collection is created. The public app should show the seed module address because it affects object generation.