Tokens
Tokens are placeholders that can be used in the Page Editor HTML + CSS component, in the Alert Editor, and in the Overlay Editor for text, HTML, and widgets.
Syntax
Tokens use double curly braces:
{{creator.name}}
Examples:
{{creator.name}}{{support.amount}}{{goal.main.title}}{{goal.by_name.new-microphone.progress_percent}}{{stream.latest_tipper}}{{stream.latest_tippers.items}}{{checkout.url}}{{checkout.button:Support now}}
Creator
| Token | Description |
|---|---|
{{creator.name}} | Creator name. |
{{creator.display_name}} | Creator display name. |
{{creator.avatar}} | Creator avatar. |
{{creator.link_json}} | All active links as a JSON array. |
{{creator.link.website}} | Website link. |
{{creator.link.youtube}} | YouTube link. |
{{creator.link.<platformKey-or-label-slug>}} | Link by platform key or label slug. |
{{creator.links.full}} | All active links as a renderable list. |
{{creator.link.youtube.name}} | Name of the YouTube link. |
{{creator.link.youtube.icon}} | Icon of the YouTube link. |
{{creator.link.youtube.url}} | URL of the YouTube link. |
{{creator.link.youtube.full}} | Fully rendered YouTube link. |
Creator Link Tokens
Creator Link tokens access active Creator Links from Creator Links. The part after creator.link. is not one fixed token. It is a key.
Format:
{{creator.link.<linkname>}}
<linkname> can be the platformKey or the link label slug. KALYIX normalizes the value as a slug, using lowercase letters and - instead of spaces.
Examples:
| Creator Link | Possible Token | Result |
|---|---|---|
Platform key website | {{creator.link.website}} | URL of the website link. |
Platform key youtube | {{creator.link.youtube}} | URL of the YouTube link. |
Label YouTube Shorts | {{creator.link.youtube-shorts}} | URL of the link with that label. |
Label Amazon Wishlist | {{creator.link.amazon-wishlist}} | URL of the link with that label. |
Custom link key my-shop | {{creator.link.my-shop}} | URL of the custom link. |
If multiple active links produce the same key or label slug, the first matching active link is used.
Append a field to the link key for details:
{{creator.link.<linkname>.<field>}}
Available fields:
| Field | Example | Result |
|---|---|---|
name | {{creator.link.youtube.name}} | Display name of the link. |
icon | {{creator.link.youtube.icon}} | Icon key of the link. In HTML, this becomes an icon placeholder. |
url | {{creator.link.youtube.url}} | URL of the link. |
full | {{creator.link.youtube.full}} | Icon plus name. In HTML, the icon is prepared for rendering. |
{{creator.link_json}} contains all active links as a JSON array:
[{ "name", "icon", "iconSource", "url" }]
{{creator.links.full}} returns all active links as a list. In HTML this becomes a renderable link list; in text it returns a compact text fallback.
Support
| Token | Description |
|---|---|
{{support.username}} | Name of the supporter. |
{{support.amount}} | Support amount. |
{{support.message}} | Message from the supporter. |
{{support.interval}} | Support interval. |
Goals
Main Goal
| Token | Description |
|---|---|
{{goal.main.title}} | Main goal title. |
{{goal.main.name}} | Main goal name. |
{{goal.main.current_amount}} | Current amount of the main goal. |
{{goal.main.target_amount}} | Target amount of the main goal. |
{{goal.main.progress_percent}} | Main goal progress in percent. |
Goal by Name
Format:
{{goal.by_name.<slug>.<field>}}
Example:
- Goal title:
New Microphone - Slug:
new-microphone - Token:
{{goal.by_name.new-microphone.progress_percent}}
Fields match goal.main.*:
titlenamecurrent_amounttarget_amountprogress_percent
Public Overlay Tokens
Overlay tokens are intended for public overlays. KALYIX stores the public overlay URL and prepares the final OBS output.
Current behavior:
| Token Group | In Public Overlays |
|---|---|
| Creator | Filled from your Tip profile. |
| Goals | Filled from your Tip goals. |
| Latest Tippers / Top Tipper | Filled from paid tips. |
| Stream Messages | Stays empty until a stream source is connected. |
Stream and Tipper Lists
| Token | Description |
|---|---|
{{stream.latest_tipper}} | Name of the latest supporter. |
{{stream.latest_tippers.count}} | Default hint for the count in latest-tipper lists. The component makes the final decision. |
{{stream.latest_tippers.items}} | List of latest supporters as structured data. |
{{stream.top_tipper.day}} | Top supporter of the current day. |
{{stream.top_tipper.week}} | Top supporter of the current week. |
{{stream.top_tipper.month}} | Top supporter of the current month. |
{{stream.last_message}} | Latest stream or chat message when a source exists. |
{{stream.last_message.author}} | Author name of the latest stream or chat message. |
stream.latest_tippers.items is intended for list components:
[
{ "name": "Herbert", "amount": "5,00 EUR", "message": "GG", "interval": "one_time", "createdAt": "2026-06-01T16:00:00.000Z" },
{ "name": "Lisa", "amount": "10,00 EUR", "message": "", "interval": "one_time", "createdAt": "2026-06-01T16:05:00.000Z" }
]
The count belongs to the component, not to the token name. Do not use dynamic tokens such as latest_tipper.amount.{count}. In the Overlay Editor, set the Count value on the Latest Tippers component instead.
Latest-tipper lists use paid tips and are recalculated when you save the overlay.
Overlay Goal Tokens
The Goal component uses the same goal tokens as pages and alerts:
| Token | Description |
|---|---|
{{goal.main.title}} | Main goal title. |
{{goal.main.current_amount}} | Current amount. |
{{goal.main.target_amount}} | Target amount. |
{{goal.main.progress_percent}} | Progress as a percentage, for example 42%. |
The progress bar in the Overlay Editor calculates its bar width from these values. In the component, you can also choose whether amount from/to or percent should be shown.
Public Overlay Rules
For public overlays:
- Preview values from the editor are examples only.
- Unknown or empty values should render as empty strings or safe fallbacks.
- Do not expose secret credentials, private emails, or raw Stripe, Twitch, or Discord data in public tokens.
Checkout
| Token | Description |
|---|---|
{{checkout.url}} | Checkout URL. |
{{checkout.button}} | Checkout button. |
{{checkout.button:Custom Label}} | Checkout button with a custom label. |
{{checkout.form}} | Checkout form. |
{{checkout.value:3}} | Sets the checkout amount to 3. |
{{checkout.value.custom}} | Allows a custom checkout amount. |
{{checkout.username}} | Field for supporter name. |
{{checkout.message}} | Field for message. |
Checkout Form Logic
For form-like checkout flows:
{{checkout.value:3}},{{checkout.value:5}}, …{{checkout.value.custom}}{{checkout.username}}{{checkout.message}}
These tokens only set the checkout draft. They do not open checkout by themselves.
The actual trigger is:
{{checkout.button}}
That means:
- Value, user, and message tokens set values.
checkout.buttonstarts the action.
No separate submit token is needed.
Notes:
- In HTML,
checkout.buttonis rendered as a safe<a>. - In text, a text fallback is returned.
Security
- HTML is sanitized.
- CSS is filtered.
- Unknown tokens remain unchanged.