# Create transaction

Request approval and signing of a transaction. VKS assigns its transaction_id. Use an active account, a network supported by its address format, and one complete signing group from the vault. Supply transaction settings for the matching blockchain family. Bitcoin inputs must belong to the account.
Reuse the same Idempotency-Key with the same parameters when retrying this request. Current access is checked on every retry. The original successful response is available for 24 hours from successful completion; replay does not repeat the action. Concurrent requests with the same key return 409 idempotency_in_progress, changed parameters return idempotency_request_mismatch, and expired replay returns idempotency_result_expired. Missing, invalid or repeated headers return 400.

Endpoint: POST /transactions
Version: 1.0.0
Security: Auth

## Security:

  - `Auth` (unknown)
    apiKey in header X-Api-Key scopes: vks:access

## Header parameters:

  - `Idempotency-Key` (string, required)
    Case-sensitive opaque key for one mutation intent. Send exactly one header occurrence containing 1 to 128 visible ASCII bytes (0x21..0x7e). Commas are literal data; do not trim, lowercase or require UUID syntax. Reuse the same key for retries, with current authorization checked on every attempt. Repeated header occurrences are rejected.

## Request fields (application/json):

  - `account_id` (string, required)
    Account to sign the transaction. The account must be active.

  - `quorum_signer_ids` (array, required)
    Signers to approve and sign this transaction. Choose one complete group from the vault minimal_quorums.

  - `chain_gid` (string, required)
    Blockchain identifier in CAIP-2 format, such as eip155:11155111 for Sepolia. The network must support the account address format.

  - `parameters` (any, required)
    Transaction settings for the selected blockchain family.

  - `parameters.family` (string, required)
    Blockchain family for the transaction.
    Enum: "evm", "tron", "bitcoin"

  - `parameters.action` (any, required)
    Action to perform on the EVM network.

  - `parameters.action.kind` (string, required)
    Transfer the native currency.
    Enum: "transfer"

  - `parameters.action.payment` (any, required)
    Who pays the transaction fee and the settings for that payment.

  - `parameters.action.payment.mode` (string, required)
    The account pays the transaction fee.
    Enum: "self"

  - `parameters.action.payment.nonce` (string, required)
    Account transaction nonce to use for this transaction.

  - `parameters.action.payment.gas_limit` (string, required)
    Maximum amount of gas the transaction may use.

  - `parameters.action.payment.max_fee_per_gas` (string, required)
    Maximum total fee per unit of gas, in wei.

  - `parameters.action.payment.max_priority_fee_per_gas` (string, required)
    Maximum priority fee per unit of gas, in wei.

  - `parameters.action.payment.mode` (string, required)
    A sponsor pays the transaction fee.
    Enum: "sponsored"

  - `parameters.action.payment.sponsor` (string, required)
    Address of the account that will pay the transaction fee.

  - `parameters.action.payment.delegate_nonce` (string, required)
    Account delegate counter used for sponsored actions, separate from the account transaction nonce. Revoking and restoring the delegation does not reset this value.

  - `parameters.action.payment.authorization` (object)
    Authorization needed for the first sponsored action when the account has no delegate. Omit when a delegate is already set.

  - `parameters.action.payment.authorization.delegate` (string, required)
    Contract to authorize for sponsored actions. It must be supported by the signers.

  - `parameters.action.payment.authorization.account_nonce` (string, required)
    Current account nonce used to authorize the delegation.

  - `parameters.action.to` (string, required)
    Recipient address.

  - `parameters.action.amount` (string, required)
    Amount in wei.

  - `parameters.action.kind` (string, required)
    Transfer an ERC-20 token.
    Enum: "erc20_transfer"

  - `parameters.action.token` (string, required)
    The ERC-20 token contract's address.

  - `parameters.action.amount` (string, required)
    Amount in token base units; the spending allowance for approvals.

  - `parameters.action.kind` (string, required)
    Set an ERC-20 spending allowance.
    Enum: "erc20_approve"

  - `parameters.action.spender` (string, required)
    Address allowed to spend the token.

  - `parameters.action.kind` (string, required)
    Revoke the account delegation.
    Enum: "delegation"

  - `parameters.action.account_nonce` (string, required)
    Current account nonce used to authorize the delegation revocation.

  - `parameters.action.kind` (string, required)
    Pay the fee for another account action.
    Enum: "sponsor_envelope"

  - `parameters.action.ingredient` (string, required)
    Signed result from the sponsored action. Pass its raw_tx value unchanged.

  - `parameters.action.to` (string, required)
    Sponsored account address.

  - `parameters.action.kind` (string, required)
    Pay the fee for another account delegation revocation.
    Enum: "sponsor_delegation"

  - `parameters.action.ingredient` (string, required)
    Signed result from the delegation revocation. Pass its raw_tx value unchanged.

  - `parameters.ref_block_bytes` (string, required)
    Last two bytes of the reference block number. For block 70769822, use dc9e.

  - `parameters.ref_block_hash` (string, required)
    Reference block hash fragment: hex characters 16–31 of the block ID, counting from zero.

  - `parameters.timestamp_unix_ms` (integer, required)
    Transaction creation time, in Unix milliseconds.

  - `parameters.expiration_unix_ms` (integer, required)
    Transaction expiry time, in Unix milliseconds. Must be after timestamp_unix_ms and no more than 24 hours later. Signing must finish before this time.

  - `parameters.action` (any, required)
    Action to perform on Tron.

  - `parameters.action.kind` (string, required)
    Transfer TRX to the recipient.
    Enum: "transfer"

  - `parameters.action.amount` (string, required)
    Amount in sun.

  - `parameters.action.kind` (string, required)
    Transfer TRC-20 tokens to the recipient.
    Enum: "trc20_transfer"

  - `parameters.action.token` (string, required)
    TRC-20 token contract address.

  - `parameters.action.amount` (string, required)
    Token base units, from 1 to 115792089237316195423570985008687907853269984665640564039457584007913129639935. Values outside this numeric range are rejected.

  - `parameters.action.fee_limit` (string, required)
    Energy budget in sun, including resource equivalent, from 1 to 9223372036854775807. This does not guarantee zero TRX burn. Check the current network fee limit through RPC before requesting signing; the API validates the fee limit against the numeric range above.

  - `parameters.action.kind` (string, required)
    Create and activate the recipient account.
    Enum: "account_create"

  - `parameters.action.kind` (string, required)
    Stake TRX through Stake 2.0 to obtain the selected resource.
    Enum: "stake"

  - `parameters.action.resource` (string, required)
    Tron resource to stake or delegate.
    Enum: "bandwidth", "energy"

  - `parameters.action.amount` (string, required)
    Amount in sun, from 1 to 9223372036854775807.

  - `parameters.action.kind` (string, required)
    Unstake TRX from the selected resource through Stake 2.0. The resulting withdrawal is subject to the network waiting period.
    Enum: "unstake"

  - `parameters.action.kind` (string, required)
    Delegate resource capacity backed by the specified staked TRX amount to the recipient.
    Enum: "delegate_resource"

  - `parameters.action.amount` (string, required)
    Staked TRX amount in sun backing the resource capacity, not a count of resource units. From 1 to 9223372036854775807; the exact numeric bound is validated separately.

  - `parameters.action.kind` (string, required)
    Reclaim resource capacity backed by the specified staked TRX amount from the recipient.
    Enum: "undelegate_resource"

  - `parameters.action.kind` (string, required)
    Withdraw all matured unstaked TRX to the signing account. The network determines the withdrawable amount; no fixed amount or recipient is supplied.
    Enum: "withdraw_unstaked"

  - `parameters.action` (object, required)
    Bitcoin transaction settings. The fee is the total input value minus the transfer amount and change. Inputs must cover both outputs and a positive fee of at least 1 satoshi per virtual byte. Input order is preserved.

  - `parameters.action.kind` (string, required)
    Enum: "transfer"

  - `parameters.action.amount` (string, required)
    Transfer amount in satoshi.

  - `parameters.action.inputs` (array, required)
    Unspent outputs to use for the transaction. Each output must belong to the account and may appear only once.

  - `parameters.action.inputs.txid` (string, required)
    Identifier of the transaction containing the output to spend, as shown by a block explorer.

  - `parameters.action.inputs.vout` (integer, required)
    Index of the output to spend within that transaction.

  - `parameters.action.inputs.amount` (string, required)
    Value of the output to spend, in satoshi.

  - `parameters.action.inputs.script_pubkey` (string, required)
    Locking script of the output to spend. The output must belong to the account and use its SegWit address format.

  - `parameters.action.change` (string)
    Amount to return to the account address, in satoshi. Omit or set to zero when no change is needed.

## Request examples:

  - `ETH transfer with the account paying the fee` (unknown)
    Replace the identifiers, recipient, nonce and fee settings before submitting.

  - `Sponsored ETH transfer from an account with delegation already enabled` (unknown)
    Returns a signed ingredient for the sponsor to include in a transaction. Replace the identifiers and addresses and read the current delegate nonce before submitting.

  - `TRX transfer` (unknown)
    Replace the identifiers and recipient. Read a recent reference block and set fresh creation and expiry times before submitting; these example block values are illustrative.

  - `Bitcoin transfer with change returned to the account` (unknown)
    Spend 100000 satoshi, send 50000 and return 49000 as change, leaving a 1000 satoshi fee. Replace the example input with a current unspent output belonging to the account, along with its exact locking script. Replace the identifiers and recipient before submitting.

  - `EVM erc20 transfer` (unknown)
    Replace the identifiers, recipient, nonce and fee settings before submitting.

  - `EVM erc20 approve` (unknown)
    Replace the identifiers, recipient, nonce and fee settings before submitting.

  - `EVM delegation` (unknown)
    Replace the identifiers, recipient, nonce and fee settings before submitting.

  - `EVM sponsor envelope` (unknown)
    Replace the identifiers, recipient, nonce and fee settings before submitting.

  - `EVM sponsor delegation` (unknown)
    Replace the identifiers, recipient, nonce and fee settings before submitting.

  - `Tron trc20 transfer` (unknown)
    Replace the identifiers and recipient. Read a recent reference block and set fresh creation and expiry times before submitting; these example block values are illustrative.

  - `Tron account create` (unknown)
    Replace the identifiers and recipient. Read a recent reference block and set fresh creation and expiry times before submitting; these example block values are illustrative.

  - `Tron stake` (unknown)
    Replace the identifiers and recipient. Read a recent reference block and set fresh creation and expiry times before submitting; these example block values are illustrative.

  - `Tron unstake` (unknown)
    Replace the identifiers and recipient. Read a recent reference block and set fresh creation and expiry times before submitting; these example block values are illustrative.

  - `Tron delegate resource` (unknown)
    Replace the identifiers and recipient. Read a recent reference block and set fresh creation and expiry times before submitting; these example block values are illustrative.

  - `Tron undelegate resource` (unknown)
    Replace the identifiers and recipient. Read a recent reference block and set fresh creation and expiry times before submitting; these example block values are illustrative.

  - `Tron withdraw unstaked` (unknown)
    Replace the identifiers and recipient. Read a recent reference block and set fresh creation and expiry times before submitting; these example block values are illustrative.

## Response 201:

  - `201` (unknown)
    The new transaction, already `awaiting_approvals` if validation passed.

## Response 201 fields (application/json):

  - `item` (object, required)
    A transaction signing request, including approvals and the signed result when available. Signed results remain available without automatic deletion.

  - `item.transaction_id` (string, required)
    Unique identifier assigned to this signing request by VKS.

  - `item.account_id` (string, required)
    Account used to sign the transaction.

  - `item.state` (string, required)
    Status of the signing request.
    Enum: "draft", "awaiting_approvals", "signing", "signed", "rejected", "failed", "expired"

  - `item.chain_gid` (string, required)
    Blockchain identifier in CAIP-2 format, such as eip155:11155111 for Sepolia. The network must support the account address format.

  - `item.intent_hash` (string, required)
    Hash used to verify the transaction details presented for approval.

  - `item.quorum_signer_ids` (array, required)
    Signers selected to approve and sign this transaction.

  - `item.approvals` (array, required)
    Decisions received from the signers. Empty until the first decision arrives; the order is not significant.

  - `item.approvals.signer_id` (string, required)
    Unique identifier of the signer.

  - `item.approvals.decision` (string, required)
    Whether the signer approved or rejected the transaction.
    Enum: "accepted", "rejected"

  - `item.approvals.decided_at` (string, required)
    Time the signer made the decision.

  - `item.raw_tx` (any, required)
    Signed result, encoded in Base64. Ready to send when `result_form` is `transaction`; otherwise use it to create a sponsored transaction. Null until signing is complete.

  - `item.tx_hash` (any, required)
    Hash of the signed transaction, or of the signed action when result_form is ingredient. Null until signing is complete.

  - `item.result_form` (string, required)
    Whether the signed result is ready to send to the blockchain or must first be included in a transaction paid for by a sponsor.
    Enum: "transaction", "ingredient"

  - `item.failure_code` (string)
    Code indicating why the signing request failed. Absent if no failure occurred.

  - `item.created_at` (string, required)
    Time the signing request was created.

  - `item.expires_at` (string, required)
    Deadline for the signing request. Signed results remain available after this time.

  - `item.sent_at` (string | null, required)
    Time VKS received confirmation that a blockchain node accepted the transaction. Null when no such confirmation was received. Does not report transactions sent outside VKS or blockchain confirmations.

  - `item.parameters` (any, required)
    Transaction settings for the selected blockchain family.

  - `item.parameters.family` (string, required)
    Blockchain family for the transaction.
    Enum: "evm", "tron", "bitcoin"

  - `item.parameters.action` (any, required)
    Action to perform on the EVM network.

  - `item.parameters.action.kind` (string, required)
    Transfer the native currency.
    Enum: "transfer"

  - `item.parameters.action.payment` (any, required)
    Who pays the transaction fee and the settings for that payment.

  - `item.parameters.action.payment.mode` (string, required)
    The account pays the transaction fee.
    Enum: "self"

  - `item.parameters.action.payment.nonce` (string, required)
    Account transaction nonce to use for this transaction.

  - `item.parameters.action.payment.gas_limit` (string, required)
    Maximum amount of gas the transaction may use.

  - `item.parameters.action.payment.max_fee_per_gas` (string, required)
    Maximum total fee per unit of gas, in wei.

  - `item.parameters.action.payment.max_priority_fee_per_gas` (string, required)
    Maximum priority fee per unit of gas, in wei.

  - `item.parameters.action.payment.mode` (string, required)
    A sponsor pays the transaction fee.
    Enum: "sponsored"

  - `item.parameters.action.payment.sponsor` (string, required)
    Address of the account that will pay the transaction fee.

  - `item.parameters.action.payment.delegate_nonce` (string, required)
    Account delegate counter used for sponsored actions, separate from the account transaction nonce. Revoking and restoring the delegation does not reset this value.

  - `item.parameters.action.payment.authorization` (object)
    Authorization needed for the first sponsored action when the account has no delegate. Omit when a delegate is already set.

  - `item.parameters.action.payment.authorization.delegate` (string, required)
    Contract to authorize for sponsored actions. It must be supported by the signers.

  - `item.parameters.action.payment.authorization.account_nonce` (string, required)
    Current account nonce used to authorize the delegation.

  - `item.parameters.action.to` (string, required)
    Recipient address.

  - `item.parameters.action.amount` (string, required)
    Amount in wei.

  - `item.parameters.action.kind` (string, required)
    Transfer an ERC-20 token.
    Enum: "erc20_transfer"

  - `item.parameters.action.token` (string, required)
    The ERC-20 token contract's address.

  - `item.parameters.action.amount` (string, required)
    Amount in token base units; the spending allowance for approvals.

  - `item.parameters.action.kind` (string, required)
    Set an ERC-20 spending allowance.
    Enum: "erc20_approve"

  - `item.parameters.action.spender` (string, required)
    Address allowed to spend the token.

  - `item.parameters.action.kind` (string, required)
    Revoke the account delegation.
    Enum: "delegation"

  - `item.parameters.action.account_nonce` (string, required)
    Current account nonce used to authorize the delegation revocation.

  - `item.parameters.action.kind` (string, required)
    Pay the fee for another account action.
    Enum: "sponsor_envelope"

  - `item.parameters.action.ingredient` (string, required)
    Signed result from the sponsored action. Pass its raw_tx value unchanged.

  - `item.parameters.action.to` (string, required)
    Sponsored account address.

  - `item.parameters.action.kind` (string, required)
    Pay the fee for another account delegation revocation.
    Enum: "sponsor_delegation"

  - `item.parameters.action.ingredient` (string, required)
    Signed result from the delegation revocation. Pass its raw_tx value unchanged.

  - `item.parameters.ref_block_bytes` (string, required)
    Last two bytes of the reference block number. For block 70769822, use dc9e.

  - `item.parameters.ref_block_hash` (string, required)
    Reference block hash fragment: hex characters 16–31 of the block ID, counting from zero.

  - `item.parameters.timestamp_unix_ms` (integer, required)
    Transaction creation time, in Unix milliseconds.

  - `item.parameters.expiration_unix_ms` (integer, required)
    Transaction expiry time, in Unix milliseconds. Must be after timestamp_unix_ms and no more than 24 hours later. Signing must finish before this time.

  - `item.parameters.action` (any, required)
    Action to perform on Tron.

  - `item.parameters.action.kind` (string, required)
    Transfer TRX to the recipient.
    Enum: "transfer"

  - `item.parameters.action.amount` (string, required)
    Amount in sun.

  - `item.parameters.action.kind` (string, required)
    Transfer TRC-20 tokens to the recipient.
    Enum: "trc20_transfer"

  - `item.parameters.action.token` (string, required)
    TRC-20 token contract address.

  - `item.parameters.action.amount` (string, required)
    Token base units, from 1 to 115792089237316195423570985008687907853269984665640564039457584007913129639935. Values outside this numeric range are rejected.

  - `item.parameters.action.fee_limit` (string, required)
    Energy budget in sun, including resource equivalent, from 1 to 9223372036854775807. This does not guarantee zero TRX burn. Check the current network fee limit through RPC before requesting signing; the API validates the fee limit against the numeric range above.

  - `item.parameters.action.kind` (string, required)
    Create and activate the recipient account.
    Enum: "account_create"

  - `item.parameters.action.kind` (string, required)
    Stake TRX through Stake 2.0 to obtain the selected resource.
    Enum: "stake"

  - `item.parameters.action.resource` (string, required)
    Tron resource to stake or delegate.
    Enum: "bandwidth", "energy"

  - `item.parameters.action.amount` (string, required)
    Amount in sun, from 1 to 9223372036854775807.

  - `item.parameters.action.kind` (string, required)
    Unstake TRX from the selected resource through Stake 2.0. The resulting withdrawal is subject to the network waiting period.
    Enum: "unstake"

  - `item.parameters.action.kind` (string, required)
    Delegate resource capacity backed by the specified staked TRX amount to the recipient.
    Enum: "delegate_resource"

  - `item.parameters.action.amount` (string, required)
    Staked TRX amount in sun backing the resource capacity, not a count of resource units. From 1 to 9223372036854775807; the exact numeric bound is validated separately.

  - `item.parameters.action.kind` (string, required)
    Reclaim resource capacity backed by the specified staked TRX amount from the recipient.
    Enum: "undelegate_resource"

  - `item.parameters.action.kind` (string, required)
    Withdraw all matured unstaked TRX to the signing account. The network determines the withdrawable amount; no fixed amount or recipient is supplied.
    Enum: "withdraw_unstaked"

  - `item.parameters.action` (object, required)
    Bitcoin transaction settings. The fee is the total input value minus the transfer amount and change. Inputs must cover both outputs and a positive fee of at least 1 satoshi per virtual byte. Input order is preserved.

  - `item.parameters.action.kind` (string, required)
    Enum: "transfer"

  - `item.parameters.action.amount` (string, required)
    Transfer amount in satoshi.

  - `item.parameters.action.inputs` (array, required)
    Unspent outputs to use for the transaction. Each output must belong to the account and may appear only once.

  - `item.parameters.action.inputs.txid` (string, required)
    Identifier of the transaction containing the output to spend, as shown by a block explorer.

  - `item.parameters.action.inputs.vout` (integer, required)
    Index of the output to spend within that transaction.

  - `item.parameters.action.inputs.amount` (string, required)
    Value of the output to spend, in satoshi.

  - `item.parameters.action.inputs.script_pubkey` (string, required)
    Locking script of the output to spend. The output must belong to the account and use its SegWit address format.

  - `item.parameters.action.change` (string)
    Amount to return to the account address, in satoshi. Omit or set to zero when no change is needed.

## Response 400:

  - `400` (unknown)
    Some request values are missing or invalid. Check fields for details.

## Response 400 fields (application/problem+json):

  - `type` (string, required)
    A URI that identifies the error type.
    Example: https://docs.vilna.io/apis/errors#internal-error

  - `title` (string, required)
    A short summary of the error type.
Use `detail` for information specific to this occurrence.
    Example: Bad Request

  - `status` (integer, required)
    The HTTP status code for this error.
Matches the status code of the HTTP response.
    Example: 400

  - `detail` (string)
    A human-readable explanation of what went wrong in this specific case.
May be localized.
    Example: The address is already assigned to another invoice

  - `instance` (string)
    A URI that identifies this specific error occurrence.
Include this value when contacting support.
    Example: /traces/0123456789abcdef0123456789abcdef

  - `code` (string, required)
    Stable machine-readable error code for programmatic error handling. Unlike the HTTP `status` or free-form `detail`, this code is guaranteed not to change between versions for a given error condition, so it is safe to branch on in client code. Defaults to `unspecified` when the server has not assigned a specific code.
    Example: blockchain.not_found

  - `fields` (array)
    List of invalid fields in the request.

  - `fields.name` (string, required)
    The name of the invalid field.
    Example: max_len

  - `fields.reason` (string, required)
    Why this field is invalid.
    Example: 32

## Response 401:

  - `401` (unknown)
    Authentication is required to make this request.

## Response 401 fields (application/problem+json):

  - `type` (string, required)
    A URI that identifies the error type.
    Example: https://docs.vilna.io/apis/errors#internal-error

  - `title` (string, required)
    A short summary of the error type.
Use `detail` for information specific to this occurrence.
    Example: Bad Request

  - `status` (integer, required)
    The HTTP status code for this error.
Matches the status code of the HTTP response.
    Example: 400

  - `detail` (string)
    A human-readable explanation of what went wrong in this specific case.
May be localized.
    Example: The address is already assigned to another invoice

  - `instance` (string)
    A URI that identifies this specific error occurrence.
Include this value when contacting support.
    Example: /traces/0123456789abcdef0123456789abcdef

  - `code` (string, required)
    Stable machine-readable error code for programmatic error handling. Unlike the HTTP `status` or free-form `detail`, this code is guaranteed not to change between versions for a given error condition, so it is safe to branch on in client code. Defaults to `unspecified` when the server has not assigned a specific code.
    Example: blockchain.not_found

## Response 403:

  - `403` (unknown)
    You do not have permission to access VKS in this workspace.

## Response 403 fields (application/problem+json):

  - `type` (string, required)
    A URI that identifies the error type.
    Example: https://docs.vilna.io/apis/errors#internal-error

  - `title` (string, required)
    A short summary of the error type.
Use `detail` for information specific to this occurrence.
    Example: Bad Request

  - `status` (integer, required)
    The HTTP status code for this error.
Matches the status code of the HTTP response.
    Example: 400

  - `detail` (string)
    A human-readable explanation of what went wrong in this specific case.
May be localized.
    Example: The address is already assigned to another invoice

  - `instance` (string)
    A URI that identifies this specific error occurrence.
Include this value when contacting support.
    Example: /traces/0123456789abcdef0123456789abcdef

  - `code` (string, required)
    Stable machine-readable error code for programmatic error handling. Unlike the HTTP `status` or free-form `detail`, this code is guaranteed not to change between versions for a given error condition, so it is safe to branch on in client code. Defaults to `unspecified` when the server has not assigned a specific code.
    Example: blockchain.not_found

## Response 404:

  - `404` (unknown)
    The requested resource could not be found.

## Response 404 fields (application/problem+json):

  - `type` (string, required)
    A URI that identifies the error type.
    Example: https://docs.vilna.io/apis/errors#internal-error

  - `title` (string, required)
    A short summary of the error type.
Use `detail` for information specific to this occurrence.
    Example: Bad Request

  - `status` (integer, required)
    The HTTP status code for this error.
Matches the status code of the HTTP response.
    Example: 400

  - `detail` (string)
    A human-readable explanation of what went wrong in this specific case.
May be localized.
    Example: The address is already assigned to another invoice

  - `instance` (string)
    A URI that identifies this specific error occurrence.
Include this value when contacting support.
    Example: /traces/0123456789abcdef0123456789abcdef

  - `code` (string, required)
    Stable machine-readable error code for programmatic error handling. Unlike the HTTP `status` or free-form `detail`, this code is guaranteed not to change between versions for a given error condition, so it is safe to branch on in client code. Defaults to `unspecified` when the server has not assigned a specific code.
    Example: blockchain.not_found

## Response 409:

  - `409` (unknown)
    The request conflicts with the current resource state.

## Response 409 fields (application/problem+json):

  - `type` (string, required)
    A URI that identifies the error type.
    Example: https://docs.vilna.io/apis/errors#internal-error

  - `title` (string, required)
    A short summary of the error type.
Use `detail` for information specific to this occurrence.
    Example: Bad Request

  - `status` (integer, required)
    The HTTP status code for this error.
Matches the status code of the HTTP response.
    Example: 400

  - `detail` (string)
    A human-readable explanation of what went wrong in this specific case.
May be localized.
    Example: The address is already assigned to another invoice

  - `instance` (string)
    A URI that identifies this specific error occurrence.
Include this value when contacting support.
    Example: /traces/0123456789abcdef0123456789abcdef

  - `code` (string, required)
    Stable machine-readable error code for programmatic error handling. Unlike the HTTP `status` or free-form `detail`, this code is guaranteed not to change between versions for a given error condition, so it is safe to branch on in client code. Defaults to `unspecified` when the server has not assigned a specific code.
    Example: blockchain.not_found

## Response 503:

  - `503` (unknown)
    The service is temporarily unavailable. Try again later.

## Response 503 fields (application/problem+json):

  - `type` (string, required)
    A URI that identifies the error type.
    Example: https://docs.vilna.io/apis/errors#internal-error

  - `title` (string, required)
    A short summary of the error type.
Use `detail` for information specific to this occurrence.
    Example: Bad Request

  - `status` (integer, required)
    The HTTP status code for this error.
Matches the status code of the HTTP response.
    Example: 400

  - `detail` (string)
    A human-readable explanation of what went wrong in this specific case.
May be localized.
    Example: The address is already assigned to another invoice

  - `instance` (string)
    A URI that identifies this specific error occurrence.
Include this value when contacting support.
    Example: /traces/0123456789abcdef0123456789abcdef

  - `code` (string, required)
    Stable machine-readable error code for programmatic error handling. Unlike the HTTP `status` or free-form `detail`, this code is guaranteed not to change between versions for a given error condition, so it is safe to branch on in client code. Defaults to `unspecified` when the server has not assigned a specific code.
    Example: blockchain.not_found

## Response default:

  - `default` (unknown)
    Details of an error that prevented the request from completing.

## Response default fields (application/problem+json):

  - `type` (string, required)
    A URI that identifies the error type.
    Example: https://docs.vilna.io/apis/errors#internal-error

  - `title` (string, required)
    A short summary of the error type.
Use `detail` for information specific to this occurrence.
    Example: Bad Request

  - `status` (integer, required)
    The HTTP status code for this error.
Matches the status code of the HTTP response.
    Example: 400

  - `detail` (string)
    A human-readable explanation of what went wrong in this specific case.
May be localized.
    Example: The address is already assigned to another invoice

  - `instance` (string)
    A URI that identifies this specific error occurrence.
Include this value when contacting support.
    Example: /traces/0123456789abcdef0123456789abcdef

  - `code` (string, required)
    Stable machine-readable error code for programmatic error handling. Unlike the HTTP `status` or free-form `detail`, this code is guaranteed not to change between versions for a given error condition, so it is safe to branch on in client code. Defaults to `unspecified` when the server has not assigned a specific code.
    Example: blockchain.not_found

## Response 201 examples:

  - `pending trc20` (unknown)

  - `completed sponsor` (unknown)

  - `expired bitcoin` (unknown)

  - `withdraw unstaked` (unknown)

## Response 400 examples:

  - `Invalid request` (unknown)

## Response 404 examples:

  - `Transaction not found` (unknown)

## Response 409 examples:

  - `Account is not ready to sign transactions` (unknown)

  - `Transaction state does not allow this operation` (unknown)

  - `Another send is in progress` (unknown)

  - `Transaction already accepted` (unknown)

## Response default examples:

  - `Unexpected failure` (unknown)

