package trisa.api.v1beta1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service TRISAHealth

api.proto:51

The TRISAHealth service is optional but highly recommended for VASP members to implement. The Status endpoint allows the TRISA Directory Service to perform health checks with VASP's TRISA Node and report the service conditions of the TRISA network. Because a down TRISA node will prevent travel rule compliant virtual asset transactions, the health service is intended to quickly identify network problems and notify members as quickly as possible. NOTE: the TRISAHealth service must also be behind mTLS so that the health check service can verify the identity certificates being used for the TRISANetwork service.

service TRISANetwork

api.proto:18

The TRISANetwork service defines the peer-to-peer interactions between VASPs that are necessary to conduct compliance information exchanges. All TRISA members must implement all services described by the TRISA protocol to ensure that exchanges are conducted correctly and securely. The primary RPCs are Transfer and TransferStream which allow VASPs to exchange compliance information before conducting a virtual asset transaction. The other RPCs facilitate Transfers, allowing address confirmations prior to a transfer and public key exchange so that transaction envelopes can be encrypted and signed.

message Address

api.proto:178

Address specifies a crypto address that requires a proof-of-control verification. There are three types of verification: simple, key-based, and on-chain. In simple address confirmation, the counterparty simply replies y/n if they control the address. In key-based control, a token encrypted with the public keys is sent to the counterparty which must decrypt it with the private key and return it. In on-chain proof-of-control, a transaction is placed on the chain for some small random amount of the specified asset, random enough that it can be confirmed by the originator.

Used as request type in: TRISANetwork.ConfirmAddress

Used as field type in: AddressConfirmation

enum ConfirmationType

api.proto:231

Used in: Address

message Error

errors.proto:9

Used in: AddressConfirmation, SecureEnvelope

enum Error.Code

errors.proto:10

Used in: Error

message KeyTokenConfirm

api.proto:249

Used in: AddressConfirmation

message KeyTokenQuery

api.proto:238

Used in: Address

message OnChainConfirm

api.proto:266

Used in: AddressConfirmation

message OnChainQuery

api.proto:255

Used in: Address

message Payload

api.proto:146

Payload contains the compliance identity information that must be exchanged in a secure fashion, transaction information for both counterparties to uniquely identify the transaction on the chain, and timestamps that are used for regulatory non-repudiation. This payload is serialized and encrypted to be sent in the SecureEnvelope as well as digitally signed to ensure that the payload has not been tampered with after transmission. The internal message types of the payload are purposefully generic to allow flexibility with the data needs for different exchanges.

message SecureEnvelope

api.proto:61

Encrypted transaction envelope that is the outer layer of the TRISA information exchange protocol and facilitates the secure storage of KYC data in a transaction. The envelope specifies a unique id to reference the transaction out-of-band (e.g in the blockchain layer) and provides the necessary information so that only the originator and the beneficiary can decrypt the trnasaction data.

Used as request type in: TRISANetwork.Transfer, TRISANetwork.TransferStream

Used as response type in: TRISANetwork.Transfer, TRISANetwork.TransferStream

enum ServiceState.Status

api.proto:305

Used in: ServiceState

enum TransferState

api.proto:128

Used in: SecureEnvelope