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

TokenDescription
{{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 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 LinkPossible TokenResult
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:

FieldExampleResult
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

TokenDescription
{{support.username}}Name of the supporter.
{{support.amount}}Support amount.
{{support.message}}Message from the supporter.
{{support.interval}}Support interval.

Goals

Main Goal

TokenDescription
{{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.*:

  • title
  • name
  • current_amount
  • target_amount
  • progress_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 GroupIn Public Overlays
CreatorFilled from your Tip profile.
GoalsFilled from your Tip goals.
Latest Tippers / Top TipperFilled from paid tips.
Stream MessagesStays empty until a stream source is connected.

Stream and Tipper Lists

TokenDescription
{{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:

TokenDescription
{{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

TokenDescription
{{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.button starts the action.

No separate submit token is needed.

Notes:

  • In HTML, checkout.button is rendered as a safe <a>.
  • In text, a text fallback is returned.

Security

  • HTML is sanitized.
  • CSS is filtered.
  • Unknown tokens remain unchanged.