You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sign transaction given BIP32 path (SLIP-0048) and DER encoded transaction
GET_VERSION
0x06
Get application version as MAJOR, MINOR, PATCH buffer
GET_APP_NAME
0x08
Get ASCII encoded application name
SIGN_HASH
0x10
Sign transaction digest (blind sign)
GET_SETTINGS
0x12
Get application settings
GET_PUBLIC_KEY
This command returns public key (both raw and WIF format) and chain code. Public key can be derived from BIP 32 path, which have to comply with SLIP-0048 standard (max derivation path is set to 5).
Public key can be optionaly reviewed and accepted by user before being returned (P1 = 0x01).
Command
CLA
INS
P1
P2
Lc
CData
0xD4
0x02
0x00 (no display) 0x01 (ask user to confirm before returning the key)
This command signs provided transaction with key derived from BIP 32 path (which must comply with SLIP-0048 standard). Transaction mu be accepted by the user.
Input data is BIP 32 path followed by ASN1 DER encoded transaction (each transaction field is encoded as a StringOctet type), sent to the device in 255 bytes maximum data chunks.
If there is a need to send more than one APDU (i.e transaction is big enought to exceed 250 bytes), BIP 32 path should be only sent in the first chunk.
Transaction fields have to be sent in following order:
chain id
ref_block_num
ref_block_prefix
expiration
number of operations
operation
number of extensions
Currently, only single operation transactions are supported. App will refuse transaction which contains number of operations other than 1. Number of extensions have to be zero, otherwise transaction will be rejected.
Command
CLA
INS
P1
P2
Lc
CData
0xD4
0x04
0x00 (first chunk) 0x80 (subsequent chunk)
0x00 (last chunk) 0x80 (expect more)
1 + 4n + var
First chunk: len(bip32_path) (1) || bip32_path{1} (4) || ... || bip32_path{n} (4) || DER encoded transaction (var)
Subsequent chunk (optional): DER encoded transaction (var)
Response
Response length (bytes)
SW
RData
var
0x9000
signature (33)
GET_VERSION
Command
CLA
INS
P1
P2
Lc
CData
0xD4
0x06
0x00
0x00
0x00
-
Response
Response length (bytes)
SW
RData
3
0x9000
MAJOR (1) || MINOR (1) || PATCH (1)
GET_APP_NAME
Command
CLA
INS
P1
P2
Lc
CData
0xD4
0x08
0x00
0x00
0x00
-
Response
Response length (bytes)
SW
RData
var
0x9000
APPNAME (var)
SIGN_HASH
This command signs provided tx digest with key derived from BIP 32 path (which must comply with SLIP-0048 standard). Hash string will be desplayed to the user and must be accepted.
Input data is BIP 32 path followed by transaction digest (array of bytes)