# beauty.cybernetic.trustcow.transaction

> Published by [demoshop.bsky.social](https://lexicon.garden/identity/did:plc:hk2qov7tq6ouwelfkik22yuw)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:hk2qov7tq6ouwelfkik22yuw/beauty.cybernetic.trustcow.transaction)
- [Documentation](https://lexicon.garden/lexicon/did:plc:hk2qov7tq6ouwelfkik22yuw/beauty.cybernetic.trustcow.transaction/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:hk2qov7tq6ouwelfkik22yuw/beauty.cybernetic.trustcow.transaction/examples)

## Definitions

### `beauty.cybernetic.trustcow.transaction`

**Type**: `record`

A verified transaction between two ATProto identities that must be stored in both parties' PDS

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `amount` | `string` | No | Transaction amount (optional, in whatever currency applies) |
| `currency` | `string` | No | Currency code (optional, e.g. USD, EUR, BTC) |
| `createdAt` | `string` (datetime) | Yes | When the transaction occurred |
| `description` | `string` | No | Description of the service or product transacted |
| `transactionId` | `string` | Yes | Unique identifier for this transaction, must be identical in both parties' records |
| `serviceConsumer` | `string` | Yes | DID of the service consumer identity |
| `serviceProvider` | `string` | Yes | DID of the service provider identity |

## Raw Schema

```json
{
  "id": "beauty.cybernetic.trustcow.transaction",
  "defs": {
    "main": {
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "serviceProvider",
          "serviceConsumer",
          "transactionId",
          "createdAt"
        ],
        "properties": {
          "amount": {
            "type": "string",
            "description": "Transaction amount (optional, in whatever currency applies)"
          },
          "currency": {
            "type": "string",
            "maxLength": 10,
            "description": "Currency code (optional, e.g. USD, EUR, BTC)"
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When the transaction occurred"
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "Description of the service or product transacted"
          },
          "transactionId": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique identifier for this transaction, must be identical in both parties' records"
          },
          "serviceConsumer": {
            "type": "string",
            "description": "DID of the service consumer identity"
          },
          "serviceProvider": {
            "type": "string",
            "description": "DID of the service provider identity"
          }
        }
      },
      "description": "A verified transaction between two ATProto identities that must be stored in both parties' PDS"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
