On this page

latest contributor to this doc

Last Edit:

@gcharang

Komodo DeFi SDK RPC Protocol v2.0

Starting with version beta-2.1.3434, the Komodo DeFi SDK supports the standardized protocol format called mmrpc 2.0.

It includes a uniform request, successful and error response formats. At the moment, only a few RPC methods support the mmrpc 2.0 protocol.

StructureTypeDescription
mmrpcstringthe string specifying the version of the Komodo DeFi SDK RPC protocol. Must be exactly "2.0"
userpassstring (optional)your password for protected RPC methods. Skip this field if the specified method is public
methodstringthe name of the method to be invoked
paramsobject (optional)a structured value that holds the parameter values to be used during the invocation of the method. This field may be omitted if the method doesn't take arguments
idnumber (optional)the identifier is established by the client. Komodo DeFi SDK will reply with the same value in the Response object if the id field is included and not NULL

StructureTypeDescription
mmrpcstringthe string specifying the version of the Komodo DeFi SDK RPC protocol
resultobjectthe value of this field is determined by the method invoked on Komodo DeFi SDK
idnumber (optional)the identifier established by the client. The same value as in the Request if it was passed

StructureTypeDescription
mmrpcstringthe string specifying the version of the Komodo DeFi API RPC protocol
errorstringthe common error description
error_pathstringthe error path consisting of file names separated by a dot similar to JSON path notation
error_tracestringthe error path consisting of file and line number pairs separated by ']'
error_typestringthe string error identifier used to determine the cause of the error
error_dataobjectan object containing the error data of the corresponding error_type
idnumber (optional)the identifier established by the client. The same value as in the Request if it was passed

POST
withdraw
{
  "mmrpc": "2.0",
  "userpass": "RPC_UserP@SSW0RD",
  "method": "withdraw",
  "params": {
    "coin": "KMD",
    "to": "RJTYiYeJ8eVvJ53n2YbrVmxWNNMVZjDGLh",
    "amount": "10"
  },
  "id": 0
}

The folowing objects are used in the request or response of multiple Komodo DeFi SDK methods.

The ActivationParams object defines additional parameters used for activation. These params may vary depending on the coin type.

ParameterTypeDescription
required_confirmationsintegerOptional. Confirmations to wait for steps in swap. Defaults to value in the coins file if not set.
requires_notarizationbooleanOptional, defaults to false. For dPoW protected coins, a true value will wait for transactions to be notarised when doing swaps. Overrides value if set in coins file.
modeobjectQTUM, UTXO & ZHTLC coins only. A standard ActivationMode object.
zcash_params_pathstringZHTLC coins only. Path to folder containing Zcash parameters. Optional, defaults to standard location as defined in this guide
scan_blocks_per_iterationintegerZHTLC coins only. Sets the number of scanned blocks per iteration during BuildingWalletDb state. Optional, default value is 1000.
scan_interval_msintegerZHTLC coins only. Sets the interval in milliseconds between iterations of BuildingWalletDb state. Optional, default value is 0.
tx_historybooleanOptional. Enable transaction history scanning. When active, the Komodo DeFi Framework API will collect transaction history data for local storage, and allow use of the my_tx_history (v2) method.
min_addresses_numberintegerOptional, HD wallets only. Number of addresses to generate. If not specified, addresses will be generated up to path_to_address::address_index.
scan_policystringOptional, HD wallets only. Whether or not to scan for new addresses. Select from do_not_scan, scan_if_new_wallet or scan. Defaults to scan_if_new_wallet. Note that scan will result in multple requests to the Komodo DeFi API and may take some time to complete.
gap_limitintegerOptional, HD wallets only. The max number of empty addresses in a row. Transactions sent to an address outside the gap_limit, will not be identified when scanning. Defaults to 20.
path_to_addressobjectOptional, HD wallets only. A standard AddressDerivationPath object.
get_balancesbooleanOptional, defaults to true. If false, coin and token balances will not be returned in the response, and the response will be returned more quickly.

For ZHTLC coins, older wallets need to set the sync_params field to a date before its first transaction to see all balance and history. This may take a long time on the first activation, but subsequent activations will be much faster. Using a smaller scan_blocks_per_iteration and larger scan_interval_ms, will reduce the average CPU load during ZHTLC coin activation (at the cost of a longer activation time). These optional fields are recommended when developing for iOS, where a high CPU load may kill the activation process. Android & desktop operating systems do not appear to have any problems with high CPU load during ZHTLC coin activation.

Defines the activation mode for QTUM, BCH, UTXO & ZHTLC coins.

ParameterTypeDescription
rpcstringNative if running a native blockchain node, Electrum if using electrum servers or Light for ZHTLC coins.
rpc_dataobjectElectrum or Light mode only. A standard ActivationRpcData object.

Contains information about electrum & lightwallet_d servers for coins being used in Electrum or Light mode.

ParameterTypeDescription
light_wallet_d_serverslistZHTLC only. A list of urls which are hosting lightwallet_d servers for a coin.
electrum_serverslist of objectsZHTLC only. A list of standard ActivationServers objects.
electrumlist of objectsQTUM, BCH & UTXO coins only. A list of standard ActivationServers objects.
sync_paramsinteger or stringZHTLC coins only. Optional, defaults to two days ago. Defines where to start scanning blockchain data upon initial activation. Options: "earliest" (the coin's sapling_activation_height), height (a specific block height) or date (a unix timestamp).

Contains information electrum servers for coins being used in Electrum or Light mode.

ParameterTypeDescription
urlstringThe URL and port for an electrum server.
ws_urlstringOptional, for WSS only. The URL and port for an electrum server's WSS port.
protocolstringOptional, defaults to TCP. Transport protocol used to connect to the server. Options: TCP or SSL
disable_cert_verificationbooleanOptional, defaults to false. If true, this disables server SSL/TLS certificate verification (e.g. for self-signed certificates). Use at your own risk!

The AddressDerivationPath object defines the account / change / address_index of the derivation path used for your wallet. Using different values for account_id or address_id parameters will result in a different address and private key for each combination. The chain parameter is used to specify if the change from a transaction. Set to External for addresses that are intended to be visible outside of the wallet (e.g. for receiving payments). Internal is used for addresses which are not meant to be visible outside of the wallet and is used to return the leftover change from a transaction.

ParameterTypeDescription
account_idintegerOptional, defaults to 0. Used as a layer of separation or hierarchy.
chainstringOptional. Accepted values are External (0) and Internal (1). Defaults to External.
address_idintegerOptional, defaults to 0. Used as a layer of separation or hierarchy.

The addressInfos object includes the following items for a given address:

ParameterTypeDescription
balancesobjectA standard BalanceInfo object. Not included in responses where get_balances is false
derivation_methodobjectA standard DerivationMethod object
pubkeystringThe public key associated with the seed used to launch Komodo DeFi
tickersarrayA list of tokens which were successfully activated. Only included in responses where get_balances is false

The balanceInfo object includes the following items for a given coin or token:

ParameterTypeDescription
spendablestring (numeric)The available amount of a coin or token which is ready to be traded or withdrawn.
unspendablestring (numeric)The amount of a coin or token which is awaiting confirmation on the block chain for an incoming or outgoing transaction.

The DerivationMethod object includes the following items for a given coin or token:

ParameterTypeDescription
typestringDefines how keypairs will be generated. Possible values: Iguana or HDWallet

Using the same seed or private key to generate keypairs using different derivation methods will result in a different address and private key for each method.

Where the value indicates:

  • Iguana: The coin or token is was activated using Iguana derivation (default).
  • HDWallet: The coin or token is was activated using a Hierarchical Deterministic (HD) Wallet derivation path.

ParameterTypeDescription
typeintegerOne of the supported [coin types](link TBA)
protocol_dataobjectA standard CoinProtocolData object.

ParameterTypeDescription
platformstringIndicates the platform parent coin for EMV-like protocols, or the coin used for lightning nodes.
networkstringEither mainnet or `testnet
confirmation_targetsobjectA standard ConfirmationTargets object.

This object represents the number of blocks required for an on-chain lightning-related transaction to be confirmed. It is used for estimating the transaction fee rate (feerate) for different transaction types in the context of permissionless transactions performed by the node. Different target types are background, normal, and high_priority.

ParameterTypeDescription
backgroundintegerUsed for transactions that can tolerate slower confirmation times when the transaction fee rate decreases. These transactions are not time-sensitive and can afford to wait longer for confirmation. The recommended range is 12 to 144 blocks to ensure a low feerate.
normalintegerUsed for transactions that we want to confirm promptly, without significant delay (e.g, transactions for opening payment channels). These transactions are important but not critical. Suggested value is 6 blocks to ensure a moderate feerate.
high_priorityintegerUsed for transactions that require quick confirmation to prevent potential loss of funds (e.g. redeeming a Hashed Time Lock Contract (HTLC) on the blockchain before it times out). These transactions are time-critical and must be confirmed promptly to ensure the security of funds. Recommended value for high_priority is 1-2 blocks to ensure a high feerate.

Using the recommended values in the above table with a coin that has a block time of 10 minutes, the equivalent time in minutes is:

  • background: 120 minutes to 1440 minutes (2 hours to 1 day).
  • normal: 60 minutes (one hour).
  • high_priority: 10 to 20 minutes.

ParameterTypeDescription
allow_outbound_0confbooleanOptional, defaults to true. When setting an outbound channel, it can be used straight away without waiting for any on-chain confirmations.
force_announced_channel_preferencebooleanOptional, defaults to true. Set to force an incoming channel to match our announced channel preference in ChannelOptions announced_channel.
outbound_channels_confirmationsintegerOptional, defaults to 144. Confirmations we will wait for before considering an inbound channel locked in.
our_locktime_limitbooleanOptional, defaults to 2016. Set to the amount of blocks we're willing to wait to claim money back to us.
min_funding_satsbooleanOptional, defaults to 0. Minimum allowed satoshis when an inbound channel is funded.
max_funding_satsbooleanOptional, defaults to 16777215. Maximum allowed satoshis when an inbound channel is funded.
max_htlc_minimum_msatbooleanOptional, defaults to 18446744073709551615. The remote node sets a limit on the minimum size of HTLCs we can send to them. This allows us to limit the maximum minimum-size they can require.
min_max_htlc_value_in_flight_msatbooleanOptional, defaults to 0. The remote node sets a limit on the maximum value of pending HTLCs to them at any given time to limit their funds exposure to HTLCs. This allows us to set a minimum such value.
max_channel_reserve_satsbooleanOptional, defaults to 18446744073709551615. The remote node will require us to keep a certain amount in direct payment to ourselves at all time, ensuring that we are able to be punished if we broadcast an old state. This allows us to limit the amount which we will have to keep to ourselves (and cannot use for HTLCs).
min_max_accepted_htlcsbooleanOptional, defaults to 0. The remote node sets a limit on the maximum number of pending HTLCs to them at any given time. This allows us to set a minimum such value.

The FeeInfo response object includes the following items for withdraw (v2) requests:

ParameterTypeDescription
typestringType of transaction fee; possible values: UtxoFixed, UtxoPerKbyte, EthGas
amountstring (numeric)Fee amount in coin units, used only when type is UtxoFixed (fixed amount not depending on tx size) or UtxoPerKbyte (amount per Kbyte)
gas_pricestring (numeric)Used only when fee type is EthGas; sets the gas price in gwei units
gasnumber (integer)Used only when fee type is EthGas; sets the gas limit for transaction

ParameterTypeDescription
namestringThe name of the node that will be used in lightning explorers
listening portintegerOptional, defaults to 9735. The port that this node listens for incoming connections on.
colorstringOptional, defaults to 2b6680. A hexidecimal color string which will be used in network graphs on lightning explorers
payment_retriesintegerOptional, defaults to 5. Number of times a payment will be retried if it fails.
backup_pathstringOptional. The backup path for channel backups, preferably on an external drive.

ParameterTypeDescription
typestringExact for a specific amount or Max for whole balance.
valueobjectOnly required if type is Exact. The amount in BTC you want to open the channel with.

The values in this object are only used if the channel is being opened by the user. If the channel is being opened by the counterparty, the values in this object are ignored. If not specified when using the open_channel or update_channel methods, the values in this object will default to the values set in the coins configuration file.

ParameterTypeDescription
inbound_channels_confirmationsstringOptional, defaults to 6. Should be set in coins file, and applies to all channels. Confirmations we will wait for before considering an inbound channel locked in.
max_inbound_in_flight_htlc_percentintegerOptional, defaults to 10. Should be set in coins file, and applies to all channels. Sets the percentage of the channel value we will cap the total value of outstanding inbound HTLCs to.
our_htlc_minimum_msatintegerOptional, defaults to 1. The smallest value HTLC we will accept to process. The channel gets closed any time our counterparty misbehaves by sending us an HTLC with a value smaller than this.
announced_channelbooleanOptional, defaults to false. Set to announce the channel publicly and notify all nodes that they can route via this channel. GUIs and wallet apps should be set to false.
commit_upfront_shutdown_pubkeybooleanOptional, defaults to true. When true (and the counterparty agrees), the user must use the same key for cooperative closing. This prevents a user from changing the destination address in a cooperative close, which slightly increases security (however, this option is not required if the counterparty does not support it and a channel can be accepted regardless). Note that the key for forced closing is always fixed when opening a channel and is different from shutdown_pubkey.
counterparty_locktimeintegerOptional, defaults to 144. The number of blocks we require our counterparty to wait to claim their money on chainif they broadcast a revoked transaction. We have to be online at least once during this time to punish our counterparty for broadcasting a revoked transaction. We have to account also for the time to broadcast and confirm our transaction, possibly with time in between to RBF (Replace-By-Fee) the spending transaction.
negotiate_scid_privacyintegerOptional, defaults to false. If true, we attempt to negotiate the scid_privacy (referred to as scid_alias in the BOLTs) option for outbound private channels. This provides better privacy by not including our real on-chain channel UTXO in each invoice and requiring that our counterparty only relay HTLCs to us using the channel's SCID alias.
their_channel_reserve_satsbooleanOptional, defaults to 10000 or 1% of channel value. The minimum balance that the other node has to maintain on their side, at all times. This ensures that if our counterparty broadcasts a revoked state, we can punish them by claiming at least this value on chain.

For GUIs and wallet apps, it is recommended to set announced_channel to false (the default value), as the node is not expected to be reliably online.

ParameterTypeDescription
proportional_fee_in_millionths_satsintegerOptional, defaults to 0. Amount (in milli-satoshi) charged for payments forwarded outbound over the channel, in excess of proportional_fee_in_millionths_sats.
base_fee_msatintegerOptional, defaults to 1000. Amount (in milli-satoshi) charged for payments forwarded outbound over the channel, in excess of proportional_fee_in_millionths_sats.
cltv_expiry_deltaintegerOptional, defaults to 72. Blocks until CheckLockTimeVerify (CLTV) expiry.
max_dust_htlc_exposure_msatintegerOptional, defaults to 5000000. Limit our total exposure to in-flight HTLCs which are burned to fees as they are too small to claim on-chain.
force_close_avoidance_max_fee_satsintegerOptional, defaults to 1000. The additional fee we're willing to pay to avoid waiting for the counterparty's locktime to reclaim funds.

ParameterTypeDescription
channel_idstringOptional. Unique string identifying a channel by its ID.
counterparty_node_idstringOptional. A hexidecimal string identifying a counterparty node.
funding_txstringOptional. A transaction ID which added funds.
from_funding_valueintegerOptional. The minimum value of channel funding in satoshis.
to_funding_valueintegerOptional. The maximum value of channel funding in satoshis.
channel_typestringOptional. Inbound or Outbound.
closing_txintegerOptional. A transaction ID which closed the channel.
closure_reasonintegerOptional. The reason a channel was closed.
claiming_txintegerOptional. The ID of the transaction that returned the remaining outbound funds when the channel was closed to our on-chain address.
from_claimed_balanceintegerOptional. The minimum balance of channel funds claimed in satoshis.
to_claimed_balanceintegerOptional. The maximum balance of channel funds claimed in satoshis.
channel_visibilityintegerOptional. Public or Private.

ParameterTypeDescription
channel_idstringOptional. Unique string identifying a channel by its ID.
counterparty_node_idstringOptional. A hexidecimal string identifying a counterparty node.
funding_txstringOptional. A transaction ID which added funds.
from_funding_value_satsintegerOptional. The minimum value of channel funding in satoshis.
to_funding_value_satsintegerOptional. The maximum value of channel funding in satoshis.
is_outboundbooleanOptional. If true, limits the response to outbound channels only.
from_balance_msatintegerOptional. The minimum channel balance in millisatoshis.
to_balance_msatintegerOptional. The maximum channel balance in millisatoshis.
from_outbound_capacity_msatintegerOptional. The minimum outbound capacity of the channel balance in millisatoshis.
to_outbound_capacity_msatintegerOptional. The maximum outbound capacity of the channel balance in millisatoshis.
from_inbound_capacity_msatintegerOptional. The minimum inbound capacity of the channel balance in millisatoshis.
to_inbound_capacity_msatintegerOptional. The maximum inbound capacity of the channel balance in millisatoshis.
confirmedbooleanOptional. If true, only channels with channel opening transactions that passed the number of confirmations required for the channel to be usable will be returned.
is_usablebooleanOptional. If true, only channels that are confirmed and the counterparty is online, meaning that these channels can be used for payments will be returned.
is_publicbooleanOptional. If true, only channels that our node announces to the lightning network, these channels are visible on lightning explorers will be returned.

ParameterTypeDescription
typestringThe payment type. Accepted values are invoice or keysend.
invoicestringOnly used if type is invoice. An identifying string which represents the invoice.
destinationstringOnly used if type is keysend. A node_pubkey (which is also the node address in lightning context). Not to be confused with an onchain address.
amount_in_msatstringOnly used if type is keysend. Amount to be paid, in millisatoshis (A thousandth of a satoshi; the same as 0.00000000001 bitcoin).
expirystringOnly used if type is keysend. Optional, defaults to 3600. Seconds until the payment expires.

ParameterTypeDescription
payment_typeobjectA standard LightningPaymentType object.
descriptionstringOptional. A note to indicate the purpose of the invoice.
statusstringOptional. Accepted values: pending, succeeded, failed.
from_amount_msatintegerOptional. Minimum amount sent in millisatoshis
to_amount_msatintegerOptional. Maximum amount sent in millisatoshis
from_fee_paid_msatintegerOptional. Minimum transaction fee paid in millisatoshis
to_fee_paid_msatintegerOptional. Maximum transaction fee paid in millisatoshis
from_timestampstringOptional. Minimum timestamp (in milliseconds) of payment results to return.
to_timestampstringOptional. Maximum timestamp (in milliseconds) of payment results to return.

ParameterTypeDescription
typeobjectAccepted values are Outbound Payment or Inbound Payment.
destinationstringOnly used if type is Outbound Payment. A pubkey which will receive the payment.

For requests which return many results, pagination offsets may be applied. ** Use either value, not both. **

ParameterTypeDescription
PageNumberintegerOptional, defaults to 1. Offset for paginated results
FromIdintegerOptional. Ignores any results prior to this UUID

Used to specify a HD wallet account_id or address_id for [my_tx_history (v2)] requests.

ParameterTypeDescription
typestringFilters results by account_id or address_id part of the derivation path.
account_idintegerACCOUNT_ID child in the m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID BIP44 derivation path.
address_idintegerOnly required when type is address_id. ADDRESS_ID child in the m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID BIP44 derivation path.
chainstringOnly required when type is address_id. Internal, or External. External is used for addresses that are meant to be visible outside of the wallet (e.g. for receiving payments). Internal is used for addresses which are not meant to be visible outside of the wallet and is used for return transaction change.

The TokensRequest object includes the following items for a given coin or token:

ParameterTypeDescription
tickerstringTicker of the token to be enabled
required_confirmationsintegerHow many confirmations to wait during the transaction steps of an atomic swap. Overwrites value in coins file; defaults to 3

The WalletBalanceInfo object includes the following items in the activation response for a coin in HD mode:

ParameterTypeDescription
wallet_typestringIn HD wallet mode, this will return HD.
accountsobjectA standard WalletAccountInfo object.
{
    "wallet_balance": {
        "wallet_type": "HD",
        "accounts": [
            ...
        ]
    }
}

The WithdrawFromInfo response object includes the following items for HD Wallet withdraw (v2) requests. You can use either the derivation_path on its own, or the account_id, chain and address_id together.

ParameterTypeDescription
derivation_pathstringThe BIP44 derivation path of the address.
account_idintegerACCOUNT_ID child in the m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID BIP44 derivation path. Please don't confuse with the global account.
address_idintegerADDRESS_ID child in the m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID BIP44 derivation path.
chainstringInternal, or External. External is used for addresses that are meant to be visible outside of the wallet (e.g. for receiving payments). Internal is used for addresses which are not meant to be visible outside of the wallet and is used for return transaction change.

The FeeInfo response object includes the following items for withdraw (v2) requests:

ParameterTypeDescription
typestringType of transaction fee; possible values: UtxoFixed, UtxoPerKbyte, EthGas
amountstring (numeric)Fee amount in coin units, used only when type is UtxoFixed (fixed amount not depending on tx size) or UtxoPerKbyte (amount per Kbyte)
gas_pricestring (numeric)Used only when fee type is EthGas; sets the gas price in gwei units
gasnumber (integer)Used only when fee type is EthGas; sets the gas limit for transaction

The ScanAddressesInfo response object includes the following items for request in HD mode:

ParameterTypeDescription
account_indexintegerACCOUNT_ID child in the m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID BIP44 derivation path. Please don't confuse with the global account.
derivation_pathstringThe BIP44 derivation path of the account.
new_addresseslistA list of standard NewAddressInfo objects.

The NewAddressInfo response object includes the following items for request in HD mode:

ParameterTypeDescription
addressstringThe account address for a specific derivation path under the account_index.
derivation_pathstringThe BIP44 derivation path of the address. If there are no more addresses with balances within the gap limit, the address index will increment.
balanceobjectA standard balanceInfo object.
chainstringInternal, or External. External is used for addresses that are meant to be visible outside of the wallet (e.g. for receiving payments). Internal is used for addresses which are not meant to be visible outside of the wallet and is used for return transaction change.

The WalletAccountInfo object includes the following items in the activation response for a coin in HD mode:

ParameterTypeDescription
account_indexintegerACCOUNT_ID child in the m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID BIP44 derivation path. Please don't confuse with the global account.
derivation_pathstringDerivation path up to the COIN child. E.g. "m/44'/141'/0'"
total_balanceobjectA standard balanceInfo object.
addresseslistA list of standard AccountAddressInfo objects.
{
    "account_index": 0,
    "derivation_path": "m/44'/141'/0'",
    "total_balance": {
        "spendable": "23.08710255",
        "unspendable": "0"
    },
    "addresses": [
        ...
    ]
}

The AccountAddressInfo object includes the following items for active addresses in the activation response for a coin in HD mode:

ParameterTypeDescription
addressstringThe account address for a specific derivation path under the account_index.
derivation_pathstringThe BIP44 derivation path of the address.
chainstringExternal or Internal, as defined in the activation request.
balanceobjectA standard balanceInfo object.

The available balance is not sufficient to transfer the specified amount.

StructureTypeDescription
coinstringthe name of the coin which balance is not sufficient. This coin name may differ from the requested coin. For example, ERC20 fees are paid by ETH (gas)
availablestring (numeric)the balance available for transfer
requiredstring (numeric)the amount required to transfer the specified amount. This amount is necessary but may not be sufficient

{
  "mmrpc": "2.0",
  "error": "Not enough DOC to withdraw: available 69.75066225, required at least 1000.00001",
  "error_path": "utxo_common",
  "error_trace": "utxo_common:1379] utxo_common:449]",
  "error_type": "NotSufficientBalance",
  "error_data": {
    "coin": "DOC",
    "available": "69.75066225",
    "required": "1000.00001"
  },
  "id": 0
}

The available balance is zero.

StructureTypeDescription
(none)

The specified amount is too low. Required at least threshold.

StructureTypeDescription
amountstring (numeric)the amount the user was willing to transfer
thresholdstring (numeric)the amount has not to be less than the threshold

The specified to address is not valid.

StructureTypeDescription
(none)stringthe error description

The specified fee is not valid.

StructureTypeDescription
(none)stringthe error description

{
  "mmrpc": "2.0",
  "error": "Invalid fee policy: Expected 'UtxoFixed' or 'UtxoPerKbyte' fee types, found EthGas",
  "error_path": "utxo_common",
  "error_trace": "utxo_common:1371]",
  "error_type": "InvalidFeePolicy",
  "error_data": "Expected 'UtxoFixed' or 'UtxoPerKbyte' fee types, found EthGas",
  "id": 0
}

{
  "mmrpc": "2.0",
  "error": "Invalid fee policy: Expected 'EthGas' fee type, found UtxoFixed",
  "error_path": "eth",
  "error_trace": "eth:535]",
  "error_type": "InvalidFeePolicy",
  "error_data": "Expected 'EthGas' fee type, found UtxoFixed",
  "id": 0
}

The specified coin was not found or is not activated yet.

StructureTypeDescription
coinstringthe not found coin specified in the Request

The request was failed due to a network error.

StructureTypeDescription
(none)stringthe transport error description

The request was failed due to an Komodo DeFi API internal error.

StructureTypeDescription
(none)stringthe internal error description

{
  "mmrpc": "2.0",
  "error": "TTT-SLP",
  "error_path": "my_tx_history_v2.lp_coins",
  "error_trace": "my_tx_history_v2:389] lp_coins:2847]",
  "error_type": "CoinIsNotActive",
  "error_data": "TTT-SLP",
  "id": null
}

{
  "mmrpc": "2.0",
  "error": "TTT-SLP",
  "error_path": "my_tx_history_v2",
  "error_trace": "my_tx_history_v2:336]",
  "error_type": "NotSupportedFor",
  "error_data": "TTT-SLP",
  "id": null
}

{
  "mmrpc": "2.0",
  "error": "Storage is not initialized for TTT-SLP",
  "error_path": "my_tx_history_v2",
  "error_trace": "my_tx_history_v2:343]",
  "error_type": "StorageIsNotInitialized",
  "error_data": "Storage is not initialized for TTT-SLP",
  "id": null
}

{
  "mmrpc": "2.0",
  "error": "SqliteFailure(Error { code: Unknown, extended_code: 1 }, Some(\"no such column: block_height\"))",
  "error_path": "my_tx_history_v2.sql_tx_history_storage",
  "error_trace": "my_tx_history_v2:351] sql_tx_history_storage:472]",
  "error_type": "StorageError",
  "error_data": "SqliteFailure(Error { code: Unknown, extended_code: 1 }, Some(\"no such column: block_height\"))",
  "id": null
}