baselaunchCreate

BaseLaunchHoldersDistributorFactory

Creates one holders distributor per holders-mode launch as a clone of a single implementation whose code cannot change, and holds the publisher key every distributor trusts to post reward epochs.

Creates one holders distributor per launch as an EIP-1167 clone of a fixed implementation deployed with this factory. Clones are not upgradeable, so a distributor's code is fixed for its whole life. The owner's only power is rotating publisher, the key allowed to post reward epochs on every distributor. A publisher can allocate a distributor's available() balance but can never reach an allocation that is already published and still claimable.

Part of the contract reference.

Deployed at

BaseLaunchHoldersDistributorFactory (2.1.0)0xB7464E790e2A3083FeF8a842d730a49242846ACA
BaseLaunchHoldersDistributorFactory (2.0)0xe161531B9296029De5f274892a4Dc4D945649224

Read functions (7)

FunctionWhat it does
feeEscrowfeeEscrow() view returns (address)selector 0xc4b7de97Anyone

The fee escrow distributors harvest creator fees from.

implementationimplementation() view returns (address)selector 0x5c60da1bAnyone

The code every distributor clone runs.

launchFactorylaunchFactory() view returns (address)selector 0x536dac9bAnyone

The launch factory every distributor binds against.

ownerowner() view returns (address)selector 0x8da5cb5bAnyone

Returns the address of the current owner.

Inherited from Ownable.

pendingOwnerpendingOwner() view returns (address)selector 0xe30c3978Anyone

Returns the address of the pending owner.

Inherited from Ownable2Step.

publisherpublisher() view returns (address)selector 0x8c72c54eAnyone

The key allowed to publish reward epochs, read live by every distributor.

renounceOwnershiprenounceOwnership() pureselector 0x715018a6Anyone

Permanently disabled, so the publisher key always stays rotatable.

Write functions (4)

FunctionWhat it does
acceptOwnershipacceptOwnership()selector 0x79ba5097Pending owner

The new owner accepts the ownership transfer.

Inherited from Ownable2Step.

createcreate(address creator) returns (address distributor)selector 0x9ed93318Anyone

Deploys a new distributor. Permissionless: a distributor only ever receives the fees of a launch that names it as recipient.

setPublishersetPublisher(address publisher_)selector 0xcab63661Owner

Rotates the epoch publisher for every distributor.

transferOwnershiptransferOwnership(address newOwner)selector 0xf2fde38bOwner

Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner. Setting newOwner to the zero address is allowed; this can be used to cancel an initiated ownership transfer.

Inherited from Ownable2Step.

Events (4)

EventWhat it means
DistributorCreatedDistributorCreated(address indexed distributor, address indexed creator)topic0 0xbefdb281bf53f234496ee0b37711bf32704eb91833f0c05e3020581720dea7be

A distributor clone was created; creator is recorded for attribution only.

Emitted by create

OwnershipTransferredOwnershipTransferred(address indexed previousOwner, address indexed newOwner)topic0 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0

Ownership moved to a new owner (at deployment, or when a pending owner accepted).

Emitted by acceptOwnership, constructor

OwnershipTransferStartedOwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)topic0 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700

The owner named a pending owner; ownership moves when that account accepts.

Emitted by transferOwnership

PublisherSetPublisherSet(address indexed publisher)topic0 0xc0166530abaec0a0e410fc382bffc2e81e6bfb689a714c74da47586f936d20fa

The epoch publisher for every distributor was set or rotated.

Emitted by constructor, setPublisher

Two launcher sets on Base

Addresses are listed for launcher 2.1.0, where new coins launch, and for launcher 2.0, which keeps serving the coins launched before the cutover. A coin stays on the set that launched it. The functions and events are the 2.1.0 contracts'; the 2.0 contracts are an earlier version of the same code and have no interface registry, so check a 2.0 contract's verified source on Basescan before relying on a detail listed here.

How the fees are split is on fees, what the owner can and cannot change is on security, and short answers are in the FAQ.

Meme coins are highly speculative and most lose their value. Nothing here is financial advice.

Last updated .