> For the complete documentation index, see [llms.txt](https://bitclub.gitbook.io/bitclub-protocol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bitclub.gitbook.io/bitclub-protocol/introducing-.bitclub-a-new-era-of-decentralized-clubs-on-the-bitcoin-network.md).

# Introducing \`#.bitclub\`: A New Era of Decentralized Clubs on the Bitcoin Network

Welcome to the `#.bitclub` protocol, a transformative innovation in the Bitcoin network that brings the concept of clubs and memberships to the blockchain. Leveraging the Ordinals protocol, `#.bitclub` offers a decentralized, text-based solution to create and join clubs by inscribing membership onto a single satoshi. This document serves as a comprehensive guide to understanding and utilizing the `#.bitclub` protocol.

### Overview

At its core, `#.bitclub` is about community and ownership. It allows users to join an existing club or create their own in a decentralized manner. It's a protocol that provides a platform for users to form and join clubs within the Bitcoin network, opening up a world of possibilities for community building and engagement.

### Key Features

#### Free and Fair Mint

The `#.bitclub` protocol operates on a "first-is-first" principle, similar to the Ordinals protocol. Users can join the main club simply by publishing a transaction with their desired member number, followed by the `.bitclub` suffix. The member number is a key element here; it serves as a unique identifier for each member within the club. However, there's a critical rule: the member number must be less than or equal to the block height at the time of publishing to be considered valid. This ensures a fair distribution of membership.

#### Club Creation

Creating a club with `#.bitclub` is a simple and straightforward process. Users can define their club using a JSON format that resembles a BRC-20 deploy, including the following fields:

* The club's name
* The `.clubName` suffix, a unique identifier for the club
* A brief description of the club
* A cap on membership, which sets the maximum number of members the club can have
* Optional rarity levels for the membership ordinals

This gives club creators the flexibility to design and structure their club as they see fit.

#### Rarity Levels

One of the exciting aspects of the `#.bitclub` protocol is the concept of rarity levels. Each membership number is associated with a rarity level based on the block number. These rarity levels add a dimension of scarcity and uniqueness to the memberships. The rarity levels and their corresponding block ranges are as follows:

* Exotic: blocks 1 to 8000
* Legendary: blocks 8001 to 40000
* Epic: blocks 40001 to 160000
* Rare: blocks 160001 to 360000
* Uncommon: blocks 360001 to 800000
* Common: blocks 800001 onwards

#### Membership Transfer

The `#.bitclub` protocol allows for the free transfer of memberships. A member can transfer their membership to another user or sell it on an open market. There are no restrictions on who can receive a transferred membership, offering a high degree of flexibility and freedom for members.

### Detailed Guide

#### How to Join `#.bitclub`

Joining the main club is as easy as publishing a transaction. Here are the steps you need to follow:

1. Decide on your desired member number. Remember, this should be less than or equal to the block height at the time of publishing.
2. Publish a transaction with your member number followed by the `.bitclub` suffix. For example, if you chose 1234 as your member number, you would publish `1234.bitclub`.

Congratulations, you're now a member of the main club!

#### How to Create a Club

The `#.bitclub` protocol offers the exciting opportunity to create your own club. Here's how to do it:

1. Start by defining your club in a JSON format. Here's an example of what this might look like:

```json
{
  "p": "bitclub",
  "name": "Your Club Name",
  "suffix": ".yourClubName", //no spaces in the suffix
  "description": "A brief description of your club",
  "cap": "The maximum number of members in your club",
  "rarityLevels": {
    "Exotic": 1000,
    "Legendary": 3000,
    "Epic": 6000,
    "Rare": 15000,
    "Uncommon": 25000,
    "Common": 50000
  }
}
```

2. Make sure your rarity totals add up to the max cap.
   1. If no cap is assigned, the cap will be assumed to be  the number of blocks in existence.&#x20;
   2. If no rarity is assigned the same rarity as described for .bitclub should apply.&#x20;
3. Publish a transaction with this JSON object.

You've just created your own club!

#### How to Join a Custom Club

Joining a custom club is similar to joining the main club. Here's how:

1. Decide on your desired member number. As with the main club, this should be less than or equal to the block height at the time of publishing.
2. Publish a transaction with your member number followed by the club's suffix. For example, if you wanted to join "Your Club Name" as member number 1234, you would publish `1234.yourClubName`.

Welcome to your new club!

#### How to Transfer Membership

If you wish to transfer your membership toanother user or sell it on an open market, you can do so freely without any restrictions on the recipient. Here's how:

1. Decide who you want to transfer your membership to. This can be another user's address if you're transferring it, or the buyer's address if you're selling your membership.
2. Publish a transaction with the new owner's address and your membership number.

The new owner will then have the membership in their possession, and they can utilize it or transfer it just like any other member.

### Conclusion

The `#.bitclub` protocol provides a dynamic, decentralized environment for club memberships on the Bitcoin network. It offers a unique way to participate in clubs and communities, with the ability to transfer memberships and establish clubs with customized rules and structures. Whether you're interested in joining a club or creating your own, `#.bitclub` provides the tools and platform to make it happen.

Welcome to the `#.bitclub` community. We can't wait to see the clubs you'll join and the communities you'll build.
