# equipment.rpg.give

> Published by [rpg.actor](https://lexicon.garden/identity/did:plc:kwgllf365cwmxbnxitx4pjdj)

✓ This is the authoritative definition for this NSID.

## Description

A provider's attestation that an item was given to a player. Lives on the provider's PDS.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:kwgllf365cwmxbnxitx4pjdj/equipment.rpg.give)
- [Documentation](https://lexicon.garden/lexicon/did:plc:kwgllf365cwmxbnxitx4pjdj/equipment.rpg.give/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:kwgllf365cwmxbnxitx4pjdj/equipment.rpg.give/examples)

## Definitions

### `equipment.rpg.give`

**Type**: `record`

Records that a provider granted an item to a specific recipient. The asset blob is not stored here — only the CID for integrity verification. Each give record is one item to one recipient.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `item` | `string` | Yes | Unique item identifier (e.g. 'popcorn', 'theatre_shirt'). |
| `kind` | `string` | No | Item kind. 'layer' for sprite-generator wearables, 'inventory' for non-wearable items. Defaults to 'layer' if omitted. |
| `stats` | `object` | No | Provider-defined properties or metadata for the item. |
| `title` | `string` | Yes | Human-readable display name for the item. |
| `context` | `string` | No | Origin description — where and how the item was earned (e.g. 'Avonlea Theatre popcorn vendor'). |
| `givenAt` | `string` (datetime) | Yes | When this item was given. |
| `iconCid` | `string` | No | CID of the item's icon PNG, if distinct from the asset. |
| `assetCid` | `string` | No | CID of the canonical asset or icon PNG. Used to verify the player's copy is untampered. |
| `category` | `string` | No | Generator layer category for 'layer' items (e.g. 'tops', 'righthand'). Omit for 'inventory' items. |
| `recipient` | `string` (did) | Yes | DID of the player who received this item. |
| `description` | `string` | No | Flavour text or description of the item. |

## Examples

The following examples demonstrate valid data for this lexicon. [View all examples](https://lexicon.garden/lexicon/did:plc:kwgllf365cwmxbnxitx4pjdj/equipment.rpg.give/examples)

### Example 1 (`#main`)

**Description**: A provider granting a wearable shirt item to a player.

```json
{
  "item": "theatre_shirt",
  "kind": "layer",
  "$type": "equipment.rpg.give",
  "title": "Avonlea Theatre Shirt",
  "context": "Avonlea Theatre popcorn vendor",
  "givenAt": "2026-04-06T12:00:00.000Z",
  "iconCid": "bafkreig2xxrkjuph63yqwtrb5zwnqaokjdp5k4e6i3f7jhwycbkq4vmqm",
  "assetCid": "bafkreifubjx7llx5drevrsjrgskbodvg3feso4evwfwye2o3emp6hi4hdy",
  "category": "tops",
  "recipient": "did:plc:example123player",
  "description": "A cozy shirt earned by attending the Avonlea Theatre."
}
```

## Raw Schema

```json
{
  "id": "equipment.rpg.give",
  "defs": {
    "main": {
      "key": "any",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "recipient",
          "item",
          "title",
          "givenAt"
        ],
        "properties": {
          "item": {
            "type": "string",
            "maxLength": 50,
            "description": "Unique item identifier (e.g. 'popcorn', 'theatre_shirt')."
          },
          "kind": {
            "type": "string",
            "maxLength": 20,
            "description": "Item kind. 'layer' for sprite-generator wearables, 'inventory' for non-wearable items. Defaults to 'layer' if omitted."
          },
          "stats": {
            "type": "object",
            "description": "Provider-defined properties or metadata for the item."
          },
          "title": {
            "type": "string",
            "maxLength": 100,
            "description": "Human-readable display name for the item."
          },
          "context": {
            "type": "string",
            "maxLength": 200,
            "description": "Origin description — where and how the item was earned (e.g. 'Avonlea Theatre popcorn vendor')."
          },
          "givenAt": {
            "type": "string",
            "format": "datetime",
            "description": "When this item was given."
          },
          "iconCid": {
            "type": "string",
            "maxLength": 200,
            "description": "CID of the item's icon PNG, if distinct from the asset."
          },
          "assetCid": {
            "type": "string",
            "maxLength": 200,
            "description": "CID of the canonical asset or icon PNG. Used to verify the player's copy is untampered."
          },
          "category": {
            "type": "string",
            "maxLength": 30,
            "description": "Generator layer category for 'layer' items (e.g. 'tops', 'righthand'). Omit for 'inventory' items."
          },
          "recipient": {
            "type": "string",
            "format": "did",
            "description": "DID of the player who received this item."
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "Flavour text or description of the item."
          }
        }
      },
      "description": "Records that a provider granted an item to a specific recipient. The asset blob is not stored here — only the CID for integrity verification. Each give record is one item to one recipient."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A provider's attestation that an item was given to a player. Lives on the provider's PDS."
}
```
