---
title: "Dry run a transaction order"
method: POST
path: "/v1/domains/{domainId}/transactions/dry-run"
tags: ["Transactions"]
---

# Dry run a transaction order

`POST /v1/domains/{domainId}/transactions/dry-run`

## Path parameters

- `domainId` string, uuid, required

## Request body

- CoreDryRunTransactionParameters
  - `accountId` string, uuid, required
  - `ledgerId` string
  - `parameters` union, required
    - CoreTransactionOrderParametersAlgorand
      - `operation` CoreAlgorandOperation, required
        - `destination` union, required
          - CoreTransactionDestinationAccount
            - `accountId` string, uuid, required
            - `type` 'Account', required
          - CoreTransactionDestinationAddress
            - `address` string, required
            - `type` 'Address', required
          - CoreTransactionDestinationEndpoint
            - `endpointId` string, uuid, required
            - `type` 'Endpoint', required
        - `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.
        - `type` 'Payment', required
      - `note` string
      - `feeStrategy` CoreAlgorandFeeStrategy, required
        - `priority` 'High' | 'Medium' | 'Low', required
        - `type` 'Priority', required
      - `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.
      - `type` 'Algorand', required
    - CoreTransactionOrderParametersBitcoin
      - `outputs` CoreBitcoinOutputParameters[], required
        - `destination` union, required
          - CoreTransactionDestinationAccount
            - `accountId` string, uuid, required
            - `type` 'Account', required
          - CoreTransactionDestinationAddress
            - `address` string, required
            - `type` 'Address', required
          - CoreTransactionDestinationEndpoint
            - `endpointId` string, uuid, required
            - `type` 'Endpoint', required
        - `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.
        - `paysFee` boolean
      - `feeStrategy` union, required
        - CoreBitcoinFeeStrategyPriority
          - `priority` 'High' | 'Medium' | 'Low', required
          - `type` 'Priority', required
        - CoreBitcoinFeeStrategySpecifiedRate
          - `satoshiPerVbyte` string, required — This field is a large decimal and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.
          - `type` 'SpecifiedRate', required
      - `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.
      - `resourceStrategy` CoreBitcoinResourceStrategy
        - `transactionOrderId` string, uuid, required
        - `reason` string
        - `type` 'OrderReplacement', required
      - `addressForChange` 'GenerateNewAddress' | 'PrimaryAddress' — Override default change address strategy to set explicitly PrimaryAddress or GenerateNewAddress.
      - `type` 'Bitcoin', required
    - CoreTransactionOrderParametersBitcoinRedirect
      - `transferIds` string[], required
      - `outputs` CoreBitcoinOutputParameters[], required
        - `destination` union, required
          - CoreTransactionDestinationAccount
            - `accountId` string, uuid, required
            - `type` 'Account', required
          - CoreTransactionDestinationAddress
            - `address` string, required
            - `type` 'Address', required
          - CoreTransactionDestinationEndpoint
            - `endpointId` string, uuid, required
            - `type` 'Endpoint', required
        - `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.
        - `paysFee` boolean
      - `feeStrategy` union, required
        - CoreBitcoinFeeStrategyPriority
          - `priority` 'High' | 'Medium' | 'Low', required
          - `type` 'Priority', required
        - CoreBitcoinFeeStrategySpecifiedRate
          - `satoshiPerVbyte` string, required — This field is a large decimal and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.
          - `type` 'SpecifiedRate', required
      - `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.
      - `type` 'BitcoinRedirect', required
    - CoreTransactionOrderParametersCardano
      - `operation` union, required
        - CoreCardanoOperationDelegateRepresentative
          - `parameters` CoreDelegateRepresentativeParameters, required
            - `type` 'AlwaysAbstain', required
          - `type` 'DelegateRepresentative', required
        - CoreCardanoOperationDelegateStaking
          - `poolId` string, required — A valid Cardano pool id
          - `type` 'DelegateStaking', required
        - CoreCardanoOperationRegisterStaking
          - `type` 'RegisterStaking', required
        - CoreCardanoOperationTransfer
          - `outputs` CoreCardanoOutputParameters[], required
            - `destination` union, required
              - …
            - `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.
            - `paysFee` boolean
          - `type` 'Transfer', required
        - CoreCardanoOperationUnregisterStaking
          - `type` 'UnregisterStaking', required
        - CoreCardanoOperationWithdrawRewards
          - `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.
          - `type` 'WithdrawRewards', required
      - `feeStrategy` CoreCardanoFeeStrategy, required
        - `priority` 'High' | 'Medium' | 'Low', required
        - `type` 'Priority', required
      - `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.
      - `type` 'Cardano', required
    - CoreTransactionOrderParametersEthereum
      - `destination` union
        - CoreTransactionDestinationAccount
          - `accountId` string, uuid, required
          - `type` 'Account', required
        - CoreTransactionDestinationAddress
          - `address` string, required
          - `type` 'Address', required
        - CoreTransactionDestinationEndpoint
          - `endpointId` string, uuid, required
          - `type` 'Endpoint', required
      - `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.
      - `feeStrategy` union, required
        - CoreEthereumFeeStrategyPriority
          - `priority` 'High' | 'Medium' | 'Low', required
          - `type` 'Priority', required
        - CoreEthereumFeeStrategySpecifiedRate
          - `gasPrice` 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.
          - `type` 'SpecifiedRate', required
        - CoreEthereumFeeStrategySpecifiedRateEIP1559
          - `maxFeePerGas` 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.
          - `maxPriorityFeePerGas` 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.
          - `type` 'SpecifiedRateEIP1559', required
      - `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.
      - `data` string
      - `resourceStrategy` CoreEthereumResourceStrategy
        - `transactionOrderId` string, uuid, required
        - `reason` string
        - `type` 'OrderReplacement', required
      - `type` 'Ethereum', required
    - CoreTransactionOrderParametersHedera
      - `operation` union, required
        - CoreHederaOperationAccountUpdate
          - `maxAutomaticTokenAssociations` integer, required
          - `type` 'AccountUpdate', required
        - CoreHederaOperationTokenAssociate
          - `tokens` CoreTokenDestination[], required
            - union
              - …
          - `type` 'TokenAssociate', required
        - CoreHederaOperationTokenDissociate
          - `tokens` CoreTokenDestination[], required
            - union
              - …
          - `type` 'TokenDissociate', required
        - CoreHederaOperationTransfer
          - `outputs` CoreHederaTransferOutput[]
            - `destination` union, required
              - …
            - `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.
          - `tokenOutputs` CoreTokenOutput[]
            - union
              - …
          - `type` 'Transfer', required
      - `memo` string — String encoded using UTF-8, up to 100-bytes long
      - `feeStrategy` CoreHederaFeeStrategy, required
        - `priority` 'High' | 'Medium' | 'Low', required
        - `type` 'Priority', required
      - `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.
      - `type` 'Hedera', required
    - CoreTransactionOrderParametersSolana
      - `operation` union, required
        - CoreSolanaOperationBurn
          - `mintAccount` union, required
            - CoreSolanaMintAccountDestination
              - …
            - CoreSolanaMintAccountTicker
              - …
          - `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.
          - `type` 'Burn', required
        - CoreSolanaOperationCreateNonceAccount
          - `createOnAccount` string, uuid, required
          - `type` 'CreateNonceAccount', required
        - CoreSolanaOperationFundAtaAccount
          - `destination` union
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `mintAccount` union, required
            - CoreSolanaMintAccountDestination
              - …
            - CoreSolanaMintAccountTicker
              - …
          - `type` 'FundAtaAccount', required
        - CoreSolanaOperationInitializeMint
          - `mintAccount` string, uuid, required
          - `decimals` integer, required
          - `tokenType` 'SPL' | 'SPL2022', required
          - `type` 'InitializeMint', required
        - CoreSolanaOperationMintTo
          - `destination` union, required
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `mintAccount` union, required
            - CoreSolanaMintAccountDestination
              - …
            - CoreSolanaMintAccountTicker
              - …
          - `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.
          - `type` 'MintTo', required
        - CoreSolanaOperationTransfer
          - `outputs` CoreSolanaTransferOutput[], required
            - `destination` union, required
              - …
            - `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.
          - `type` 'Transfer', required
        - CoreSolanaOperationTransferToken
          - `outputs` CoreSolanaTransferOutput[], required
            - `destination` union, required
              - …
            - `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.
          - `mintAccount` union, required
            - CoreSolanaMintAccountDestination
              - …
            - CoreSolanaMintAccountTicker
              - …
          - `type` 'TransferToken', required
      - `memos` string[], required
      - `feeStrategy` CoreSolanaFeeStrategy, required
        - `priority` 'High' | 'Medium' | 'Low', required
        - `type` 'Priority', required
      - `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.
      - `nonceAccount` union
        - CoreTransactionDestinationAccount
          - `accountId` string, uuid, required
          - `type` 'Account', required
        - CoreTransactionDestinationAddress
          - `address` string, required
          - `type` 'Address', required
        - CoreTransactionDestinationEndpoint
          - `endpointId` string, uuid, required
          - `type` 'Endpoint', required
      - `type` 'Solana', required
    - CoreTransactionOrderParametersStellar
      - `operation` union, required
        - CoreStellarOperationAccountMerge
          - `destination` union, required
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `type` 'AccountMerge', required
        - CoreStellarOperationChangeTrust
          - `limit` 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.
          - `asset` CoreStellarAsset, required
            - `code` string, required
            - `issuer` string, required
          - `type` 'ChangeTrust', required
        - CoreStellarOperationCreateAccount
          - `destination` union, required
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `startingBalance` 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.
          - `type` 'CreateAccount', required
        - CoreStellarOperationPayment
          - `destination` union, required
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `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.
          - `asset` CoreStellarAsset
            - `code` string, required
            - `issuer` string, required
          - `type` 'Payment', required
        - CoreStellarOperationSetOptions
          - `option` union, required
            - CoreStellarOptionOptionHomeDomain
              - …
            - CoreStellarOptionOptionSetFlag
              - …
          - `type` 'SetOptions', required
      - `memo` union
        - CoreStellarMemoHash
          - `value` string, required — Hex encoded stellar hash.
          - `type` 'Hash', required
        - CoreStellarMemoId
          - `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.
          - `type` 'Id', required
        - CoreStellarMemoReturn
          - `value` string, required — Hex encoded stellar hash.
          - `type` 'Return', required
        - CoreStellarMemoText
          - `value` string, required — String encoded using either ASCII or UTF-8, up to 28-bytes long
          - `type` 'Text', required
      - `feeStrategy` union, required
        - CoreStellarFeeStrategyPriority
          - `priority` 'High' | 'Medium' | 'Low', required
          - `type` 'Priority', required
        - CoreStellarFeeStrategySpecifiedRate
          - `baseFee` 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.
          - `type` 'SpecifiedRate', required
      - `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.
      - `type` 'Stellar', required
    - CoreTransactionOrderParametersSubstrate
      - `pallet` union, required
        - CoreSubstratePalletBalances
          - `method` CoreSubstrateBalancesMethod, required
            - `destination` union, required
              - …
            - `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.
            - `type` 'TransferKeepAlive', required
          - `type` 'Balances', required
        - CoreSubstratePalletStaking
          - `method` union, required
            - CoreSubstrateStakingMethodBond
              - …
            - CoreSubstrateStakingMethodBondExtra
              - …
            - CoreSubstrateStakingMethodChill
              - …
            - CoreSubstrateStakingMethodNominate
              - …
            - CoreSubstrateStakingMethodRebond
              - …
            - CoreSubstrateStakingMethodSetController
              - …
            - CoreSubstrateStakingMethodSetPayee
              - …
            - CoreSubstrateStakingMethodUnbond
              - …
            - CoreSubstrateStakingMethodWithdrawUnbonded
              - …
          - `type` 'Staking', required
      - `feeStrategy` CoreSubstrateFeeStrategy, required
        - `priority` 'High' | 'Medium' | 'Low', required
        - `type` 'Priority', required
      - `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.
      - `type` 'Substrate', required
    - CoreTransactionOrderParametersTezos
      - `operation` union, required
        - CoreTezosOperationDelegation
          - `destination` union, required
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `type` 'Delegation', required
        - CoreTezosOperationReveal
          - `type` 'Reveal', required
        - CoreTezosOperationTransaction
          - `destination` union, required
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `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.
          - `contractParameters` CoreContractParameters
            - `value` string, required — Hex encoded string.
            - `type` 'Raw', required
          - `type` 'Transaction', required
        - CoreTezosOperationUndelegation
          - `type` 'Undelegation', required
      - `feeStrategy` CoreTezosFeeStrategy, required
        - `priority` 'High' | 'Medium' | 'Low', required
        - `type` 'Priority', required
      - `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.
      - `type` 'Tezos', required
    - CoreTransactionOrderParametersTron
      - `feeStrategy` CoreTronFeeStrategy, required
        - `priority` 'High' | 'Medium' | 'Low', required
        - `type` 'Priority', required
      - `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.
      - `operation` union, required
        - CoreTronOperationNativeTransfer
          - `destination` union, required
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `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.
          - `type` 'NativeTransfer', required
        - CoreTronOperationTRC20Transfer
          - `destination` union, required
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `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.
          - `contractAddress` string, required
          - `type` 'TRC20Transfer', required
      - `type` 'Tron', required
    - CoreTransactionOrderParametersXRPL
      - `destination` union
        - CoreTransactionDestinationAccount
          - `accountId` string, uuid, required
          - `type` 'Account', required
        - CoreTransactionDestinationAddress
          - `address` string, required
          - `type` 'Address', required
        - CoreTransactionDestinationEndpoint
          - `endpointId` string, uuid, required
          - `type` 'Endpoint', required
      - `amount` 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.
      - `feeStrategy` union, required
        - CoreXrplFeeStrategyPriority
          - `priority` 'High' | 'Medium' | 'Low', required
          - `type` 'Priority', required
        - CoreXrplFeeStrategySpecifiedAdditionalFee
          - `drops` 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.
          - `type` 'SpecifiedAdditionalFee', required
      - `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.
      - `sourceTag` integer
      - `destinationTag` integer
      - `memos` CoreXrplMemo[], required
        - `memoData` string — Hex encoded string.
        - `memoFormat` string — Hex encoded string. The encoded string must only characters defined in RFC 3986 URLs
        - `memoType` string — Hex encoded string. The encoded string must only characters defined in RFC 3986 URLs
      - `operation` union
        - CoreXrplOperationAccountSet
          - `setFlag` 'asfGlobalFreeze' | 'asfNoFreeze' | 'asfRequireAuth' | 'asfAllowTrustLineClawback' | 'asfAccountTxnID' | 'asfDepositAuth' | 'asfRequireDest' | 'asfDefaultRipple'
          - `clearFlag` 'asfGlobalFreeze' | 'asfNoFreeze' | 'asfRequireAuth' | 'asfAllowTrustLineClawback' | 'asfAccountTxnID' | 'asfDepositAuth' | 'asfRequireDest' | 'asfDefaultRipple'
          - `transferRate` integer
          - `type` 'AccountSet', required
        - CoreXrplOperationClawback
          - `currency` union, required
            - CoreXrplClawbackCurrencyCurrency
              - …
            - CoreXrplClawbackCurrencyMultiPurposeToken
              - …
            - CoreXrplClawbackCurrencyTickerId
              - …
          - `holder` union, required
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `value` 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.
          - `type` 'Clawback', required
        - CoreXrplOperationDepositPreauth
          - `authorize` union
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `unauthorize` union
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `type` 'DepositPreauth', required
        - CoreXrplOperationEscrowFinish
          - `owner` union, required
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `offerSequence` integer, required
          - `condition` string — Hex encoded string.
          - `credentialIds` string[]
          - `fulfillment` string — Hex encoded string.
          - `type` 'EscrowFinish', required
        - CoreXrplOperationMPTokenAuthorize
          - `tokenIdentifier` union, required
            - CoreXrplMPTokenIdentifierMPTokenIssuanceId
              - …
            - CoreXrplMPTokenIdentifierTickerId
              - …
          - `flags` CoreXrplMPTokenAuthorizeFlag[], required
          - `holder` union
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `type` 'MPTokenAuthorize', required
        - CoreXrplOperationMPTokenIssuanceCreate
          - `flags` CoreXrplMPTokenIssuanceCreateFlag[], required
          - `assetScale` integer
          - `transferFee` integer — Transfer fee for MultiPurposeToken, must be from 0 to 50000
          - `maximumAmount` string — 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.
          - `metadata` CoreMPTokenIssuanceMetadata
            - `value` string, required — Hex encoded string.
            - `type` 'HexEncodedMetadata', required
          - `type` 'MPTokenIssuanceCreate', required
        - CoreXrplOperationMPTokenIssuanceDestroy
          - `tokenIdentifier` union, required
            - CoreXrplMPTokenIdentifierMPTokenIssuanceId
              - …
            - CoreXrplMPTokenIdentifierTickerId
              - …
          - `type` 'MPTokenIssuanceDestroy', required
        - CoreXrplOperationMPTokenIssuanceSet
          - `tokenIdentifier` union, required
            - CoreXrplMPTokenIdentifierMPTokenIssuanceId
              - …
            - CoreXrplMPTokenIdentifierTickerId
              - …
          - `holder` union
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `flags` CoreXrplMPTokenIssuanceSetFlag[], required
          - `type` 'MPTokenIssuanceSet', required
        - CoreXrplOperationOfferCreate
          - `flags` CoreXrplOfferCreateFlag[], required
          - `takerGets` CoreXrplAssetQuantity, required
            - `currency` union
              - …
            - `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.
          - `takerPays` CoreXrplAssetQuantity, required
            - `currency` union
              - …
            - `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.
          - `type` 'OfferCreate', required
        - CoreXrplOperationPayment
          - `destination` union, required
            - CoreTransactionDestinationAccount
              - …
            - CoreTransactionDestinationAddress
              - …
            - CoreTransactionDestinationEndpoint
              - …
          - `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.
          - `destinationTag` integer
          - `currency` union
            - CoreXrplPaymentCurrencyCurrency
              - …
            - CoreXrplPaymentCurrencyMultiPurposeToken
              - …
            - CoreXrplPaymentCurrencyTickerId
              - …
          - `type` 'Payment', required
        - CoreXrplOperationTrustSet
          - `flags` CoreXrplTrustSetFlag[], required
          - `limitAmount` CoreXrplLimitAmount, required
            - `currency` union, required
              - …
            - `value` 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.
          - `enableRippling` boolean
          - `type` 'TrustSet', required
      - `type` 'XRPL', required

## Response `200`

- CoreTransactionDryRun
  - `result` union, required
    - CoreTransactionDryRunResultFailure
      - `hint` 'AccountAlreadyActivatedOnLedger' | 'AccountNotReadyOnLedger' | 'BroadcastExpired' | 'CurrentlyFeesTooLarge' | 'CurrentlyFeesTooSmall' | 'CurrentlyFundsTooFragmented' | 'CurrentlyNotEnoughFunds' | 'CurrentlyUnusableDestination' | 'InternalError' | 'InvalidAccountStateOnLedger' | 'InvalidAmount' | 'InvalidContractParameters' | 'InvalidDestination' | 'InvalidUserPayload' | 'LockedDestination' | 'OnLedgerFailure' | 'ReplacementTransactionFeesTooLow' | 'TransactionEstimationFailure' | 'TransactionNotEligibleForReplacement' | 'TransactionRejected' | 'TransientIssue', required
      - `reason` string, required
      - `type` 'Failure', required
    - CoreTransactionDryRunResultSuccess
      - `type` 'Success', required
  - `estimate` union, required
    - CoreTransactionEstimateAlgorand
      - `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.
      - `type` 'Algorand', required
    - CoreTransactionEstimateBitcoin
      - `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.
      - `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.
      - `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.
      - `type` 'Bitcoin', required
    - CoreTransactionEstimateCardano
      - `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.
      - `type` 'Cardano', required
    - CoreTransactionEstimateEthereum
      - `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.
      - `defaultedToBlockGasLimit` boolean, required
      - `nodeErrorMessage` string
      - `type` 'Ethereum', required
    - CoreTransactionEstimateFailure
      - `hint` 'AccountAlreadyActivatedOnLedger' | 'AccountNotReadyOnLedger' | 'BroadcastExpired' | 'CurrentlyFeesTooLarge' | 'CurrentlyFeesTooSmall' | 'CurrentlyFundsTooFragmented' | 'CurrentlyNotEnoughFunds' | 'CurrentlyUnusableDestination' | 'InternalError' | 'InvalidAccountStateOnLedger' | 'InvalidAmount' | 'InvalidContractParameters' | 'InvalidDestination' | 'InvalidUserPayload' | 'LockedDestination' | 'OnLedgerFailure' | 'ReplacementTransactionFeesTooLow' | 'TransactionEstimationFailure' | 'TransactionNotEligibleForReplacement' | 'TransactionRejected' | 'TransientIssue', required
      - `reason` string, required
      - `type` 'Failure', required
    - CoreTransactionEstimateHedera
      - `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.
      - `tokenFees` CoreTokenFee[]
        - `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.
        - `tickerId` string, uuid, required
        - `paidByRecipient` boolean, required
      - `type` 'Hedera', required
    - CoreTransactionEstimateSolana
      - `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.
      - `type` 'Solana', required
    - CoreTransactionEstimateStellar
      - `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.
      - `type` 'Stellar', required
    - CoreTransactionEstimateSubstrate
      - `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.
      - `type` 'Substrate', required
    - CoreTransactionEstimateTezos
      - `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.
      - `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.
      - `type` 'Tezos', required
    - CoreTransactionEstimateTron
      - `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.
      - `type` 'Tron', required
    - CoreTransactionEstimateXRPL
      - `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.
      - `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.
      - `totalReserveRequired` 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.
      - `type` 'XRPL', required

## Other responses

- `400` — Invalid dry run arguments (TransactionDryRunError)
- `401` — One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)
- `404` — Entity or Domain not found (EntityNotFoundError)
- `504` — Remote service timeout (RemoteServiceTimeout)

---

[API](https://skmtc.net/ripple/apis/ripple-custody-api.md) · [All operations](https://skmtc.net/ripple/apis/ripple-custody-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ripple/ripple-custody-api/revisions/0b55c0ddf07a/schema)
