Construct

POST /wallets/{walletId}/transactions-construct

status: stable

Create a transaction to be signed from the wallet.

Path parameters

  • walletId string(hex) Required

    Minimum length is 40, maximum length is 40.

application/json

Body Required

  • payments array[object]

    A list of target outputs with amounts specified.

    When creating a new transaction, the wallet software ensures that all user-specified transaction outputs have ada amounts that satisfy the ledger minimum UTxO rule:

    • If a user-specified transaction output has an ada amount that is zero, the wallet software will automatically assign a minimal amount of ada to the output so that it satisfies the ledger minimum UTxO rule.

    • If a user-specified transaction output has an ada amount that is non-zero, the wallet software will verify that the specified amount is large enough to satisfy the ledger minimum UTxO rule. If the amount is not large enough, the wallet software will return a utxo_too_small error, together with a revised ada amount that does satisfy the minimum UTxO rule.

    At least 0 elements.

    Hide payments attributes Show payments attributes object
    • address string(base58|bech32) Required

      A sequence of characters that encodes (in Base58 or Bech32) a sequence of bytes which represents an address on the Cardano blockchain. Sequences in Base58 encoding are expected to be legacy Byron addresses, whereas sequences in Bech32 encoding correspond to current Shelley addresses.

      For more details, see CIP-0019 — Cardano addresses .

    • amount object Required

      Coins, in Lovelace. Only relates to 'Ada'. Refer to assets for multi-assets wallets instead.

      Hide amount attributes Show amount attributes object
      • quantity integer Required

        Minimum value is 0.

      • unit string Required

        Value is lovelace.

    • assets array[object]

      An asset on the Cardano blockchain. An asset is uniquely identified by its policy_id and asset_name (together, these form the asset id).

      Two assets with the same asset_name and policy_id are interchangeable. Yet, different assets with a same policy_id but different asset_name are treated as separate assets, as are two assets with the same asset_name but different policy_id.

      An asset on the Cardano blockchain. An asset is uniquely identified by its policy_id and asset_name (together, these form the asset id).

      Two assets with the same asset_name and policy_id are interchangeable. Yet, different assets with a same policy_id but different asset_name are treated as separate assets, as are two assets with the same asset_name but different policy_id.

      Hide assets attributes Show assets attributes object
      • policy_id string(hex) Required

        A unique identifier of the asset's monetary policy. The policy controls how assets of this kind are created and destroyed.

        The contents are the blake2b-224 hash of the monetary policy script, encoded in hexadecimal.

        Minimum length is 56, maximum length is 56.

      • asset_name string(hex) Required

        The asset on-chain type which acts as a sub-identifier within a policy. Although we call it "asset name", the value needn't be text, and it could even be empty.

        For policies with a single fungible asset item, asset name is typically an empty string.

        This value can be up to 32 bytes of arbitrary data (which is 64 hexadecimal digits).

        Maximum length is 64.

      • quantity integer Required

        Number of assets for the given policy_id and asset_name.

        Minimum value is 0.

  • When provided, instruments the server to automatically withdraw rewards from the source wallet when they are deemed sufficient (i.e. they contribute to the balance for at least as much as they cost).

    As a consequence, the resulting transaction may or may not have a withdrawal object. Summarizing:

    withdrawal field reward balance result
    null too small ✓ no withdrawals generated
    null big enough ✓ no withdrawals generated
    "self" too small ✓ no withdrawals generated
    "self" big enough ✓ withdrawal generated

    Value is self.

  • metadata object | null

    Any of:

    ⚠️ WARNING ⚠️

    Please note that metadata provided in a transaction will be stored on the blockchain forever. Make sure not to include any sensitive data, in particular personally identifiable information (PII).

    Extra application data attached to the transaction.

    Cardano allows users and developers to embed their own authenticated metadata when submitting transactions. Metadata can be expressed as a JSON object with some restrictions:

    1. All top-level keys must be integers between 0 and 2^64 - 1.

    2. Each metadata value is tagged with its type.

    3. Strings must be at most 64 bytes when UTF-8 encoded.

    4. Bytestrings are hex-encoded, with a maximum length of 64 bytes.

    Metadata aren't stored as JSON on the Cardano blockchain but are instead stored using a compact binary encoding (CBOR).

    The binary encoding of metadata values supports three simple types:

    • Integers in the range -(2^64 - 1) to 2^64 - 1
    • Strings (UTF-8 encoded)
    • Bytestrings

    And two compound types:

    • Lists of metadata values
    • Mappings from metadata values to metadata values

    It is possible to transform any JSON object into this schema.

    However, if your application uses floating point values, they will need to be converted somehow, according to your requirements. Likewise for null or bool values. When reading metadata from chain, be aware that integers may exceed the javascript numeric range, and may need special "bigint" parsing.

    Hide attribute Show attribute
  • If used then metadata in transaction is going to be encrypted via AEAD scheme using ChaCha20 and Poly1305 (see RFC 7539). PBKDF2 password stretching is used to get a 32-byte symmetric key. PBKDF2 encryption using HMAC with the hash algorithm SHA512 is employed here. The encrypted metadata is going to be stored in blockchain as a consequence.

    Hide encrypt_metadata attribute Show encrypt_metadata attribute object
    • passphrase string Required

      A master passphrase to lock and protect the wallet for sensitive operation (e.g. sending funds)

      Minimum length is 0, maximum length is 255.

  • mint_burn array[object]

    An entry for each unique asset to be minted and/or burned, containing helpful information.

    At least 1 element.

    One of:
    Hide attributes Show attributes
    • policy_script_template string | object Required

      One of:

      Leaf value for a script designating a cosigner co-sharing the script.

      Format should match the following pattern: ^(cosigner#)[0-9]*$.

    • asset_name string(hex)

      The asset on-chain type which acts as a sub-identifier within a policy. Although we call it "asset name", the value needn't be text, and it could even be empty.

      For policies with a single fungible asset item, asset name is typically an empty string.

      This value can be up to 32 bytes of arbitrary data (which is 64 hexadecimal digits).

      Maximum length is 64.

    • operation object Required

      One of:
      Hide attribute Show attribute
      • mint object
        Hide mint attributes Show mint attributes object
        • receiving_address string(base58|bech32)

          A sequence of characters that encodes (in Base58 or Bech32) a sequence of bytes which represents an address on the Cardano blockchain. Sequences in Base58 encoding are expected to be legacy Byron addresses, whereas sequences in Bech32 encoding correspond to current Shelley addresses.

          For more details, see CIP-0019 — Cardano addresses .

        • quantity integer Required

          Number of assets for the given policy_id and asset_name.

          Minimum value is 0.

  • vote string | string(bech32)

    One of:

    Voting action. One can abstain, give no confidence vote or vote for a representative by specifying its key hash or script hash. Voting can be done together with delegation action.

    Values are abstain or no_confidence.

  • delegations array[object]

    A delegation action for a given stake key denoted by its soft index. Pool id is only required for "join". Stake key index are required for both actions.

    At least 0 elements.

    One of:

    A delegation action for a given stake key denoted by its soft index. Pool id is only required for "join". Stake key index are required for both actions.

    Hide attribute Show attribute
    • join object Required
      Hide join attributes Show join attributes object
      • pool string(hex|bech32) Required

        A unique identifier for the pool.

      • stake_key_index string Required

        An individual segment within a derivation path.

        The H suffix indicates a Hardened child private key, which means that children of this key cannot be derived from the public key. Indices without a H suffix are called Soft.

  • Specify only invalid_before or invalid_hereafter or both.

    Please note that, if not set, the default values are:

    • "invalid_before": {"quantity":0, "unit":"slot"}
    • "invalid_hereafter":{"quantity":7200, "unit":"second"}

    Which translates to 2h transaction TTL.

    Hide validity_interval attributes Show validity_interval attributes object
  • reference_policy_script_template string | object

    One of:

    Leaf value for a script designating a cosigner co-sharing the script.

    Format should match the following pattern: ^(cosigner#)[0-9]*$.

  • encoding string

    Encoding of transaction CBOR returned in response (base64 by default).

    Values are base16 or base64.

Responses

  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • message string Required

      May occur when a request is not well-formed; that is, it fails to parse successfully. This could be the case when some required parameters are missing or, when malformed values are provided.

    • code string Required

      Value is bad_request.

  • 403 application/json

    Forbidden

    One of:
    Hide attributes Show attributes
    • message string Required

      May occur when trying to perform an operation not supported by this type of wallet.

    • code string Required

      Value is invalid_wallet_type.

  • 404 application/json

    Not Found

    Hide response attributes Show response attributes object
    • message string Required

      May occur when a given walletId does not match with any known wallets (because it has been deleted, or has never existed).

    • code string Required

      Value is no_such_wallet.

  • 406 application/json

    Not Acceptable

    Hide response attributes Show response attributes object
    • message string Required

      May occur when providing an invalid 'Accept' header.

    • code string Required

      Value is not_acceptable.

  • 415 application/json

    Unsupported Media Type

    Hide response attributes Show response attributes object
    • message string Required

      May occur when providing an invalid 'Content-Type' header.

    • code string Required

      Value is unsupported_media_type.

  • 202 application/json

    Accepted

    Hide response attributes Show response attributes object
    • transaction string(base64|base16) Required

      The CBOR-encoded transaction, represented in either hex or base64 encoding. This always includes the transaction body and the witness set, even if the latter is empty.

    • coin_selection object Required
      Hide coin_selection attributes Show coin_selection attributes object
      • inputs array[object] Required

        A list of transaction inputs

        Hide inputs attributes Show inputs attributes object
        • address string(base58|bech32) Required

          A sequence of characters that encodes (in Base58 or Bech32) a sequence of bytes which represents an address on the Cardano blockchain. Sequences in Base58 encoding are expected to be legacy Byron addresses, whereas sequences in Bech32 encoding correspond to current Shelley addresses.

          For more details, see CIP-0019 — Cardano addresses .

        • amount object Required

          Coins, in Lovelace. Only relates to 'Ada'. Refer to assets for multi-assets wallets instead.

          Hide amount attributes Show amount attributes object
          • quantity integer Required

            Minimum value is 0.

          • unit string Required

            Value is lovelace.

        • assets array[object]

          An asset on the Cardano blockchain. An asset is uniquely identified by its policy_id and asset_name (together, these form the asset id).

          Two assets with the same asset_name and policy_id are interchangeable. Yet, different assets with a same policy_id but different asset_name are treated as separate assets, as are two assets with the same asset_name but different policy_id.

          An asset on the Cardano blockchain. An asset is uniquely identified by its policy_id and asset_name (together, these form the asset id).

          Two assets with the same asset_name and policy_id are interchangeable. Yet, different assets with a same policy_id but different asset_name are treated as separate assets, as are two assets with the same asset_name but different policy_id.

          Hide assets attributes Show assets attributes object
          • policy_id string(hex) Required

            A unique identifier of the asset's monetary policy. The policy controls how assets of this kind are created and destroyed.

            The contents are the blake2b-224 hash of the monetary policy script, encoded in hexadecimal.

            Minimum length is 56, maximum length is 56.

          • asset_name string(hex) Required

            The asset on-chain type which acts as a sub-identifier within a policy. Although we call it "asset name", the value needn't be text, and it could even be empty.

            For policies with a single fungible asset item, asset name is typically an empty string.

            This value can be up to 32 bytes of arbitrary data (which is 64 hexadecimal digits).

            Maximum length is 64.

          • quantity integer Required

            Number of assets for the given policy_id and asset_name.

            Minimum value is 0.

        • id string(hex) Required

          A unique identifier for this transaction

          Minimum length is 64, maximum length is 64.

        • derivation_path array[string] Required

          An individual segment within a derivation path.

          The H suffix indicates a Hardened child private key, which means that children of this key cannot be derived from the public key. Indices without a H suffix are called Soft.

          At least 1 element.

        • index integer Required

          Minimum value is 0.

      • outputs array[object] Required

        A list of target outputs with amounts specified.

        When creating a new transaction, the wallet software ensures that all user-specified transaction outputs have ada amounts that satisfy the ledger minimum UTxO rule:

        • If a user-specified transaction output has an ada amount that is zero, the wallet software will automatically assign a minimal amount of ada to the output so that it satisfies the ledger minimum UTxO rule.

        • If a user-specified transaction output has an ada amount that is non-zero, the wallet software will verify that the specified amount is large enough to satisfy the ledger minimum UTxO rule. If the amount is not large enough, the wallet software will return a utxo_too_small error, together with a revised ada amount that does satisfy the minimum UTxO rule.

        At least 0 elements.

        Hide outputs attributes Show outputs attributes object
        • address string(base58|bech32) Required

          A sequence of characters that encodes (in Base58 or Bech32) a sequence of bytes which represents an address on the Cardano blockchain. Sequences in Base58 encoding are expected to be legacy Byron addresses, whereas sequences in Bech32 encoding correspond to current Shelley addresses.

          For more details, see CIP-0019 — Cardano addresses .

        • amount object Required

          Coins, in Lovelace. Only relates to 'Ada'. Refer to assets for multi-assets wallets instead.

          Hide amount attributes Show amount attributes object
          • quantity integer Required

            Minimum value is 0.

          • unit string Required

            Value is lovelace.

        • assets array[object]

          An asset on the Cardano blockchain. An asset is uniquely identified by its policy_id and asset_name (together, these form the asset id).

          Two assets with the same asset_name and policy_id are interchangeable. Yet, different assets with a same policy_id but different asset_name are treated as separate assets, as are two assets with the same asset_name but different policy_id.

          An asset on the Cardano blockchain. An asset is uniquely identified by its policy_id and asset_name (together, these form the asset id).

          Two assets with the same asset_name and policy_id are interchangeable. Yet, different assets with a same policy_id but different asset_name are treated as separate assets, as are two assets with the same asset_name but different policy_id.

          Hide assets attributes Show assets attributes object
          • policy_id string(hex) Required

            A unique identifier of the asset's monetary policy. The policy controls how assets of this kind are created and destroyed.

            The contents are the blake2b-224 hash of the monetary policy script, encoded in hexadecimal.

            Minimum length is 56, maximum length is 56.

          • asset_name string(hex) Required

            The asset on-chain type which acts as a sub-identifier within a policy. Although we call it "asset name", the value needn't be text, and it could even be empty.

            For policies with a single fungible asset item, asset name is typically an empty string.

            This value can be up to 32 bytes of arbitrary data (which is 64 hexadecimal digits).

            Maximum length is 64.

          • quantity integer Required

            Number of assets for the given policy_id and asset_name.

            Minimum value is 0.

      • change array[object] Required

        A list of transaction change outputs.

        At least 0 elements.

        Hide change attributes Show change attributes object
        • address string(base58|bech32) Required

          A sequence of characters that encodes (in Base58 or Bech32) a sequence of bytes which represents an address on the Cardano blockchain. Sequences in Base58 encoding are expected to be legacy Byron addresses, whereas sequences in Bech32 encoding correspond to current Shelley addresses.

          For more details, see CIP-0019 — Cardano addresses .

        • amount object Required

          Coins, in Lovelace. Only relates to 'Ada'. Refer to assets for multi-assets wallets instead.

          Hide amount attributes Show amount attributes object
          • quantity integer Required

            Minimum value is 0.

          • unit string Required

            Value is lovelace.

        • assets array[object]

          An asset on the Cardano blockchain. An asset is uniquely identified by its policy_id and asset_name (together, these form the asset id).

          Two assets with the same asset_name and policy_id are interchangeable. Yet, different assets with a same policy_id but different asset_name are treated as separate assets, as are two assets with the same asset_name but different policy_id.

          An asset on the Cardano blockchain. An asset is uniquely identified by its policy_id and asset_name (together, these form the asset id).

          Two assets with the same asset_name and policy_id are interchangeable. Yet, different assets with a same policy_id but different asset_name are treated as separate assets, as are two assets with the same asset_name but different policy_id.

          Hide assets attributes Show assets attributes object
          • policy_id string(hex) Required

            A unique identifier of the asset's monetary policy. The policy controls how assets of this kind are created and destroyed.

            The contents are the blake2b-224 hash of the monetary policy script, encoded in hexadecimal.

            Minimum length is 56, maximum length is 56.

          • asset_name string(hex) Required

            The asset on-chain type which acts as a sub-identifier within a policy. Although we call it "asset name", the value needn't be text, and it could even be empty.

            For policies with a single fungible asset item, asset name is typically an empty string.

            This value can be up to 32 bytes of arbitrary data (which is 64 hexadecimal digits).

            Maximum length is 64.

          • quantity integer Required

            Number of assets for the given policy_id and asset_name.

            Minimum value is 0.

        • derivation_path array[string] Required

          An individual segment within a derivation path.

          The H suffix indicates a Hardened child private key, which means that children of this key cannot be derived from the public key. Indices without a H suffix are called Soft.

          At least 1 element.

      • collateral array[object]

        A list of transaction inputs used for collateral

        Hide collateral attributes Show collateral attributes object
        • address string(base58|bech32) Required

          A sequence of characters that encodes (in Base58 or Bech32) a sequence of bytes which represents an address on the Cardano blockchain. Sequences in Base58 encoding are expected to be legacy Byron addresses, whereas sequences in Bech32 encoding correspond to current Shelley addresses.

          For more details, see CIP-0019 — Cardano addresses .

        • amount object Required

          Coins, in Lovelace. Only relates to 'Ada'. Refer to assets for multi-assets wallets instead.

          Hide amount attributes Show amount attributes object
          • quantity integer Required

            Minimum value is 0.

          • unit string Required

            Value is lovelace.

        • id string(hex) Required

          A unique identifier for this transaction

          Minimum length is 64, maximum length is 64.

        • derivation_path array[string] Required

          An individual segment within a derivation path.

          The H suffix indicates a Hardened child private key, which means that children of this key cannot be derived from the public key. Indices without a H suffix are called Soft.

          At least 1 element.

        • index integer Required

          Minimum value is 0.

      • withdrawals array[object]

        A list of withdrawals from stake addresses.

        At least 0 elements.

        Hide withdrawals attributes Show withdrawals attributes object
        • stake_address string(bech32) Required
        • derivation_path array[string] Required

          An individual segment within a derivation path.

          The H suffix indicates a Hardened child private key, which means that children of this key cannot be derived from the public key. Indices without a H suffix are called Soft.

          At least 1 element.

        • amount object Required

          Coins, in Lovelace. Only relates to 'Ada'. Refer to assets for multi-assets wallets instead.

          Hide amount attributes Show amount attributes object
          • quantity integer Required

            Minimum value is 0.

          • unit string Required

            Value is lovelace.

      • certificates array[object]

        A delegation certificate belonging to wallet

        Only for 'join_pool' the 'pool' property is required.

        A delegation certificate belonging to wallet

        Only for 'join_pool' the 'pool' property is required.

        Hide certificates attributes Show certificates attributes object
        • certificate_type string Required

          Values are join_pool, quit_pool, or register_reward_account.

        • pool string(hex|bech32)

          A unique identifier for the pool.

        • reward_account_path array[string] Required

          At least 5 but not more than 5 elements.

      • deposits_taken array[object]

        Coins, in Lovelace. Only relates to 'Ada'. Refer to assets for multi-assets wallets instead.

        Coins, in Lovelace. Only relates to 'Ada'. Refer to assets for multi-assets wallets instead.

        At least 0 elements.

        Hide deposits_taken attributes Show deposits_taken attributes object
        • quantity integer Required

          Minimum value is 0.

        • unit string Required

          Value is lovelace.

      • deposits_returned array[object]

        Coins, in Lovelace. Only relates to 'Ada'. Refer to assets for multi-assets wallets instead.

        Coins, in Lovelace. Only relates to 'Ada'. Refer to assets for multi-assets wallets instead.

        At least 0 elements.

        Hide deposits_returned attributes Show deposits_returned attributes object
        • quantity integer Required

          Minimum value is 0.

        • unit string Required

          Value is lovelace.

      • metadata string(base64)

        Transaction metadata, serialized according to the expected on-chain binary format, base64-encoded.

    • fee object Required

      Coins, in Lovelace. Only relates to 'Ada'. Refer to assets for multi-assets wallets instead.

      Hide fee attributes Show fee attributes object
      • quantity integer Required

        Minimum value is 0.

      • unit string Required

        Value is lovelace.

POST /wallets/{walletId}/transactions-construct
curl \
 -X POST https://localhost:8090/v2/wallets/{walletId}/transactions-construct \
 -H "Content-Type: application/json" \
 -d '{"payments":[{"address":"addr1sjck9mdmfyhzvjhydcjllgj9vjvl522w0573ncustrrr2rg7h9azg4cyqd36yyd48t5ut72hgld0fg2xfvz82xgwh7wal6g2xt8n996s3xvu5g","amount":{"quantity":42000000,"unit":"lovelace"},"assets":[{"policy_id":"65ab82542b0ca20391caaf66a4d4d7897d281f9c136cd3513136945b","asset_name":"string","quantity":42}]}],"withdrawal":"self","metadata":{"0":{"string":"cardano"},"1":{"int":14},"2":{"bytes":"2512a00e9653fe49a44a5886202e24d77eeb998f"},"3":{"list":[{"int":14},{"int":42},{"string":"1337"}]},"4":{"map":[{"k":{"string":"key"},"v":{"string":"value"}},{"k":{"int":14},"v":{"int":42}}]}},"encrypt_metadata":{"passphrase":"Secure Passphrase"},"mint_burn":[{"policy_script_template":"string","asset_name":"string","operation":{"mint":{"receiving_address":"addr1sjck9mdmfyhzvjhydcjllgj9vjvl522w0573ncustrrr2rg7h9azg4cyqd36yyd48t5ut72hgld0fg2xfvz82xgwh7wal6g2xt8n996s3xvu5g","quantity":42}}}],"vote":"abstain","delegations":[{"join":{"pool":"pool1wqaz0q0zhtxlgn0ewssevn2mrtm30fgh2g7hr7z9rj5856457mm","stake_key_index":"1852H"}}],"validity_interval":{"invalid_before":{"quantity":10,"unit":"second"},"invalid_hereafter":{"quantity":10,"unit":"second"}},"reference_policy_script_template":"string","encoding":"base16"}'
Request example
{
  "payments": [
    {
      "address": "addr1sjck9mdmfyhzvjhydcjllgj9vjvl522w0573ncustrrr2rg7h9azg4cyqd36yyd48t5ut72hgld0fg2xfvz82xgwh7wal6g2xt8n996s3xvu5g",
      "amount": {
        "quantity": 42000000,
        "unit": "lovelace"
      },
      "assets": [
        {
          "policy_id": "65ab82542b0ca20391caaf66a4d4d7897d281f9c136cd3513136945b",
          "asset_name": "string",
          "quantity": 42
        }
      ]
    }
  ],
  "withdrawal": "self",
  "metadata": {
    "0": {
      "string": "cardano"
    },
    "1": {
      "int": 14
    },
    "2": {
      "bytes": "2512a00e9653fe49a44a5886202e24d77eeb998f"
    },
    "3": {
      "list": [
        {
          "int": 14
        },
        {
          "int": 42
        },
        {
          "string": "1337"
        }
      ]
    },
    "4": {
      "map": [
        {
          "k": {
            "string": "key"
          },
          "v": {
            "string": "value"
          }
        },
        {
          "k": {
            "int": 14
          },
          "v": {
            "int": 42
          }
        }
      ]
    }
  },
  "encrypt_metadata": {
    "passphrase": "Secure Passphrase"
  },
  "mint_burn": [
    {
      "policy_script_template": "string",
      "asset_name": "string",
      "operation": {
        "mint": {
          "receiving_address": "addr1sjck9mdmfyhzvjhydcjllgj9vjvl522w0573ncustrrr2rg7h9azg4cyqd36yyd48t5ut72hgld0fg2xfvz82xgwh7wal6g2xt8n996s3xvu5g",
          "quantity": 42
        }
      }
    }
  ],
  "vote": "abstain",
  "delegations": [
    {
      "join": {
        "pool": "pool1wqaz0q0zhtxlgn0ewssevn2mrtm30fgh2g7hr7z9rj5856457mm",
        "stake_key_index": "1852H"
      }
    }
  ],
  "validity_interval": {
    "invalid_before": {
      "quantity": 10,
      "unit": "second"
    },
    "invalid_hereafter": {
      "quantity": 10,
      "unit": "second"
    }
  },
  "reference_policy_script_template": "string",
  "encoding": "base16"
}
Response examples (400)
{
  "message": "string",
  "code": "bad_request"
}
{
  "message": "string",
  "code": "invalid_wallet_type"
}
{
  "message": "string",
  "code": "already_withdrawing"
}
{
  "message": "string",
  "code": "utxo_too_small",
  "info": {
    "tx_output_index": 42,
    "tx_output_lovelace_specified": {
      "quantity": 42000000,
      "unit": "lovelace"
    },
    "tx_output_lovelace_required_minimum": {
      "quantity": 42000000,
      "unit": "lovelace"
    }
  }
}
{
  "message": "string",
  "code": "cannot_cover_fee"
}
{
  "message": "string",
  "code": "not_enough_money"
}
{
  "message": "string",
  "code": "insufficient_collateral"
}
{
  "message": "string",
  "code": "transaction_is_too_big"
}
{
  "message": "string",
  "code": "created_multidelegation_transaction"
}
{
  "message": "string",
  "code": "created_multiaccount_transaction"
}
{
  "message": "string",
  "code": "created_wrong_policy_script_template"
}
{
  "message": "string",
  "code": "asset_name_too_long"
}
{
  "message": "string",
  "code": "mint_or_burn_asset_quantity_out_of_bounds"
}
{
  "message": "string",
  "code": "invalid_validity_bounds"
}
{
  "message": "string",
  "code": "validity_interval_not_inside_script_timelock"
}
{
  "message": "string",
  "code": "shared_wallet_incomplete"
}
{
  "message": "string",
  "code": "staking_invalid"
}
Response examples (404)
{
  "message": "string",
  "code": "no_such_wallet"
}
Response examples (406)
{
  "message": "string",
  "code": "not_acceptable"
}
Response examples (415)
{
  "message": "string",
  "code": "unsupported_media_type"
}
Response examples (202)
{
  "transaction": "string",
  "coin_selection": {
    "inputs": [
      {
        "address": "addr1sjck9mdmfyhzvjhydcjllgj9vjvl522w0573ncustrrr2rg7h9azg4cyqd36yyd48t5ut72hgld0fg2xfvz82xgwh7wal6g2xt8n996s3xvu5g",
        "amount": {
          "quantity": 42000000,
          "unit": "lovelace"
        },
        "assets": [
          {
            "policy_id": "65ab82542b0ca20391caaf66a4d4d7897d281f9c136cd3513136945b",
            "asset_name": "string",
            "quantity": 42
          }
        ],
        "id": "1423856bc91c49e928f6f30f4e8d665d53eb4ab6028bd0ac971809d514c92db1",
        "derivation_path": [
          "1852H"
        ],
        "index": 42
      }
    ],
    "outputs": [
      {
        "address": "addr1sjck9mdmfyhzvjhydcjllgj9vjvl522w0573ncustrrr2rg7h9azg4cyqd36yyd48t5ut72hgld0fg2xfvz82xgwh7wal6g2xt8n996s3xvu5g",
        "amount": {
          "quantity": 42000000,
          "unit": "lovelace"
        },
        "assets": [
          {
            "policy_id": "65ab82542b0ca20391caaf66a4d4d7897d281f9c136cd3513136945b",
            "asset_name": "string",
            "quantity": 42
          }
        ]
      }
    ],
    "change": [
      {
        "address": "addr1sjck9mdmfyhzvjhydcjllgj9vjvl522w0573ncustrrr2rg7h9azg4cyqd36yyd48t5ut72hgld0fg2xfvz82xgwh7wal6g2xt8n996s3xvu5g",
        "amount": {
          "quantity": 42000000,
          "unit": "lovelace"
        },
        "assets": [
          {
            "policy_id": "65ab82542b0ca20391caaf66a4d4d7897d281f9c136cd3513136945b",
            "asset_name": "string",
            "quantity": 42
          }
        ],
        "derivation_path": [
          "1852H"
        ]
      }
    ],
    "collateral": [
      {
        "address": "addr1sjck9mdmfyhzvjhydcjllgj9vjvl522w0573ncustrrr2rg7h9azg4cyqd36yyd48t5ut72hgld0fg2xfvz82xgwh7wal6g2xt8n996s3xvu5g",
        "amount": {
          "quantity": 42000000,
          "unit": "lovelace"
        },
        "id": "1423856bc91c49e928f6f30f4e8d665d53eb4ab6028bd0ac971809d514c92db1",
        "derivation_path": [
          "1852H"
        ],
        "index": 42
      }
    ],
    "withdrawals": [
      {
        "stake_address": "stake1sjck9mdmfyhzvjhydcjllgj9vjvl522w0573ncustrrr2rg7h9azg4cyqd36yyd48t5ut72hgld0fg2x",
        "derivation_path": [
          "1852H"
        ],
        "amount": {
          "quantity": 42000000,
          "unit": "lovelace"
        }
      }
    ],
    "certificates": [
      {
        "certificate_type": "join_pool",
        "pool": "pool1wqaz0q0zhtxlgn0ewssevn2mrtm30fgh2g7hr7z9rj5856457mm",
        "reward_account_path": [
          "string"
        ]
      }
    ],
    "deposits_taken": [
      {
        "quantity": 42000000,
        "unit": "lovelace"
      }
    ],
    "deposits_returned": [
      {
        "quantity": 42000000,
        "unit": "lovelace"
      }
    ],
    "metadata": "string"
  },
  "fee": {
    "quantity": 42000000,
    "unit": "lovelace"
  }
}