> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nudj.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# Currency Labels

> Rename the points currency shown in the embeddable loyalty widget.

Use currency labels when a community needs its own member-facing name for points, such as "stars", "credits", or a branded programme currency.

The canonical community field is `widgetLanguageConfig.points`:

```json theme={null}
{
  "widgetLanguageConfig": {
    "points": {
      "name": "credit",
      "namePlural": "credits",
      "abbreviation": "CR"
    }
  }
}
```

`name` is the singular label, `namePlural` is the plural label, and `abbreviation` is the compact label used in space-constrained widget surfaces.

<Note>
  The canonical Zod schema is `WidgetLanguageConfigSchema` in
  [`packages/models/dto/community/model/widget-language-config-dto.model.ts`](https://github.com/Nudj-digital/monorepo/blob/main/packages/models/dto/community/model/widget-language-config-dto.model.ts).
</Note>

## Worked example: credits

A community can rename the default "points" currency to "credit" / "credits" with the abbreviation "CR".

Use `communities.update` with the community's MongoDB ObjectId:

```json theme={null}
{
  "operation": "update",
  "communityId": "685e76e02edaae2c4afa1db1",
  "widgetLanguageConfig": {
    "points": {
      "name": "credit",
      "namePlural": "credits",
      "abbreviation": "CR"
    }
  },
  "fields": ["widgetLanguageConfig"]
}
```

The same payload shape is accepted by the [Update Community Admin API](/api-reference/admin/post-communities-id) under the `widgetLanguageConfig` request field.

## Relationship to panel settings

The MCP `panel` tool exposes `pointsName`, `pointsNamePlural`, and `pointsAbbreviation` as convenient widget-label fields alongside visual point styling such as colour and icon.

For durable language configuration, prefer `communities.update` with `widgetLanguageConfig.points`. The widget applies `widgetLanguageConfig` text overrides after theme widget defaults, so the community-level language config wins if both are present.

## Verify the saved labels

Read the community back with `communities.get` and request the field explicitly:

```json theme={null}
{
  "operation": "get",
  "communityId": "685e76e02edaae2c4afa1db1",
  "fields": ["widgetLanguageConfig"]
}
```

You should see the stored labels under `widgetLanguageConfig.points`.
