The Sellout Protocol is a decentralized platform designed to streamline the creation, ticketing, and management of shows, leveraging blockchain technology to ensure transparency, security, and efficiency. This document outlines the protocol's architecture, contract interactions, and the lifecycle of a show from proposal to payout.
The Sellout Protocol comprises several smart contracts that interact with each other to facilitate the creation and management of shows:
- ReferralModule: Manages referral credits and permissions for artists, organizers, and venues.
- ArtistRegistry: Registers artists and manages their information.
- OrganizerRegistry: Registers organizers and manages their information.
- VenueRegistry: Registers venues and manages their information.
- Show: Manages individual shows, including proposals, ticketing, and payouts.
- Ticket: Handles ticket issuance, transfers, and redemptions for shows.
- Venue: Manages venue-specific information and booking for shows.
+----------------+ +-------------------+ +------------------+
| | | | | |
| ReferralModule |<----+ ArtistRegistry |<----+ |
| | | | | |
+--------^-------+ +-------------------+ | |
| | |
| | Show |
+--------+-------+ +-------------------+ | |
| | | | | |
| VenueRegistry |<----+ OrganizerRegistry |<----+ |
| | | | +------------------+
+----------------+ +-------------------+ |
+--v---------+
| |
| Ticket |
| |
+--^---------+
|
+-------------------+ |
| |<----------------+
| Venue |
| |
+-------------------+
The Sellout Protocol reimagines the live event booking and management process, prioritizing transparency, artist and organizer empowerment, and dynamic audience engagement. This section outlines the granular steps involved in the lifecycle of a show, with a special focus on financial arrangements and automated payouts.
An organizer proposes a show by calling the proposeShow function in the Show contract. Key details include:
- Artists: Line-up for the show.
- Ticket Price Structure: Minimum and maximum ticket prices.
- Payout Splits: Predetermined splits for the organizer, artists, and venue.
- Sellout Threshold: A defined percentage of total capacity, triggering venue bidding.
function proposeShow(
string memory name,
string memory description,
address[] memory artists,
VenueTypes.Coordinates memory coordinates,
uint256 radius,
uint8 sellOutThreshold,
uint256 totalCapacity,
ShowTypes.TicketPrice memory ticketPrice,
uint256[] memory split
) external returns (bytes32 showId);
Tickets are sold through the Ticket contract. Until the sellout threshold is reached, ticket holders can refund their tickets, ensuring a dynamic engagement with the show's demand.
Once ticket sales hit the sellout threshold:
- The show's demand has been proven, increasing its market value.
- Venues start bidding or offering bribes to host the show, leveraging the Venue contract.
The organizer, in collaboration with artists, selects the venue offering the best deal, based on:
- Financial Offers: Higher payouts or bribes from venues.
- Facilities and Perks: Quality of venue services and additional benefits.
After the show, the Show contract automatically distributes funds according to the pre-set splits:
// Example of payout function that would be called after the show
function completeShow(bytes32 showId) external;
- Protocol Fee: A small percentage is allocated to the Sellout Protocol as a platform fee.
- Payouts: The remaining funds are split between the organizer, artists, and venue as previously agreed.
- Empowerment: Artists and organizers have more control and bargaining power.
- Transparency: Financial arrangements are transparent and enforced through smart contracts.
- Flexibility: Ticket refund options up until the sellout threshold maintain audience engagement.
- Automation: Payouts are automatically executed, reducing manual processing and errors.