Entitlements
Bundle the platform roles buyers receive into reusable packages and attach them to plans and donations.
An entitlement package is the set of platform roles a buyer receives while their access is active. Instead of wiring each plan to a single role, you define what "VIP access" means once, then point plans and donations at it.
- A package has a name, an optional description, and a list of grants.
- A grant is one role on one connected platform, such as a Discord role or a Stoat role.
- An entitlement is the applied result: one member holding one grant on one platform. Arcalotl grants and revokes entitlements automatically as subscriptions and purchases move through their lifecycle.
Packages are reusable. Two plans can share one package, or each plan can have its own.

Create a package
- Open Entitlements in the dashboard.
- Select Create package.
- Name the package, for example VIP access.
- Add the roles the buyer should receive. Each connected platform server gets its own role selector, so a community with two Discord servers and a Stoat server can grant a role in all three from one package.
- Save the package.
Role selectors list the roles the bot can see on each connected server. If the bot cannot read a platform's roles, the selector falls back to a role ID input. A row left unset is simply skipped.
The bot can only grant roles below its own bot role. Keep the Arcalotl role above every role a package grants, on every connected server.
Attach a package to a plan or donation
The plan and donation editors have an Entitlement package field: pick one of the community's packages, or No entitlements for a plan that should not grant anything. The field previews exactly which roles the selected package grants, per platform.
- New buyers receive the package's grants as soon as their payment is confirmed.
- When access ends, the grants are revoked, unless the member still holds another active plan or purchase that grants the same role.
Plans created from Discord with /arcalotl plan create pick a single Discord
role. That still works: the role becomes the plan's access grant. Use the
dashboard when a plan should grant more than one role or span platforms.
Edit a package
Editing a package changes what current subscribers hold, not just future buyers. Before applying an edit that removes grants or affects active subscribers, the dashboard shows an impact preview:
- Which roles the edit adds, and to how many active subscribers.
- Which roles it removes, and from how many.
- How many members have no linked account on an affected platform yet. Those members receive the new grants automatically when they link their account.
Confirming the change reconciles access for everyone on the package. There is no separate sync step.
Archive a package
Archive packages you no longer use from the Entitlements page. A package that is still attached to a plan or donation cannot be archived; detach it first.
Multi-platform communities
When you connect a new platform, your existing packages do not grant anything there until you add grants for it. The connect dialog links straight to the Entitlements page when a package does not cover the new platform yet. Add a grant per package for the new server, and existing subscribers with linked accounts receive it on confirmation.
For developers
Entitlements are first-class in the public API:
GET /v1/members/{id}/entitlementslists what a member holds.GET /v1/entitlements/checkanswers "does this platform identity hold this tier" for gating access from a game server or external tool.- The
member.entitlement.grantedandmember.entitlement.revokedwebhook events fire when access is actually applied or removed.
See the API overview and Webhooks for details.