# tech.lenooby09.atbloons.transfer

> Published by [lenooby09.twinkers.online](https://lexicon.garden/identity/did:plc:xocoka6dmx74ciqskczoh6ci)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:xocoka6dmx74ciqskczoh6ci/tech.lenooby09.atbloons.transfer)
- [Documentation](https://lexicon.garden/lexicon/did:plc:xocoka6dmx74ciqskczoh6ci/tech.lenooby09.atbloons.transfer/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:xocoka6dmx74ciqskczoh6ci/tech.lenooby09.atbloons.transfer/examples)

## Definitions

### `tech.lenooby09.atbloons.transfer`

**Type**: `record`

Consumes finalized value outputs to transfer value and optionally return change to the sender.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `amount` | `string` | Yes |  |
| `change` | `string` | No |  |
| `inputs` | `array` | Yes |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `networkId` | `string` | Yes |  |
| `genesisHash` | `string` | Yes |  |
| `senderEpoch` | `ref` → `com.atproto.repo.strongRef` | Yes |  |
| `recipientDid` | `string` (did) | Yes |  |
| `recipientEpoch` | `ref` → `com.atproto.repo.strongRef` | Yes |  |
| `protocolVersion` | `string` | Yes |  |

### `tech.lenooby09.atbloons.transfer#outputRef`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `index` | `integer` | Yes |  |
| `source` | `string` | Yes |  |
| `sourceKind` | `string` | Yes |  |

## Raw Schema

```json
{
  "id": "tech.lenooby09.atbloons.transfer",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "networkId",
          "protocolVersion",
          "genesisHash",
          "createdAt",
          "inputs",
          "recipientDid",
          "amount",
          "senderEpoch",
          "recipientEpoch"
        ],
        "properties": {
          "amount": {
            "type": "string",
            "maxLength": 78,
            "minLength": 1
          },
          "change": {
            "type": "string",
            "maxLength": 78,
            "minLength": 1
          },
          "inputs": {
            "type": "array",
            "items": {
              "ref": "#outputRef",
              "type": "ref"
            },
            "maxLength": 1024,
            "minLength": 1
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "networkId": {
            "type": "string",
            "maxLength": 64,
            "minLength": 3
          },
          "genesisHash": {
            "type": "string",
            "maxLength": 64,
            "minLength": 64
          },
          "senderEpoch": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "recipientDid": {
            "type": "string",
            "format": "did"
          },
          "recipientEpoch": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "protocolVersion": {
            "type": "string",
            "maxLength": 64,
            "knownValues": [
              "v0"
            ]
          }
        }
      },
      "description": "Consumes finalized value outputs to transfer value and optionally return change to the sender."
    },
    "outputRef": {
      "type": "object",
      "required": [
        "sourceKind",
        "source",
        "index"
      ],
      "properties": {
        "index": {
          "type": "integer",
          "minimum": 0
        },
        "source": {
          "type": "string",
          "maxLength": 256,
          "minLength": 21
        },
        "sourceKind": {
          "type": "string",
          "maxLength": 64,
          "knownValues": [
            "GENESIS",
            "TRANSFER"
          ]
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
