Construct
status: stable
Create a transaction to be signed from the wallet.
Body
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 autxo_too_small
error, together with a revised ada amount that does satisfy the minimum UTxO rule.
At least
0
elements. -
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
. -
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.
-
An entry for each unique asset to be minted and/or burned, containing helpful information.
At least
1
element. 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
orno_confidence
.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.
-
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. -
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.
-
Encoding of transaction CBOR returned in response (base64 by default).
Values are
base16
orbase64
.
Responses
-
Bad Request
-
Forbidden
One of: invalid_wallet_typeobject already_withdrawingobject utxo_too_smallobject cannot_cover_feeobject not_enough_moneyobject insufficient_collateralobject transaction_is_too_bigobject created_multidelegation_transactionobject created_multiaccount_transactionobject created_wrong_policy_script_templateobject asset_name_too_longobject mint_or_burn_asset_quantity_out_of_boundsobject invalid_validity_boundsobject validity_interval_not_inside_script_timelockobject shared_wallet_incompleteobject staking_invalidobject -
Not Found
-
Not Acceptable
-
Unsupported Media Type
-
Accepted
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"}'
{
"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"
}
{
"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"
}
{
"message": "string",
"code": "no_such_wallet"
}
{
"message": "string",
"code": "not_acceptable"
}
{
"message": "string",
"code": "unsupported_media_type"
}
{
"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"
}
}