- Multiaccount: An account from which multiple Accounts can be derived.
This specification describes how an application can use the Status Keycard to -
- 1Create Multiaccounts
- 2Store Multiaccounts
- 3Use Multiaccounts for transaction or message signing
- 4Derive Accounts from Multiaccounts
More documentation on the Status Keycard can be found here
The Status Keycard is a hardware wallet that can be used to store and sign transactions. For the purpose of the Status App, this specification describes how the Keycard SHOULD be used to store and sign transactions.
To initialize the keycard for use with the application. The keycard is locked with a 6 digit pin.
The keycard MUST be initialized before it can be used with the application. The application SHOULD provide a way to recover the keycard in case the pin is forgotten.
To fetch if the keycard is ready to be used by the application.
The requester MAY add a pairing
field to filter through the generated keys
To establish a secure communication channel described here, the keycard and the client device need to be paired.
To generate a new set of keys and load them onto the keycard.
To fetch the keys that are currently loaded on the keycard.
To sign a transaction using the keycard, passing in the pairing information and the transaction to be signed.
To export a key from the keycard, passing in the pairing information and the path to the key to be exported.
To verify the pin of the keycard.
Status code reference:
- 3: PIN is valid
To change the pin of the keycard.
If the Keycard is blocked due to too many incorrect pin attempts, it can be unblocked using the PUK.
Any application that uses the Status Keycard MAY implement the following flows according to the actions listed above.
- 1The user initializes the Keycard using the
/init-keycard
endpoint. - 2The user pairs the Keycard with the client device using the
/pair
endpoint. - 3The user generates a new set of keys using the
/generate-and-load-keys
endpoint. - 4The user can now use the Keycard to sign transactions using the
/sign
endpoint.
- 1The user pairs the Keycard with the client device using the
/pair
endpoint. - 2The user can now use the Keycard to sign transactions using the
/sign
endpoint.
- 1The user pairs the Keycard with the new client device using the
/pair
endpoint. - 2The user can now use the Keycard to sign transactions using the
/sign
endpoint.
- 1The user verifies the pin of the Keycard using the
/verify-pin
endpoint.
- 1The user changes the pin of the Keycard using the
/change-pin
endpoint.
- 1The user unblocks the Keycard using the
/unblock-pin
endpoint.
Inherits the security considerations of Status Keycard
Inherits the privacy considerations of Status Keycard
Copyright and related rights waived via CC0.
- 1
- 2
- 3