# Dry run a transaction order

Endpoint: POST /v1/domains/{domainId}/transactions/dry-run
Security: httpAuth

## Security:

  - `httpAuth` (unknown)
    http bearer

## Path parameters:

  - `domainId` (string, required)
    Unique identifier for the domain.

## Request fields (application/json):

  - `accountId` (string, required)

  - `ledgerId` (string)

  - `parameters` (any, required)

  - `parameters.operation` (any, required)

  - `parameters.operation.destination` (any, required)

  - `parameters.operation.destination.accountId` (string, required)

  - `parameters.operation.destination.type` (string, required)
    Enum: "Account", "Address", "Endpoint"

  - `parameters.operation.destination.address` (string, required)

  - `parameters.operation.destination.endpointId` (string, required)

  - `parameters.operation.amount` (string, required)
    This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `parameters.operation.type` (string, required)
    Enum: "Payment"

  - `parameters.note` (string)

  - `parameters.feeStrategy` (any, required)

  - `parameters.feeStrategy.priority` (string, required)
    Enum: "High", "Medium", "Low"

  - `parameters.feeStrategy.type` (string, required)
    Enum: "Priority"

  - `parameters.maximumFee` (string)
    This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `parameters.type` (string, required)
    Enum: "Algorand", "Bitcoin", "BitcoinRedirect", "Cardano", "Ethereum", "Hedera", "Solana", "Stellar", "Substrate", "Tezos", "XRPL"

  - `parameters.outputs` (array, required)

  - `parameters.outputs.amount` (string, required)
    This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `parameters.outputs.paysFee` (boolean)

  - `parameters.resourceStrategy` (any)

  - `parameters.resourceStrategy.transactionOrderId` (string, required)

  - `parameters.resourceStrategy.reason` (string)

  - `parameters.resourceStrategy.type` (string, required)
    Enum: "OrderReplacement"

  - `parameters.transferIds` (array, required)

  - `parameters.amount` (string, required)
    This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `parameters.data` (string)

  - `parameters.memo` (string)
    String encoded using UTF-8, up to 100-bytes long

  - `parameters.memos` (array, required)

  - `parameters.memo` (any)

  - `parameters.memo.value` (string, required)
    Hex encoded stellar hash.

  - `parameters.memo.type` (string, required)
    Enum: "Hash", "Id", "Return", "Text"

  - `parameters.memo.value` (string, required)
    This field is a unsigned 64bit integer that can store values in range from 0 to 18446744073709551615.It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `parameters.memo.value` (string, required)
    String encoded using either ASCII or UTF-8, up to 28-bytes long

  - `parameters.pallet` (any, required)

  - `parameters.pallet.method` (any, required)

  - `parameters.pallet.method.amount` (string, required)
    This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `parameters.pallet.method.type` (string, required)
    Enum: "TransferKeepAlive"

  - `parameters.pallet.type` (string, required)
    Enum: "Balances", "Staking"

  - `parameters.destination` (any)

  - `parameters.sourceTag` (integer)

  - `parameters.destinationTag` (integer)

## Response 200 fields (application/json):

  - `result` (any, required)

  - `result.hint` (string, required)
    Enum: "AccountAlreadyActivatedOnLedger", "AccountNotReadyOnLedger", "BroadcastExpired", "CurrentlyFeesTooLarge", "CurrentlyFeesTooSmall", "CurrentlyFundsTooFragmented", "CurrentlyNotEnoughFunds", "CurrentlyUnusableDestination", "InternalError", "InvalidAccountStateOnLedger", "InvalidAmount", "InvalidContractParameters", "InvalidDestination", "InvalidUserPayload", "LockedDestination", "OnLedgerFailure", "ReplacementTransactionFeesTooLow", "TransactionEstimationFailure", "TransactionNotEligibleForReplacement", "TransactionRejected", "TransientIssue"

  - `result.reason` (string, required)

  - `result.type` (string, required)
    Enum: "Failure", "Success"

  - `estimate` (any, required)

  - `estimate.fee` (string, required)
    This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `estimate.type` (string, required)
    Enum: "Algorand", "Bitcoin", "Cardano", "Ethereum", "Failure", "Hedera", "Solana", "Stellar", "Substrate", "Tezos", "XRPL"

  - `estimate.vbytes` (string, required)
    This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `estimate.feeEstimationMargin` (string, required)
    This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `estimate.gas` (string, required)
    This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `estimate.defaultedToBlockGasLimit` (boolean, required)

  - `estimate.nodeErrorMessage` (string)

  - `estimate.reason` (string, required)

  - `estimate.tokenFees` (array)

  - `estimate.tokenFees.fee` (string, required)
    This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `estimate.tokenFees.tickerId` (string, required)

  - `estimate.tokenFees.paidByRecipient` (boolean, required)

  - `estimate.minimalFee` (string, required)
    This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

  - `estimate.minimumCostInDrops` (string, required)
    This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.

## Response 400:

  - `400` (unknown)
    Invalid dry run arguments (TransactionDryRunError)

## Response 400 fields (application/json):

  - `reason` (string, required)

  - `message` (string)

## Response 401:

  - `401` (unknown)
    One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)

## Response 401 fields (application/json):

  - `reason` (string, required)

  - `message` (string)

## Response 404:

  - `404` (unknown)
    Entity or Domain not found (EntityNotFoundError)

## Response 404 fields (application/json):

  - `reason` (string, required)

  - `message` (string)

## Response 504:

  - `504` (unknown)
    Remote service timeout (RemoteServiceTimeout)

## Response 504 fields (application/json):

  - `reason` (string, required)

  - `message` (string)

