Get multiple public keys (Ada.getExtendedPublicKeys) request data
Paths to public keys which should be derived by the device
Ada.getExtendedPublicKeys response data
Get single public keys (Ada.getExtendedPublicKey) request data
Path to public key which should be derived
Get single public key (Ada.getExtendedPublicKey) response data
Derive address (Ada.deriveAddress) request data
Derive address (Ada.deriveAddress) response data
Show address on derivce (Ada.showAddress) request data
Get device serial number (Ada.getSerial) response data
Sign transaction (Ada.signTransaction) response data
Sign operational certificate (Ada.signOperationalCertificate) request data
Sign operational certificate (Ada.signOperationalCertificate) response data
Derive native script hash (Ada.deriveNativeScriptHash) request data
Derive native script hash (Ada.deriveNativeScriptHash) response data
Type for 64-bit integers.
We accept either
Number (if it is less than Number.MAX_SAFE_INTEGER)String (representing 64-bit number)BigInt (if platform supports it natively)Represents BIP 32 path.
Cardano network magic constants
byron protocol id
shelley network id
Operational certificate
Describes single transaction input (i.e. UTxO)
UTxO's hash of the transaction
UTxO's transaction output index
Describes path used for witnessing this UTxO. The API will sign transaction with this path.
Note: null indicates we don't want to sign this utxo. This is highly non-standard and the only usecase so far is pool registration as owner. We therefore don't mark it as optional so that people won't forget specifying it
Note: Device has no ability to really check whether path is correct witnessing path for this UTxO.
Transaction output
Destination address of the output
Output amount. Specified in Lovelace
Additional assets sent to the output. If not null, the entries' keys (policyIds) must be unique and sorted to reflect a canonical CBOR as described in the CBOR RFC), i.e. the key with the lower value in lexical order sorts earlier.
Optional datum hash
Device app flags
Device app version
Describes compatibility of device with current SDK
Overall compatibility.
In case there are some compatibility problem, SDK recommended version. Clients of SDK should check whether this is null and if not, urge users to upgrade.
Whether we support Mary features
Whether we support Catalyst registration
Whether we support transactions with zero TTL (useful for dummy transactions to ensure invalidity)
Whether we support operational certificate signing
Whether we support pool retirement certificate
Whether we support script hash derivation
Whether we support multisig transaction
Whether we support mint
Whether we support Alonzo and Plutus
Response to Ada.getSerial call
Serial is a Ledger device identifier. It is 7 bytes long, which is represented here as 14-character hex string
Response to Ada.deriveAddress call
Derived extended public key
Operational certificate signature
Transaction witness.
Witnessed path
Note: this is only a signature. You need to add proper extended public key to form a full witness
Transaction auxiliary data supplementary information.
Hash of the auxiliary data including the Catalyst registration
Signature of the Catalyst registration payload by the staking key that was supplied
Result of signing a transaction.
Hash of signed transaction. Callers should check that they serialize tx the same way
List of witnesses. Caller should assemble full transaction to be submitted to the network.
Additional information about auxiliary data serialized into the transaction, providing the caller with information needed to assemble the transation containing these auxiliary data.
Specifies transaction auxiliary data. Auxiliary data can be supplied to Ledger possibly in multiple forms.
Represents transaction to be signed by the device. Note that this represents a superset of what Ledger can sign due to certain hardware app/security limitations.
Cardano network the transaction is supposed to be submitted to.
Transaction inputs (UTxOs)
Transaction outputs
Transaction fee (in Lovelace). Note that transaction is valid only if inputs + fee === outputs.
"Time-to-live" (block height). Transaction will become invalid at this block height.
Transaction certificates (if any).
Withdrawals (if any) from rewards accounts If not null, the entries' keys (reward addresses derived from the given stake credentials) must be unique and sorted ascending to reflect a canonical CBOR as described in the CBOR RFC), i.e. the key with the lower value in lexical order sorts earlier.
Transaction auxiliary data (if any)
Validity start (block height) if any. Transaction becomes valid only starting from this block height.
Mint or burn instructions (if any). Assets to be minted (token amount positive) or burned (token amount negative) with the transaction. If not null, the entries' keys (policyIds) must be unique and sorted to reflect a canonical CBOR as described in the CBOR RFC), i.e. the key with the lower value in lexical order sorts earlier.
Script Data hash (if any)
Collaterals (if any)
Required Signers by key (if any)
True if network id should be included in the transaction body; false or not given otherwise
Transaction signing request. This represents the transaction user wants to sign. Due to certain Ledger limitation, we also require user to specify a "mode" in which he/she wants to sign the transaction.
Mode in which we want to sign the transaction.
Ledger has certain limitations (see TransactionSigningMode in detail) due to which
it cannot sign arbitrary combination of all transaction features.
The mode specifies which use-case the user want to use and triggers additional validation on tx field.
Transaction to be signed
Additional witness paths that are not gathered from the transaction body, eg. mint witnesses
Describes address owned by the Ledger device. Outputs with these addresses are not shown to the user during transaction signing
Byron address parameters
Shelley base address parameters. The API allows for using device staking key, or supplying third-party staking key.
Shelley enterprise address parameters
Shelley pointer address parameters
Shelley reward address parameters.
Address now owned by the device. Device will show it during transaction review
Byron or Shelley address in raw hex format (without bech32/base58 encoding)
Represents output address.
Blockchain pointer for Pointer addresses
Pool retirement certificate parameters
Path to the pool key
Epoch after which the pool should be retired
Stake key registration certificate parameters
Id to be registered
Stake key deregistration certificate parameters
Id to be deregistered
Stake delegation certificate parameters
Id of the staking entity / reward account that wants to delegate
Pool ID user wants to delegate to
Certificate. Can be one of multiple options.
Rewards account withdwaral operation
Path to rewards account being withdrawn
Amount (in Lovelace) being withdrawn. Note that Amount must be all accumulated rewards.
Describes a single token within a multiasset structure.
Note: can be signed or unsigned, depending on the context. device does not know the number of decimal places the token uses.
Describes a group of assets belonging to the same policy in a multiasset structure. The asset names of tokens must be unique and sorted lowest value to highest to reflect a canonical CBOR. The sorting rules (as described in the CBOR RFC) are:
Raw error codes returned by APDU protocol. Note that this is not an exhaustive list.
Default Cardano networks
Hardened derivation
Auxiliary data is supplied as raw hash. Ledger will just display this hash to the user
Hash of the transaction auxiliary data
Parameters needed for Ledger to assemble and sign the Catalyst voting registration metadata. Ledger will display the voting registration parameters and overall metadata hash.
Voting key to be registered given in hex
Path to the staking key to which voting rights would be associated
Address for receiving voting rewards, Byron-era addresses not supported
Nonce value
Represents pool cold key.
Pool key is owned by an external party
Pool key is owned by the Ledger device
Represents pool owner.
Pool owner is an external party
Pool owner is the Ledger device. Supply staking key path which should sign the certificate
Represents pool reward account.
Pool reward account is owned by an external party
Pool reward account is owned by the Ledger device. Supply staking key path for reward account
Represents pool relay.
Note that at least one of ipv4 and ipv6 must be supplied
TCP port of the relay. Should be 0..65535
IPv4 address of the relay.
Should be in string format, e.g. "192.168.0.1"
IPv6 address of the relay.
Should be in fully expanded string format, e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
Pool registration metadata
Pool margin represented as fraction (numerator/denominator)
Numerator Must be <= denominator
Denominator. Limited to maximum value of 1e18
Pool registration certificate
Pool vrf key
Owner pledge
Describes a native script, that can be passed to a Ledger device, to generate it's hash.
Native script of type pubkey parameters. Pubkey is owned by the device, it is specified by key path
Native script of type pubkey parameters. Pubkey is third party, it is specified by a key hash in hex format
Native script of type all parameters.
Native script of type any parameters.
Native script of type n_of_k parameters.
Native script of type invalid_before parameters.
Native script of type invalid_hereafter parameters.
Response to Ada.deriveNativeScriptHash call
Generated using TypeDoc
Response to Ada.getVersion call