> For the complete documentation index, see [llms.txt](https://hashly.gitbook.io/hashly-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hashly.gitbook.io/hashly-docs/for-event-organizers/host-badges.md).

# Attendance Badges for Hosts

Hosts can record who attended a meetup and give every attendee an **attendance badge**. Attendance is taken with a rotating QR code, a 20-minute link or by adding wallets by hand, and every check-in is written to Hedera.

***

## 🛠️ Getting Set Up

1. 📅 **Start from a meetup.** Badges are only available for events of the Meetup type, which includes X Spaces. [Submit one](/hashly-docs/for-event-organizers/submit-event.md) if it isn't on the calendar yet.
2. 📩 **Ask to issue badges.** On the event's page, find the **Attendance Badge** panel and press **Request to issue**. You can add a message of up to 500 characters. This is separate from who hosts the event.
3. ✅ **Wait for approval.** An admin reviews the request. Each event can have one approved badge issuer.
4. 🎖️ **Your badge is created.** Once approved, it appears in your [Profile](https://hash-ly.com/profile) with your hosted badges, and the event's **Attendance Badge** panel shows you a **Manage badge** button. Its title, description and image are those of the event, so to change them you edit the event.
5. 🚪 **Open attendance.** On the badge page (from **Manage badge** or your Profile), press **Open attendance** to reach the check-in dashboard at `hash-ly.com/checkin/<event>`.

> 💡 The check-in dashboard only opens for the approved issuer and admins.

***

## 📱 Taking Attendance

The dashboard has three tabs. Use any mix of them: each wallet can check in once per event, whichever way it arrives.

### ✏️ Manual

Type an attendee's account ID (`0.0.xxxxx`) and press **Add attendee**. Useful for people who couldn't scan the QR code or open the link.

### 🔲 QR

The dashboard shows a large QR code that **changes every 60 seconds**, with a countdown. Put it on a screen or projector at the venue.

1. 📷 Attendees scan it with their phone camera.
2. 🔗 It opens the event's check-in page with the current code already filled in.
3. 👛 They connect their wallet and press **Confirm Attendance**.

> ⏰ A code is accepted during its own minute and the one after, so a photo of the screen can't be reused later. If it has expired, attendees see **Code Expired** and scan again.

### 🔗 Link

Press **Generate attendance link** to create a URL that works for **20 minutes**. Share it in a chat, a voice call or an X Space. Attendees open it, connect their wallet and confirm. **Regenerate** revokes the current link and starts a new 20-minute window, and only one link is active at a time.

***

## ⛓️ On-Chain Records

Every check-in, whether by QR, link or manual entry, is written to the attendance topic [`0.0.10300837`](https://hashscan.io/mainnet/topic/0.0.10300837) with the wallet, the event and a timestamp. After checking in, the attendee sees the record's sequence number (**On-chain record: HCS #…**). The format is in [On-Chain Records (HCS)](/hashly-docs/technical/hcs-voting.md).

The dashboard's attendee list shows everyone who has checked in so far.

***

## 🔒 End the Event

When attendance is complete, press **End event** and confirm.

* 🎖️ Every wallet on the list **earns the badge**.
* 🚫 No more check-ins are accepted, by manual entry, QR or link.
* 🔗 Any active link stops working.
* ⚠️ **It can't be undone.**

After that the dashboard is read-only and shows the final attendee list.

***

## 💎 Why Badges Matter to Attendees

* ⚡ Each badge adds **100 XP** to the attendee's total, in the season when the host **ended the event**.
* 🎯 Badges count toward the season missions **Badge Holder** (1 badge, **300 XP**) and **Badge Collector** (3 badges, **1,000 XP**).
* 🔗 Each check-in is a public record on Hedera that anyone can verify.

Badges are recorded by Hashly when you end the event: nothing is minted or sent to attendees' wallets, and they don't need to associate any token. Older badges were minted as NFTs and airdropped; those still count for the wallets that hold them. More in [Attendance Badges](/hashly-docs/community/badges.md).

***

## 💡 Tips

* 🖥️ **In person:** keep the QR tab on a big screen for the whole event.
* 🎙️ **Online or on X Spaces:** use the 20-minute link and post it while people are in the room.
* ✏️ **Someone couldn't check in?** Add their account ID by hand before you end the event.
* ⏳ **Don't end the event early.** Once it's closed, nobody else can be added.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hashly.gitbook.io/hashly-docs/for-event-organizers/host-badges.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
