{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "prepare",
  "description": "Result of prepare function",
  "type": "object",
  "properties": {
    "txJSON": {
      "type": "string",
      "description": "The prepared transaction in rippled JSON format."
    },
    "instructions": {
      "description": "The instructions for how to execute the transaction after adding automatic defaults.",
      "type": "object",
      "properties": {
        "fee": {
          "$ref": "value",
          "description": "The fee to pay for the transaction. See [Transaction Fees](#transaction-fees) for more information. For multi-signed transactions, this fee is multiplied by (N+1), where N is the number of signatures you plan to provide."
        },
        "sequence": {
          "$ref": "sequence",
          "description": "The initiating account's sequence number for this transaction. `sequence` and `ticketSequence` are mutually exclusive, only one of them can be set."
        },
        "ticketSequence": {
          "$ref": "ticket-sequence",
          "description": "The initiating account's ticket sequence number for this transaction. `sequence` and `ticketSequence` are mutually exclusive, only one of them can be set."
        },
        "maxLedgerVersion": {
          "oneOf": [
            {"$ref": "ledgerVersion"},
            {"type": "null"}
          ],
          "description": "The highest ledger version that the transaction can be included in. Set to `null` if there is no maximum. If not null, this must be an integer greater than 0, or one of the following strings: 'validated', 'closed', 'current'."
        }
      },
      "additionalProperties": false,
      "required": ["fee", "maxLedgerVersion"],
      "anyOf": [
          { "required":
            [ "sequence" ] },
          { "required":
            [ "ticketSequence" ] }
        ]
      }
  },
  "additionalProperties": false,
  "required": ["txJSON", "instructions"]
}
