{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "income_events"
  ],
  "properties": {
    "income_events": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "account",
          "tag",
          "credit_msat",
          "debit_msat",
          "currency",
          "timestamp"
        ],
        "properties": {
          "account": {
            "type": "string",
            "description": "The account name. If the account is a channel, the channel_id"
          },
          "tag": {
            "type": "string",
            "description": "Type of income event"
          },
          "credit_msat": {
            "type": "msat",
            "description": "Amount earned (income)"
          },
          "debit_msat": {
            "type": "msat",
            "description": "Amount spent (expenses)"
          },
          "currency": {
            "type": "string",
            "description": "human-readable bech32 part for this coin type"
          },
          "timestamp": {
            "type": "u32",
            "description": "Timestamp this event was recorded by the node. For consolidated events such as onchain_fees, the most recent timestamp"
          },
          "description": {
            "type": "string",
            "description": "More information about this event. If a `invoice` type, typically the bolt11/bolt12 description"
          },
          "outpoint": {
            "type": "string",
            "description": "The txid:outnum for this event, if applicable"
          },
          "txid": {
            "type": "txid",
            "description": "The txid of the transaction that created this event, if applicable"
          },
          "payment_id": {
            "type": "hex",
            "description": "lightning payment identifier. For an htlc, this will be the preimage."
          }
        }
      }
    }
  }
}
