Generate an Unsigned Transaction and Signing Payloads
Authorizations
ApiKeyAuthApiKeyAuthapi-key string
NOWNodes API key passed in the api-key header.
Payloads is called with an array of operations and the response from /construction/metadata. It returns an unsigned transaction blob and a collection of payloads that must be signed by particular AccountIdentifiers using a certain SignatureType. The array of operations provided in transaction construction often times can not specify all "effects" of a transaction (consider invoked transactions in Ethereum). However, they can deterministically specify the "intent" of the transaction, which is sufficient for construction. For this reason, parsing the corresponding transaction in the Data API (when it lands on chain) will contain a superset of whatever operations were provided during construction.
Body
Request value.
network_identifierNetworkIdentifierrequiredRosetta network identifier object.
Show child attributes
blockchainstringrequiredBlockchain value.
networkstringrequiredIf a blockchain has a specific chain-id or network identifier, it should go in this field. It is up to the client to determine which network-specific identifier is mainnet, preprod, or preview.
sub_network_identifierSubNetworkIdentifierSub Network Identifier value.
Show child attributes
networkstringrequiredNetwork value.
metadataobjectAdditional metadata object.
operationsArray<Operation>requiredOperations value.
Show child attributes
operation_identifierOperationIdentifierrequiredOperation Identifier value.
Show child attributes
indexinteger<int64>>= 0requiredThe operation index is used to ensure each operation has a unique identifier within a transaction. This index is only relative to the transaction and NOT GLOBAL. The operations in each transaction should start from index 0. To clarify, there may not be any notion of an operation index in the blockchain being described.
network_indexinteger<int64>>= 0Some blockchains specify an operation index that is essential for client use. For example, Bitcoin uses a network_index to identify which UTXO was used in a transaction. network_index should not be populated if there is no notion of an operation index in a blockchain (typically most account-based blockchains).
related_operationsArray<OperationIdentifier>Restrict referenced related_operations to identifier indices < the current operation_identifier.index. This ensures there exists a clear DAG-structure of relations. Since operations are one-sided, one could imagine relating operations in a single transfer or linking operations in a call tree.
Show child attributes
indexinteger<int64>>= 0requiredThe operation index is used to ensure each operation has a unique identifier within a transaction. This index is only relative to the transaction and NOT GLOBAL. The operations in each transaction should start from index 0. To clarify, there may not be any notion of an operation index in the blockchain being described.
network_indexinteger<int64>>= 0Some blockchains specify an operation index that is essential for client use. For example, Bitcoin uses a network_index to identify which UTXO was used in a transaction. network_index should not be populated if there is no notion of an operation index in a blockchain (typically most account-based blockchains).
typestringrequiredType is the network-specific type of the operation. Ensure that any type that can be returned here is also specified in the NetworkOptionsResponse. This can be very useful to downstream consumers that parse all block data.
statusstringStatus is the network-specific status of the operation. Status is not defined on the transaction object because blockchains with smart contracts may have transactions that partially apply (some operations are successful and some are not). Blockchains with atomic transactions (all operations succeed or all operations fail) will have the same status for each operation. On-chain operations (operations retrieved in the /block and /block/transaction endpoints) MUST have a populated status field (anything on-chain must have succeeded or failed). However, operations provided during transaction construction (often times called "intent" in the documentation) MUST NOT have a populated status field (operations yet to be included on-chain have not yet succeeded or failed).
accountAccountIdentifierRosetta account identifier object.
Show child attributes
addressstringrequiredThe address may be a cryptographic public key (or some encoding of it) or a provided username.
sub_accountSubAccountIdentifierSub Account value.
Show child attributes
addressstringrequiredThe SubAccount address may be a cryptographic value or some other identifier (ex: bonded) that uniquely specifies a SubAccount.
metadataobjectIf the SubAccount address is not sufficient to uniquely specify a SubAccount, any other identifying information can be stored here. It is important to note that two SubAccounts with identical addresses but differing metadata will not be considered equal by clients.
metadataobjectBlockchains that utilize a username model (where the address is not a derivative of a cryptographic public key) should specify the public key(s) owned by the address in metadata.
Show child attributes
chain_codestringHex string encoded extension of bip32 private and public keys with an extra 256 bits of entropy that consists of 32 bytes
amountAmountAmount value.
Show child attributes
valuestringrequiredValue of the transaction in atomic units represented as an arbitrary-sized signed integer. For example, 1 BTC would be represented by a value of 100000000.
currencyCurrencyrequiredRosetta currency object.
Show child attributes
symbolstringrequiredCanonical symbol associated with a currency.
decimalsinteger<int32>>= 0requiredNumber of decimal places in the standard unit representation of the amount. For example, BTC has 8 decimals. Note that it is not possible to represent the value of some currency in atomic units that is not base 10.
metadataanyAdditional metadata object.
metadataobjectAdditional metadata object.
coin_changeCoinChangeCoin Change value.
Show child attributes
coin_identifierCoinIdentifierrequiredRosetta coin identifier object.
Show child attributes
identifierstringrequiredIdentifier should be populated with a globally unique identifier of a Coin. In Bitcoin, this identifier would be transaction_hash:index.
coin_actionCoinActioncoin_createdcoin_spentrequiredCoin Action value.
metadataOperationMetadataAdditional metadata object.
Show child attributes
withdrawalAmountAmountIf it's a withdrawal operation, the amount will re returned here.
Show child attributes
valuestringrequiredValue of the transaction in atomic units represented as an arbitrary-sized signed integer. For example, 1 BTC would be represented by a value of 100000000.
currencyCurrencyrequiredRosetta currency object.
Show child attributes
symbolstringrequiredCanonical symbol associated with a currency.
decimalsinteger<int32>>= 0requiredNumber of decimal places in the standard unit representation of the amount. For example, BTC has 8 decimals. Note that it is not possible to represent the value of some currency in atomic units that is not base 10.
metadataanyAdditional metadata object.
metadataobjectAdditional metadata object.
depositAmountAmountIf it's a registration operation, the amount will re returned here.
Show child attributes
valuestringrequiredValue of the transaction in atomic units represented as an arbitrary-sized signed integer. For example, 1 BTC would be represented by a value of 100000000.
currencyCurrencyrequiredRosetta currency object.
Show child attributes
symbolstringrequiredCanonical symbol associated with a currency.
decimalsinteger<int32>>= 0requiredNumber of decimal places in the standard unit representation of the amount. For example, BTC has 8 decimals. Note that it is not possible to represent the value of some currency in atomic units that is not base 10.
metadataanyAdditional metadata object.
metadataobjectAdditional metadata object.
refundAmountAmountIf it's a deregistration operation, the amount will re returned here.
Show child attributes
valuestringrequiredValue of the transaction in atomic units represented as an arbitrary-sized signed integer. For example, 1 BTC would be represented by a value of 100000000.
currencyCurrencyrequiredRosetta currency object.
Show child attributes
symbolstringrequiredCanonical symbol associated with a currency.
decimalsinteger<int32>>= 0requiredNumber of decimal places in the standard unit representation of the amount. For example, BTC has 8 decimals. Note that it is not possible to represent the value of some currency in atomic units that is not base 10.
metadataanyAdditional metadata object.
metadataobjectAdditional metadata object.
staking_credentialPublicKeyStaking Credential value.
Show child attributes
hex_bytesstringrequiredHex-encoded public key bytes in the format specified by the CurveType.
curve_typeCurveTypesecp256k1secp256r1edwards25519tweedlerequiredCurve Type value.
pool_key_hashstringCardano transaction hash.
epochnumberCardano epoch number.
tokenBundleArray<TokenBundleItem>A token bundle is a heterogeneous (‘mixed’) collection of tokens. Any tokens can be bundled together. Token bundles are the standard - and only - way to represent and store assets on the Cardano blockchain.
Show child attributes
policyIdstringrequiredPolicy Id hex string
tokensArray<Amount>requiredTokens value.
Show child attributes
valuestringrequiredValue of the transaction in atomic units represented as an arbitrary-sized signed integer. For example, 1 BTC would be represented by a value of 100000000.
currencyCurrencyrequiredRosetta currency object.
Show child attributes
symbolstringrequiredCanonical symbol associated with a currency.
decimalsinteger<int32>>= 0requiredNumber of decimal places in the standard unit representation of the amount. For example, BTC has 8 decimals. Note that it is not possible to represent the value of some currency in atomic units that is not base 10.
metadataanyAdditional metadata object.
metadataobjectAdditional metadata object.
poolRegistrationCertstringCertificate of a pool registration encoded as hex string
poolRegistrationParamsPoolRegistrationParamsCardano stake pool identifier or key hash.
Show child attributes
vrfKeyHashstringrequiredCardano transaction hash.
rewardAddressstringrequiredCardano reward address.
pledgestringrequiredLovelace amount to pledge
coststringrequiredOperational costs per epoch lovelace
poolOwnersArray<string>requiredCardano stake pool identifier or key hash.
relaysArray<Relay>requiredRelays value.
Show child attributes
typestringType value.
ipv4stringIpv4 value.
ipv6stringIpv6 value.
dnsNamestringDns Name value.
portstringPort value.
marginPoolMarginMargin value.
Show child attributes
numeratorstringrequiredNumerator value.
denominatorstringrequiredDenominator value.
margin_percentagestringMargin Percentage value.
poolMetadataPoolMetadataCardano stake pool identifier or key hash.
Show child attributes
urlstringrequiredUrl value.
hashstringrequiredCardano transaction hash.
voteRegistrationMetadataVoteRegistrationMetadataA Catalyst registration transaction is a regular Cardano transaction with a specific transaction metadata associated with it.
Show child attributes
stakeKeyPublicKeyrequiredThe staking key on the Cardano network
Show child attributes
hex_bytesstringrequiredHex-encoded public key bytes in the format specified by the CurveType.
curve_typeCurveTypesecp256k1secp256r1edwards25519tweedlerequiredCurve Type value.
votingKeyPublicKeyrequiredCatalyst voting key
Show child attributes
hex_bytesstringrequiredHex-encoded public key bytes in the format specified by the CurveType.
curve_typeCurveTypesecp256k1secp256r1edwards25519tweedlerequiredCurve Type value.
rewardAddressstringrequiredShelley address to receive rewards
votingNoncenumberrequiredUnsigned integer (of CBOR major type 0). Current slot number
votingSignaturestringrequiredED25119 signature CBOR byte array of blake2b-256 hash of the registration metadata signed using the staking key
metadataobjectrequiredAdditional metadata object.
Show child attributes
ttlstringrequiredTtl value.
protocol_parametersProtocolParametersrequiredProtocol Parameters value.
Show child attributes
coinsPerUtxoSizestringrequiredCoins Per Utxo Size value.
maxTxSizenumberrequiredMax Tx Size value.
maxValSizenumberrequiredMax Val Size value.
keyDepositstringrequiredkey registration cost in Lovelace
maxCollateralInputsnumberrequiredMax Collateral Inputs value.
minFeeCoefficientnumberrequiredMin Fee Coefficient value.
minFeeConstantnumberrequiredMin Fee Constant value.
minPoolCoststringrequiredCardano stake pool identifier or key hash.
poolDepositstringrequiredpool registration cost in Lovelace
protocolintegerrequiredProtocol value.
public_keysArray<PublicKey>Public Keys value.
Show child attributes
hex_bytesstringrequiredHex-encoded public key bytes in the format specified by the CurveType.
curve_typeCurveTypesecp256k1secp256r1edwards25519tweedlerequiredCurve Type value.
Response
HTTP 200 response for constructionPayloads.
Bad Request. The request is malformed or contains invalid parameters.
Unauthorized: API key is present but rejected by the NOWNodes gateway.
Missing API key. The NOWNodes gateway returns plain text for this error.
Internal Server Error. The gateway or backend failed while processing the request.