Get desktop application:
View/edit binary Protocol Buffers messages
AccountRequest requests an account for a given scope message_type = "ACCOUNT_REQUEST"
should be a currency code eg "ETH" or "BRD"
AccountResponse responds to an AccountRequest message_type = "ACCOUNT_RESPONSE"
if status=ACCEPTED, should be the same scope as the request
if status=ACCEPTED, the receive address
any status response
if status=REJECTED, an error code.
CallRequest requests a smart contract call for a given scope Apps should show a payment dialog to confirm this transaction. NOTE: This is currently disabled for ERC20 send operations, use PaymentRequest instead message_type = "CALL_REQUEST"
should be a currency code eg "ETH" or "BRD"
a network designation
the smart contract address
the abi-encoded parameters to send to the smart contract
the desired amount expressed as an integer in the lowest currency denomination
optionally a request may include a memo, the receiver can retain if necessary
the transaction size limit, expressed as integer (e.g. gas limit for ETH)
the transaction fee amount, expressed as integer in lowest currency denomination (e.g. gas price for ETH)
CallResponse responds to a CallRequest message_type = "CALL_RESPONSE"
if status=ACCEPTED, should be the same scope as the request
any status response
if status=ACCEPTED, the transaction ID
if status=REJECTED, an error code.
Envelope encapsulates one of the below message types
The version of this message. Versioning accomodates future additions
Optional Service to which this message applies
Optional UTC expiration date. ISO-8601-formatted.
One of below messages's commented `message_type`
ChaCha20-Poly1305-encrypted message
DER-encoded sender public key
DER-encoded receiver public key
requestor-originated UUID, useful for multi-plexing messages
96 bits unique random data, must never be reused
optionally, a push notification if supported
compact recoverable signature
Error codes for response messages.
Used in:
, , ,Unknown error
User denied the request.
Scope does not exist.
For link request, if the remote entity's wallet id does not match wallet id from the initial pairing.
For account request, address not found.
For payment/call request, transaction failed.
Link two wallets. This establishes a communication channel for the encrypted message exchange. In the case of status=UNKNOWN or status=REJECTED, public_key and id should be omitted. message_type = "LINK"
a pairing key's public key
the static, public ID of the remote entity's wallet
status of pairing request
if status=REJECTED, an error code.
PaymentRequest requests a payment from a given scope. Apps should show a payment dialog to confirm this transaction. message_type = "PAYMENT_REQUEST"
should be a currency code eg "ETH" or "BRD"
a network designation
the receive address for the desired payment
the desired amount expressed as an integer in the lowest currency denomination
optionally a request may include a memo, the receiver can retain if necessary
the transaction size limit, expressed as integer (e.g. gas limit for ETH)
the transaction fee amount, expressed as integer in lowest currency denomination (e.g. gas price for ETH)
PaymentResponse responds to a PaymentRequest message_type = "PAYMENT_RESPONSE"
if status=ACCEPTED, should be the same scope as the request
any status response
if status=ACCEPTED, the transaction ID
if status=REJECTED, an error code.
Ping another wallet, to test the protocol and wallet link is established message_type = "PING"
can be any string. only used for testing
Pong responds to a Ping from another wallet. It is courteous to respond to a Ping with a Pong by not mandatory message_type = "PONG"
should be the content of the Ping messages .ping attribute
PushNotification is only recognized as a member of Envelope
Used in:
Generalized status enumeration for request-response messages
Used in:
, , ,