Method for data sharing between virtual asset service providers across a secure communication channel

The method establishes a secure communication channel between virtual asset service providers by comparing policy sets and confirming trust levels, addressing the challenge of secure data sharing and regulatory compliance.

WO2025106860A1PCT designated stage expired Publication Date: 2025-05-22NOTABENE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/056190
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-16
Filing Date
2024-11-15
Publication Date
2025-05-22

AI Technical Summary

Technical Problem

Existing methods for data sharing between virtual asset service providers lack a secure communication channel, making it difficult to ensure trust and compliance with regulatory policies across entities.

Method used

A method that establishes a secure communication channel between virtual asset service providers by accessing and comparing policy sets, generating notifications, and confirming trust levels before facilitating transactions.

Benefits of technology

This method enables secure and compliant data sharing by verifying policy correspondence and trust levels, reducing the risk of fraudulent activities and ensuring adherence to regulatory requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024056190_22052025_PF_FP_ABST
    Figure US2024056190_22052025_PF_FP_ABST
Patent Text Reader

Abstract

A method includes, during a first time period: accessing first policies of a first entity; accessing second policies of a second entity; identifying the second entity as a candidate counterparty to the first entity; sharing the second policies with the first entity; sharing the first policies with the second entity; receiving confirmations indicating the first entity and the second entity as trusted counterparties; and generating a communication channel between the first entity and the second entity. The method further includes, during a second time period: receiving, from the first entity, a transaction request; identifying the second entity as associated with the transaction request; transmitting the transaction request to the second entity via the communication channel; receiving, from the second entity, a transaction authorization; and transmitting the transaction authorization to the first entity via the communication channel.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD FOR DATA SHARING BETWEEN VIRTUAL ASSET SERVICEPROVIDERS ACROSS A SECURE COMMUNICATION CHANNELCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This Application claims the benefit of U.S. Provisional Application No. 63 / 599,971, filed on 16-NOV-2O23, which is incorporated in its entirety by this reference.TECHNICAL FIELD

[0002] This invention relates generally to the field of communications security and more specifically to a new and useful method for data sharing between virtual asset service providers across a secure communication channel within the field of communications security.BRIEF DESCRIPTION OF THE FIGURES

[0003] FIGURE 1 is a flowchart representation of a method;

[0004] FIGURES 2A, 2B, and 2C are flowchart representations of one variation of the method; and

[0005] FIGURES 3A, 3B, 3C, and 3D are flowchart representations of one variation of the method.DESCRIPTION OF THE EMBODIMENTS

[0006] The following description of embodiments of the invention is not intended to limit the invention to these embodiments but rather to enable a person skilled in the art to make and use this invention. Variations, configurations, implementations, example implementations, and examples described herein are optional and are not exclusive to the variations, configurations, implementations, example implementations, and examples they describe. The invention described herein can include any and all permutations of these variations, configurations, implementations, example implementations, and examples.1. _ Methods

[0007] As shown in FIGURES 1, 2A, 2B, 2C, and 3A, a method S100 includes, during a first time period: accessing a first set of policies implemented by a first entity in Block S110; accessing a second set of policies implemented by a second entity in BlockS112; identifying the second entity as a candidate counterparty to the first entity based on correspondence between the first set of policies and the second set of policies in Block S120; generating a first notification specifying the first set of policies in Block S122; transmitting the first notification to the second entity in Block S124; generating a second notification specifying the second set of policies in Block S126; transmitting the second notification to the first entity in Block S128; receiving a first confirmation indicating the second entity as trusted by the first entity based on the second set of policies in Block S130; receiving a second confirmation indicating the first entity as trusted by the second entity based on the first set of policies in Block S132; and generating a communication channel between the first entity and the second entity in response to receiving the first confirmation and the second confirmation in Block S136.

[0008] The method S100 also includes, during a second time period: receiving a transaction request from the first entity in Block S150, the transaction request representing a transfer of a virtual asset from a first blockchain address associated with a first user identifier to a second blockchain address and confirming absence of the first user identifier from a list of sanctioned user identifiers; identifying the second entity as associated with the transaction request in response to associating the second blockchain address with the second entity during the first time period and the transaction request specifying the second blockchain address in Block S160; transmitting the transaction request to the second entity via the communication channel in Block S174; receiving a transaction authorization from the second entity in Block S180, the transaction authorization indicating acceptance of the transfer of the virtual asset by the second entity based on absence of the first user identifier from the list of sanctioned user identifiers and confirming absence of a second user identifier, associated with the second blockchain address, from the list of sanctioned user identifiers; and transmitting the transaction authorization to the first entity via the communication channel in Block S184.1.1 _ Variation: Transaction Rejection

[0009] As shown in FIGURES 1, 2A, 2B, 2C, 3B, and 3C, one variation of the method S100 includes, during a first time period: accessing a first set of policies implemented by a first entity in Block S110; accessing a second set of policies implemented by a second entity in Block S112; identifying the second entity as a candidate counterparty to the first entity based on correspondence between the first set of policies and the second set of policies in Block S120; generating a first notification specifying the first set of policies in Block S122; transmitting the first notification to the second entityin Block S124; generating a second notification specifying the second set of policies in Block S126; transmitting the second notification to the first entity in Block S128; receiving a first confirmation indicating the second entity as trusted by the first entity based on the second set of policies in Block S130; receiving a second confirmation indicating the first entity as trusted by the second entity based on the first set of policies in Block S132; and generating a communication channel between the first entity and the second entity in response to receiving the first confirmation and the second confirmation in Block S136.

[0010] This variation of the method S100 also includes, during a second time period: receiving a transaction request from the first entity in Block S150, the transaction request representing a transfer of a virtual asset from a first blockchain address associated with a first user identifier to a second blockchain address and confirming absence of the first user identifier from a list of sanctioned user identifiers; identifying the second entity as associated with the transaction request in response to associating the second blockchain address with the second entity during the first time period and the transaction request specifying the second blockchain address in Block S160; generating a message representing the transaction request in Block S172; transmitting the message to the second entity via the communication channel in Block S174; receiving a transaction rejection from the second entity in Block S185, the transaction rejection indicating rejection of the transfer of the virtual asset by the second entity based on presence of a second user identifier, associated with the second blockchain address, in the list of sanctioned user identifiers; and transmitting the transaction rejection to the first entity via the communication channel in Block S184.1.2 _ Variation: Virtual Asset Service Provider

[0011] As shown in FIGURES 1, 2A, 2B, 2C, and 3A, one variation of the method S100 includes, during a first time period: receiving a first set of policies implemented by a first virtual asset service provider in Block S110; receiving a second set of policies implemented by a second virtual asset service provider in Block S112; identifying the second virtual asset service provider as a candidate counterparty to the first virtual asset service provider based on correspondence between the first set of policies and the second set of policies in Block S120; granting access of the second set of policies to the first virtual asset service provider in Block S124; granting access of the first set of policies to the second virtual asset service provider in Block S128; receiving a first confirmation indicating the second virtual asset service provider as trusted by the first virtual asset service provider based on the second set of policies in Block S130; receiving a secondconfirmation indicating the first virtual asset service provider as trusted by the second virtual asset service provider based on the first set of policies in Block S132; and generating a communication channel between the first virtual asset service provider and the second virtual asset service provider in response to receiving the first confirmation and the second confirmation in Block S136.

[0012] The method S100 also includes, during a second time period receiving a transaction request from the first virtual asset service provider in Block S150, the transaction request: representing a transfer of a virtual asset from a first blockchain address associated with a first user identifier to a second blockchain address; and confirming absence of the first user identifier from a list of sanctioned user identifiers. The method S100 also includes identifying the second virtual asset service provider as associated with the transaction request in response to: associating the second blockchain address with the second virtual asset service provider during the first time period; and the transaction request specifying the second blockchain address. The method S100 also includes: generating a first message based on the transaction request in Block S172; transmitting the first message to the second virtual asset service provider via the communication channel in Block S174; receiving a transaction authorization from the second virtual asset service provider in Block S180, the transaction authorization indicating acceptance of the transfer of the virtual asset by the second virtual asset service provider based on absence of the first user identifier from the list of sanctioned user identifiers; and confirming absence of a second user identifier, associated with the second blockchain address, from the list of sanctioned user identifiers. The method S100 also includes: generating a second message based on the transaction authorization in Block S182; and transmitting the second message to the first virtual asset service provider via the communication channel in Block S184.1.3 _ Variation: Transaction Signature

[0013] As shown in FIGURES 1, 2A, 2B, 2C, and 3A one variation of the method S100 includes, during a first time period: receiving first entity information associated with a first entity in a set of entities in Block S110, the first entity information specifying a first blockchain address hosted by the first entity; receiving second entity information associated with a second entity in the set of entities in Block S112, the second entity information specifying a second blockchain address hosted by the second entity; identifying the second entity as a candidate counterparty to the first entity in Block S120; identifying the first entity as a candidate counterparty to the second entity in Block S121;generating a second notification specifying the second entity information in Block S126; generating a first notification specifying the first entity information in Block S122; transmitting the second notification to the first entity in Block S128; transmitting the first notification to the second entity in Block S124; and, based on correspondence between the first entity information and the second entity information, establishing a first communication channel between the first entity and the second entity in Block S136.

[0014] The method S100 also includes, during a second time period succeeding the first time period: receiving, from the first entity, transaction information representing a transfer of a virtual asset from the first blockchain address to the second blockchain address in Block S150, the transaction information confirming absence of a first user identifier, associated with the first blockchain address, from a set of sanctioned user identifiers; based on the transaction information and the second entity information, identifying the second entity as a beneficiary entity associated with the transfer of the virtual asset in Block S160; generating a first message representing the transaction information in Block S172; and transmitting the first message to the second entity based on the first communication channel in Block S174.

[0015] The method S100 further includes receiving a transaction authorization indicating acceptance, by the second entity, of the transfer of the virtual asset and confirming absence of a second user identifier, associated with the second blockchain object, from the set of sanctioned user identifiers in Block 180.

[0016] The method S100 also includes: generating a second message indicating acceptance, by the second entity, of the transfer of the virtual asset and confirming absence of the second user identifier from the set of sanctioned user identifiers in Block S182; and transmitting the third message to the first entity based on the first communication channel in Block S184.

[0017] The method S100 further includes: receiving a transaction representing the transfer of the virtual asset from the first blockchain address to the second blockchain address in Block S186; in response to absence of the first user identifier and the second user identifier from the set of sanctioned user identifiers, updating the transaction - as a verified transaction - in Block S188 and including a signature verifying the transfer of the virtual asset from the first blockchain address to the second blockchain address in Block S190; and transmitting the verified transaction to a distributed network of nodes for commitment to a block of a blockchain in Block S192.2. Applications[ooi8] Generally, a computer system - including a management platform - can execute Blocks of the method Sioo: to establish communication links with a set of entities (e.g., virtual asset service providers); to receive entity information (e.g., “Know Your Customer” policies, “Anti-Money-Laundering” policies, “Travel Rule” policies, data security policies, hosted blockchain addresses) for each entity in the set of entities; to identify a first entity (e.g., a first virtual asset service provider) and a second entity (e.g., a second virtual asset service provider), in the set of entities, that are candidate counterparties to each other in future transactions; and to generate a secure communication channel between the first entity and the second entity.

[0019] Accordingly, the computer system can execute Blocks of the method Sioo: to notify - to the first entity - presence of the second entity; to notify, to the second entity, presence of the first entity; and to pre-share selected entity information (e.g., policies) between the first entity and the second entity via the secure communication channel prior to execution of a transaction request associated with these entities. Therefore, the computer system can execute Blocks of the method Sioo to enable the first entity and the second entity: to specify a first set of policies associated with the first entity; to specify a second set of policies associated with the second entity; to identify correspondence between the first set of policies and the second set of policies, such as a sanctions screening policy included in these sets of policies; and to establish trust between these entities based on this correspondence.2.1 _ Entity Discovery & Transaction Data Sharing

[0020] Additionally, the computer system can execute Blocks of the method Sioo: to receive transaction information - associated with a transfer of a virtual asset (e.g., a cryptocurrency, a token) from a first blockchain address, hosted by first entity, to a second blockchain address - from the first entity; and to identify the second entity as affiliated with the transfer based on the second blockchain address pre-registered within entity information.

[0021] Accordingly, the computer system can execute Blocks of the method Sioo: to resolve blockchain addresses to real -world identities of entities hosting (and / or users transacting with) these blockchain addresses; to generate messages representing transaction information (e.g., blockchain addresses, entity information, user information, sanctions screening results, transfer acceptance); and to transmit these messages across the secure communication channel to the first entity and the second entity. Therefore, the computer system can execute Blocks of the method Sioo to enable these entities: toexecute due diligence processes based on the transaction information; and to comply with policies for sanctions screening and / or transaction recordkeeping. - Terminology

[0022] Generally, a “virtual asset” is referred to herein as a digital representation of value, excluding digital representation of fiat currencies, such as: a cryptocurrency asset; a token; etc.

[0023] Generally, a “virtual asset service provider” is referred to herein as an entity that, on behalf of a user (e.g., a human user, an organization): exchanges between virtual assets and fiat currencies; exchanges between virtual assets; transfers virtual assets; and / or stores (and / or administrates) virtual assets or instruments control over virtual assets; etc.

[0024] Generally, a “signature” is referred to herein as a mathematical scheme for verifying authenticity of digital messages and / or data (e.g., acceptance of a transaction, verification of elements associated with a transaction).4. System

[0025] Generally, a computer system (hereinafter “the system”) can include and / or interface with: a set of entities representing (or “hosting”) blockchain addresses (e.g., wallets); a management platform; and a population of user devices. The set of entities, the management platform, and / or the population of user devices can be communicatively coupled via a communication network (e.g., the Internet, a wide area network, a local area network).4.1 Entity

[0026] In one implementation, an entity (e.g., a computer device) can include a virtual asset service provider (hereinafter “VASP”) (e.g., a cryptocurrency exchange, a financial institution). In this implementation, the VASP represents (or “hosts”) a set of blockchain addresses (e.g., custodial wallets) for a set of users (e.g., human users, organizations), each blockchain address representing a virtual location at which a virtual asset (or an amount of a virtual asset) may be stored, to which a virtual asset may be deposited, and / or from which a virtual asset may be withdrawn. The entity can receive requests - from user devices, in the population of devices, associated with users in the set of users - to execute transactions associated with blockchain addresses associated with these users.

[0027] In another implementation, the entity can include a user device associated with a user. In this implementation, the user device represents (or self-hosts) a blockchain address (e.g., a non-custodial wallet) for the user.4.1.1 User Registration

[0028] In one implementation, a first entity (e.g., a first VASP), in the set of entities, receives user information (e.g., personally identifiable information, a full name, a physical address, a birthdate) - associated with a first user in a first set of users - from a first user device in the population of devices.

[0029] In this implementation, the first entity can verify the user information based on corroborating information (e.g., a government-issued identification document, a utility bill) received from the first device. In response to receiving and verifying the user information, the first entity can: store the user information in a data repository (e.g., a first user database); and assign a first blockchain address (or a first set of blockchain addresses) to the first user.

[0030] Accordingly, by validating the user information associated with the first user, the first entity can reduce risk of fraudulent activity associated with the first blockchain address assigned to the first user and hosted by the first entity.

[0031] The first entity can repeat the foregoing process for each user in the first set of users.4.1.2 Virtual Asset Transaction

[0032] In one implementation, the first entity executes a request - from the first user device associated with the first user - for a transfer of a virtual asset (or an amount of the virtual asset) from the first blockchain address to a second blockchain address, such as a second blockchain address associated with a second user and hosted by a second entity (e.g., a second VASP) in the set of entities. More specifically, the first entity: generates a transaction representing the transfer of the virtual asset from the first blockchain address to the second blockchain address; and transmits - via the communication network - the transaction to a distributed network of nodes for validation and commitment to a block of a blockchain.4.1.3 Due diligence

[0033] In another implementation, the first entity transmits the transaction in response to accessing transaction information associated with the transfer of the virtual asset from the first blockchain address to the second blockchain address.

[0034] More specifically, the first entity can access the transaction information including: a virtual asset type; an amount (or value) of the virtual asset to transfer; a first user identifier (e.g., a first full name) of the first user; the first blockchain address; a first entity identifier (e.g., a first decentralized identifier) of the first entity; a second user identifier (e.g., a second full name) of the second user; the second blockchain address; and / or a second entity identifier (e.g., a second decentralized identifier) of the second entity hosting the second blockchain address; etc.

[0035] In one example, the first entity accesses transaction information based on the request - for the transfer of the amount of the virtual asset - specifying: the virtual asset type; the amount of the virtual asset to transfer; the first blockchain address; and the second blockchain address. The first entity then, based on the first blockchain address specified in the request: accesses - from the first user database - the first user identifier, of the first user, to which the first blockchain address is assigned; accesses a set of target identifiers (e.g., a list of names of sanctioned users); and, in response to absence of the first user identifier of the first user from the set of target users, transmits the transaction to the distributed network.

[0036] Accordingly, the first entity can: receive a request for a transfer of a virtual asset between a group of users; screen the request for a sanctioned user within the group of users (e.g., screen the first user as a possible sanctioned user according to a policy specifying sanctions screening); and execute a transaction representing the transfer in response to absence of a sanctioned user within the group of users, thereby complying with jurisdictional regulations (e.g., anti-money-laundering policies) and reducing risk exposure (e.g., money laundering risk) of the first entity.4.2 _ Blockchain Structure

[0037] Generally, the system can further include the distributed network of nodes (e.g., computer devices) interconnected through a communication medium (e.g., the Internet, a wide area network, a local area network).

[0038] In one implementation, the distributed network of nodes (or a subset of nodes in the distributed network of nodes): receives a transaction - from an entity - representing a transfer of an amount of a virtual asset from a first blockchain address toa second blockchain address; validates the transaction; and generates a block representing (or including) the transaction; and appends the block to a blockchain.4. Management Platform

[0039] Generally, the management platform (e.g., a computer device) can: establish (or generate) communication links with entities in the set of entities; expose each of these entities to other entities in the set of entities; generate communication channels between entities in the set of entities; and manage communication across these communication channels.

[0040] In one implementation, the management platform generates a communication channel - between the first entity and the second entity - through which a set of transaction information, associated with a transfer of a virtual asset, may be exchanged. . Entity Registration

[0041] The method S100 includes: accessing a first set of policies implemented by the first entity in Block S110; and accessing a second set of policies implemented by the second entity in Block S112.

[0042] Generally, in Blocks S110 and S112, the management platform can: access entity information - of the first entity in a set of entities - such as policies (e.g., know your customer policies, anti-money laundering policies, counter terrorism financing policies) implemented by the first entity, blockchain addresses hosted by the first entity, and a jurisdiction(s) under which the first entity is governed; and access entity information - of the second entity in a set of entities - such as policies implemented by the second entity, blockchain addresses hosted by the first entity, and jurisdiction of the second entity. Therefore, based on correspondence between policies of a pair of entities in the set of entities, the management platform can identify the pair of entities as candidate counterparties.

[0043] In one implementation, the management platform receives entity information from an entity, such as via a communication link (e.g., an encrypted communication link) between the management platform and the entity.

[0044] For example, the management platform can receive the entity information including: an identifier (e.g., a name, an identification number) associated with the entity; a jurisdiction (e.g., a country) governing the entity; a set of policies associated with theentity (e.g., security policies, data storage policies, regulatory requirements under which the entity operates, transaction recordkeeping policies); etc.

[0045] In another implementation, the management platform can: verify the entity information (e.g., based on corroborating information retrieved from an external data repository); and assign a risk level (or a risk score) (e.g., a “high” risk level corresponding to a high-risk entity, a “low” risk level corresponding to a low-risk entity, a “medium” risk level corresponding to a low-risk entity in a high-risk jurisdiction) to the entity based on the entity information. In response to the risk level falling below a risk threshold, the management platform can register (or add) the entity to the set of entities. Alternatively, in response to the risk level exceeding the risk level threshold, the management platform omits the entity from the set of entities.

[0046] Accordingly, the management platform can register the set of entities that are trusted by the management platform based on verified entity information and risk levels of entities in the set of entities. Therefore, the management platform can: identify entities - in the set of entities - to each other; establish communication channels between these entities; and manage communication across these communication channels, as described below.

[0047] In one implementation, the management platform stores entity information for each entity in the set of entities. More specifically, for each entity in the set of entities, the management platform can: assign a data repository, in a set of data repositories, to the entity; encrypt entity information associated with the entity as encrypted entity information; and store the encrypted entity information in the data repository assigned to the entity.

[0048] Additionally, the management platform can store the risk level assigned to the entity.5.1 _ Blockchain Address Registration

[0049] In one implementation, the management platform receives the entity information further including a set of blockchain addresses hosted by an entity in the set of entities. The management platform can: encrypt the set of blockchain addresses - such as based on a cryptographic hash function - as a set of encrypted blockchain addresses; and store the encrypted blockchain addresses in the data repository (e.g., first database of blockchain addresses) assigned to the entity.

[0050] In one variation, the entity encrypts the set of blockchain addresses as the encrypted set of blockchain addresses.

[0051] In this variation, the management platform: receives the encrypted set of blockchain addresses from the entity; and stores the encrypted set of blockchain addresses in the data repository assigned to the entity.

[0052] In another implementation, the management platform can: receive a first blockchain address, in a first set of blockchain addresses, associated with a first entity (e.g., a first VASP); encrypt the first blockchain address into an encrypted first blockchain address; generate a first record representing the encrypted first blockchain address linked to the first entity; and store the first record in a database of blockchain addresses.

[0053] The management platform can repeat the foregoing methods and techniques for each entity in the set of entities. For example, the management platform can: receive a second blockchain address, in a second set of blockchain addresses, associated with a second entity (e.g., a second VASP); encrypt the second blockchain address into an encrypted second blockchain address; generate a second record representing the encrypted second blockchain address linked to the second entity; and store the second record in a database of blockchain addresses.

[0054] Accordingly, the management platform can store records linking blockchain addresses to entities hosting these blockchain addresses. Therefore, in response to receiving transaction information (e.g., a transaction request) specifying target a blockchain address corresponding to a registered blockchain address represented in a record, the management platform can identify an entity hosting the registered blockchain address as a participant associated with the transaction request based on the record.

[0055] In another implementation, the management platform assigns a risk level (or a risk score) (e.g., a “high” risk level corresponding to a high-risk blockchain address, a “low” risk level corresponding to a low- risk blockchain address) to a blockchain address in the set of blockchain addresses. For example, the management platform can assign the risk level based on: a transaction history associated with the blockchain address; an entity hosting the blockchain address; and / or an identifier of a user associated with the blockchain address; etc.

[0056] Additionally, the management platform can: receive an identifier (e.g., a full name, an identification number) of a user associated with a blockchain address in the set of blockchain addresses; encrypt the identifier as an encrypted identifier; and store the encrypted identifier in the data repository. The management platform also can assign a risk level (or a risk score) to a user (or user identity), such as based on a transaction history associated with the user (or user identity), a jurisdiction of the user, etc.5.2 _ Target Counterparty Configuration Generation

[0057] In one implementation, the management platform can generate a first target counterparty configuration for the first entity, the first target counterparty configuration representing a first set of target policies and a first set of target jurisdictions characterizing a target entity trusted by the first entity. For example, the management platform can generate - for the first entity - the first target counterparty configuration specifying a target security policy, a target data storage policy, a target regulatory requirement, a target sanctions screening policy, and a target transaction recordkeeping policy implemented by entities trusted by the first entity.

[0058] In one example, the management platform can: prompt the first entity to specify the first set of target policies and the first set of target jurisdictions of entities trusted by (or in a counterparty relationship with) the first entity; and generate the first target counterparty configuration based on the first set of target policies and the first set of target jurisdictions specified by the first entity. Accordingly, the management platform can generate the target counterparty configuration - representing a minimum set of policies implemented by entities trusted by the first entity and jurisdictions of entities trusted by the first entity - for the first entity based on information provided by the first entity.

[0059] In another example, the management platform can prompt the first entity to: provide responses to a set of prompts (e.g., a questionnaire, does the comply with travel rules, does the entity implement wallet address screening, etc.); access a set of responses to the set of prompts; and compile the set of responses into the first target counterparty configuration. Accordingly, the management platform can generate the first target counterparty configuration - representing a minimum set of policies implemented by entities trusted by the first entity and jurisdictions of entities trusted by the first entity - for the first entity based on responses to the set of prompts (e.g., the questionnaire) specified by the first entity.

[0060] The management platform can repeat the foregoing methods and techniques to generate a second target counterparty configuration for the second entity, the second target counterparty configuration representing a second set of target policies and a second set of jurisdictions (e.g., the second set of target policies and the second set of jurisdictions trusted by the second entity).[oo6i] Accordingly, the management platform can cooperate with an entity to generate - for the entity - the target counterparty configuration specifying policies and jurisdictions implemented by entities trusted by the entity.

[0062] Therefore, based on the target counterparty configuration, the management platform can identify candidate counterparties that may be trusted by the entity. In addition, based on the target counterparty configuration, the management platform can automatically verify that the candidate counterparties meet minimum regulatory requirements of the entity, thereby enabling the entity to establish trust with the candidate counterparty sooner. Additionally or alternatively, the management platform can transmit the target counterparty configuration to the entity, thereby enabling the entity to identify other entities as trusted based on the first target counterparty configuration.6. _ Candidate Counterparty Identification

[0063] Block S120 of the method S100 recites identifying the second entity as a candidate counterparty to the first entity based on correspondence between the first set of policies and the second set of policies.

[0064] In Block S120, the management platform can: detect correspondence (e.g., match, similarity) between the first set of policies and the second set of policies; and, based on the correspondence, identify the second entity as a candidate counterparty to the first entity and identify the first entity as a candidate counterparty to the second entity. Therefore, based on correspondence between two sets of policies, the management platform can identify a pair of entities, in the set of entities, that may enter into a trusted counterparty relationship and cooperate (with each other and with the management platform) to complete virtual asset transactions while meeting their regulatory requirements.

[0065] In one implementation, the management platform can: access the first set of policies implemented by the first entity and including a first sanctions screening policy associated with the list of sanctioned user identifiers; and access the second set of policies implemented by the second entity and including a second sanctions screening policy associated with the list of sanctioned user identifiers. Then, the management platform can: detect correspondence between the first set of policies and the second set of policies in response to the first sanctions screening policy matching the second sanctions screening policy; and identify the second entity as a candidate counterparty to the firstentity based on correspondence between the first set of policies and the second set of policies.

[0066] Accordingly, the management platform can detect correspondence between the first set of policies and the second set of policies in response to the first sanctions screening policy and the second sanctions screening policy specifying the same list of sanctioned users. Thus, the management platform can identify the second entity as a candidate counterparty to the first entity in response to both entities implementing one or more of the same policies.

[0067] Additionally, or alternatively, the management platform can identify the second entity as a candidate counterparty to the first entity in response to: both entities specifying the same jurisdiction; and / or frequency of transaction requests between blockchain addresses hosted by both entities exceeding a threshold frequency.

[0068] Therefore, based on the first set of policies, the second set of policies, and other entity information accessed by the management platform from the first entity and the second entity, the management platform can identify the first entity and the second entity as candidate counterparties that may cooperate (with each other and with the management platform) to complete virtual asset transactions while meeting their regulatory requirements.6.1 _ Counterparty Identification via Target Counterparty Configuration

[0069] In one implementation, the management platform can: identify the second entity as a candidate counterparty to the first entity; detect presence of the first set of target policies - specified in the first target counterparty configuration - of the first entity in the second set of policies of the second entity; and detect presence of the second jurisdiction of the second entity in the first set of target jurisdictions - specified in the first target counterparty configuration - of the first entity.

[0070] Accordingly, the management platform can detect that the second entity fulfills conditions (e.g., a minimum set of conditions) - specified in the first target counterparty configuration - for identification as “trusted” by the first entity.

[0071] Then, in response to detecting presence of the first set of target policies in the second set of policies and detecting presence of the second jurisdiction in the first set of target jurisdictions, the management platform can generate the first notification: specifying the second set of policies; and indicating compliance of the second set of policies and the second jurisdiction with the first target counterparty configuration of thefirst entity. The management platform can then transmit the first notification to the first entity.

[0072] Accordingly, in response to detecting that the second entity fulfills the minimum set of conditions - specified in the first target counterparty configuration - for identification as “trusted” by the first entity, the management platform can share the second set of policies of the second entity with the first entity.

[0073] For example, the management platform can: detect that the second set of policies includes the set of target policies implemented by entities trusted by the first entity; detect that the set of target jurisdictions of entities trusted by the first entity include the second jurisdiction of the second entity; and transmit the first notification - specifying, at least, that the second set of policies includes the second set of target policies and that the set of target jurisdictions includes the second jurisdiction of the second entity - to the first entity.

[0074] The management platform can repeat the foregoing methods and techniques to: detect presence of the second set of target policies - represented in the second target counterparty configuration - of the second entity in the first set of policies of the second entity; detect presence of the first jurisdiction of the second entity in the second set of target jurisdictions - represented in the second target counterparty configuration - of the second entity; generate the second notification specifying the first set of policies and indicating compliance of the first set of policies and the first jurisdiction with the second target counterparty configuration of the second entity; and transmit the second notification to the second entity.

[0075] Accordingly, the management platform can: verify presence of a second set of policies and / or a second jurisdiction of a second entity in a target counterparty configuration of a first entity; and indicate - to the first entity - the presence of the second set of policies and the second jurisdiction in the target counterparty configuration. Therefore, the management platform can automatically initiate (and / or execute) a portion of the due diligence process executed by the first entity to establish trust with the second entity. Thus, the management platform can enable the first entity to withhold verifying that the second set of policies and the second jurisdiction meet conditions (e.g., the minimum set of conditions, regulatory requirements, sanctions screening requirements) set by the first entity and represented in the first target counterparty configuration, thereby enabling the first entity to establish trust with the second entity.Entity Information Sharing

[0076] The method S100 includes: generating a first notification specifying the first set of policies in Block S122; transmitting the first notification to the second entity in Block S124; generating a second notification specifying the second set of policies in Block S126; and transmitting the second notification to the first entity in Block S128.

[0077] In one variation, the method S100 includes: granting the first entity access to the second set of policies in Block S124; and granting the second entity access to the first set of policies in Block S128.

[0078] Generally, in Blocks S122, S124, S126, and S128, the management platform can grant an entity access to a set of policies of a candidate counterparty of the entity.

[0079] Therefore, the management platform can pre-share the set of policies of the candidate counterparty of the entity with the entity prior to initiation of a transaction between the entity and the candidate counterparty, thereby enabling the entity to review the set of policies of the candidate counterparty, and identify the candidate counterparty as “trusted” if the set of policies of the candidate counterparty fulfil the regulatory requirements of the entity, or “not trusted” if the set of policies does not fulfil the regulatory requirements of the entity. Thus, the management platform can enable due diligence between entities prior to transactions between these entities in order to reduce transaction latency and increase transaction throughput.

[0080] In one implementation, the management platform: identifies the second entity as a candidate counterparty to the first entity; accesses second entity information associated with the second entity; generates a second notification identifying the second entity as the candidate counterparty to the first entity and specifying the second entity information; and transmits the second notification to the first entity.

[0081] For example, the management platform can generate the second notification specifying the second entity information including: a second entity identifier associated with the second entity; a second jurisdiction governing the second entity; a second set of policies associated with the second entity; etc.

[0082] The management platform can also: identify the first entity as a candidate counterparty to the second entity; and access first entity information associated with the first entity. The management platform can generate a first notification: identifying the first entity as the candidate counterparty to the second entity; specifying the first entity information (e.g., a first entity identifier associated with the first entity, a first jurisdiction governing the first entity, a first set of policies associated with the first entity); and including a first request to connect the first entity and the second entity via a firstcommunication channel between the first entity and the second entity. Then, the management platform can transmit the first notification to the second entity.

[0083] Accordingly, the management platform can: notify presence of the first entity and the second entity to each other; and share verified entity information - such as the first set of policies, associated with the first entity, and the second set of policies associated with the second entity - between these entities. Therefore, the management platform enables the first entity and the second entity: to identify correspondence between the first set of policies and the second set of policies, such as a first policy specifying sanctions screening and / or a second policy specifying encrypted data storage; and to establish trust between these entities based on this correspondence.

[0084] In another implementation, the management platform can: access a first set of policies of a first entity; access a second set of policies of a second entity; calculate a first risk level for the first entity based on the first set of policies in Block S114; calculate a second risk level for the second entity based on the second set of policies in Block S116; generate the first notification specifying the first set of policies and the first risk level of the first entity; transmit the first notification to the second entity; generate the second notification specifying the second set of policies and the second risk level of the second entity; and transmit the second notification to the first entity. For example, based on antimoney laundering and counter terrorism financing policies of the first entity, the management platform can calculate the first risk level (e.g., risk score) of the first entity.

[0085] Accordingly, the management platform: can calculate risk of each of two entities identified as candidate counterparties. Therefore, the management platform can enable each of the two entities to access a risk associated with the candidate counterparty; and, based on the risk, identify the candidate counterparty as “trusted” or “not trusted”.7.1 _ Additional Entity Information Request

[0086] In one implementation, the management platform can: access a third notification from the first entity requesting additional information (e.g., access to a particular policy) of a second entity; prompt the second entity to provide the additional information; and transmit the additional information to the first entity.

[0087] More specifically, the management platform can: generate the second notification specifying the second set of policies in Block S126; transmit the second notification to the first entity in Block S128; access a third notification from the first entity indicating absence of a target policy (e.g., anti-money laundering policy) in the second set of policies, the target policy analogous to a first policy in the first set of policies in BlockS102; prompt the second entity to provide the target policy implemented by the second entity in Block S104; access (e.g., receive) a second policy analogous to the first policy from the second entity in Block S106; and transmit the second security policy to the first entity in Block S108.

[0088] Accordingly, the management platform can grant a first entity access to a particular policy of a second entity (e.g., upon request). Therefore, the management platform can enable the first entity to verify presence of a set of particular policies in the second set of policies, thereby verifying that the second entity complies with regulatory requirements of the first entity and mitigating risk of establishing a counterparty relationship with the second entity.8. _ Entity Response + Communication Channel Generation

[0089] Based on the second entity information specified in the second notification, the first entity can transmit a first communication - to the management platform - approving the first request to connect the first entity and the second entity via the first communication channel. Similarly, based on the first entity information specified in the first notification, the second entity can transmit a second communication - to the management platform - approving the second request to connect the first entity and the second entity via the first communication channel.

[0090] In one implementation, the first entity can: receive - from the management platform - the second notification specifying the second set of policies implemented by the second entity in Block S134; access the first set of policies (implemented by the first entity); access the first target counterparty configuration in Block S132; and generate the first confirmation indicating the second entity as trusted by the first entity in response to detecting presence of the first set of target policies in the second set of policies of the second entity and detecting presence of the second jurisdiction in the first set of target jurisdictions in Block S136. The first entity can then transmit the first confirmation to the management platform in Block S138.

[0091] For example, the first entity can access the second notification and access the first target configuration specifying: the first set of target policies (e.g., regulatory requirements, anti-money laundering policies) implemented by entities in a counterparty relationship with the first entity; and the first set of target jurisdictions where the first entity conducts business. Then, the first entity can identify the second entity as trusted in response to detecting presence of the set of target policies in the second set of policies ofthe second entity and detecting presence of the second jurisdiction in the set of target jurisdictions.

[0092] Similarly, the second entity can: receive - from the management platform - the first notification specifying the first set of policies implemented by the first entity; access the second set of policies (implemented by the second entity); access the second target counterparty configuration; generate the second confirmation indicating the first entity as trusted by the second entity in response to detecting presence of the second set of target policies in the first set of policies of the first entity and detecting presence of the first jurisdiction in the second set of target jurisdictions; and transmit the second confirmation to a management network.

[0093] Accordingly, a first entity can execute due diligence on another entity (e.g., second entity) based on the first target counterparty configuration generated by the management platform. In response to detecting policies specified in the first target counterparty configuration in the second set of policies of the second entity, the first entity can identify the second entity as a trusted entity and transmit a communication to the management platform indicating the second entity as trusted by the first entity.Q. _ Establishing Communication Channel

[0094] The method S100 includes: receiving a first confirmation indicating the second entity as trusted by the first entity based on the second set of policies in Block S130; receiving a second confirmation indicating the first entity as trusted by the second entity based on the first set of policies in Block S132; and generating a communication channel between the first entity and the second entity in response to receiving the first confirmation and the second confirmation in Block S134.

[0095] Generally, in Blocks S130, S132, and S134, the management platform can: receive confirmations - from the first entity and the second entity - indicating the candidate counterparty as trusted; and generating a communication channel between the first entity and the second entity in response to receiving these confirmations. Therefore, the management platform can establish the communication channel to: facilitate secure and low-latency communication between entities during runtime execution of a transaction request; and enable the entities to cooperate to comply with sanctions screening requirements in order to complete a regulated transaction.

[0096] In one implementation, the management platform: receives the first communication including a first request to connect the first entity and the second entity via a first communication channel between the first entity and the second entity; andreceives the second communication including a second request to connect the first entity and the second entity via the first communication channel.

[0097] In another implementation, in response to receiving the first communication and the second communication, the management platform can generate the first communication channel - between the first entity and the second entity - through which information (e.g., additional entity information, transaction information) may be exchanged.

[0098] More specifically, the management platform can generate the communication channel including: a first interface (e.g., a first application programming interface (hereinafter “API”), a first set of APIs) communicatively coupled to the first entity (e.g., via the first communication link between the management platform and the first entity); and a second interface (e.g., a second API, a second set of APIs) communicatively coupled to the second entity (e.g., via a second communication link between the management platform and the second entity).

[0099] In one implementation, the management platform: receives a first set of data from the first entity at the first interface; generates a first message representing the first set of data; and transmits the first message to the second entity via the second interface.

[0100] Additionally, the management platform can: receive a second set of data from the second entity at the second interface; generate a second message representing the second set of data; and transmit the second message to the first entity via the first interface.

[0101] In another implementation, the management platform generates the first message according to a first messaging protocol - in a set of messaging protocols - associated with the second entity. The management platform also generates the second message according to a second messaging protocol, in the set of messaging protocols, associated with the first entity.

[0102] Additionally or alternatively, the management platform encrypts the first set of data, the second set of data, the first message representing the first set of data, and / or the second message representing the second set of data.

[0103] Accordingly, the management platform can: generate a secure communication channel between the first entity and the second entity; and manage communication between these entities across this communication channel. Therefore, the management platform enables the first entity and the second entity to share information - securely and according to a protocol(s) compatible with these entities -prior to runtime execution of a transaction request, thereby reducing latency and communication overhead during runtime execution of the transaction request.Q.i Additional Entity Identification & Communication Channels

[0104] The management platform can repeat the foregoing methods and techniques: to identify additional entities - in the set of entities - as candidate counterparties to the first entity; to access entity information associated with these entities; and to transmit notifications identifying these entities as candidate counterparties to the first entity and specifying the entity information; and to generate communication channels between the first entity and each of these entities.

[0105] Additionally, the management platform can repeat the foregoing methods and techniques for each entity in the set of entities. io. Transaction Data Sharing

[0106] Generally, the management platform can manage communication between entities in response to a request to transfer a virtual asset from a first blockchain address to a second blockchain address.

[0107] More specifically, the management platform can receive transaction information - from an originator entity (e.g., the first entity) hosting the first blockchain address - associated with the transfer of the virtual asset. Based on the transaction information, the management platform can: identify a beneficiary entity (e.g., the second entity) associated with the second blockchain address; generate a first message representing the transaction information; and transmit the first message to the beneficiary entity. Then, the management platform can: receive a transaction authorization , from the beneficiary entity, accepting the transfer of the virtual asset based on the transaction information; generate a second message indicating acceptance - by the beneficiary entity - of the transfer of the virtual asset; and transmit the second message to the originator entity, which may then transmit a transaction, representing the transfer of the virtual asset, to the distributed network of nodes for commitment to a block of the blockchain.10.1 Transaction Request Generation + Sanctions screening

[0108] In one implementation, a first entity can: receive a user request from a first user associated with the first user identifier, the user request representing the transfer of the virtual asset from the first blockchain address to the second blockchain address inBlock S140; and, in response to receiving the user request from the first user, access the list of sanctioned user identifiers in Block S142 and detect absence of the first user identifier in the list of sanctioned user identifiers in Block S144. Accordingly, the first entity can execute sanctions screening on the first user identifier of a first user (e.g., customer of the first entity) that initiated the transfer of the virtual asset.

[0109] Then, the first entity can generate the transaction request in Block S146, the transaction request representing a transfer of a virtual asset from a first blockchain address associated with a first user identifier to a second blockchain address and confirming absence of the first user identifier from the list of sanctioned user identifiers. For example, in response to detecting absence of the first user identifier in the list of sanctioned user identifiers, the first entity can generate the transaction request: specifying, at least, the first user identifier, the first blockchain address, the second blockchain address, and a first entity identifier associated with the first entity; and excluding the second user identifier and a second entity identifier associated with the second entity. The first entity can then transmit the transaction request to the management platform (e.g., via the communication channel, via the first interface of the communication channel) in Block S148.

[0110] Accordingly, an entity can: execute a sanctions screening of a first user in response to receiving a user request for a transfer of a virtual asset from a blockchain address of the first user to another blockchain address; and transmit - to the management platform - a transaction request representing the transfer of the virtual asset and indicating a sanctions screening status (e.g., passed) of the first user. Therefore, the entity can transmit - to the management platform - transaction information enabling the management platform to identify the counterparty entity for the transaction and transmit the transaction information to the counterparty entity for transaction authorization.10.2 _ Transaction Request Reception

[0111] Block S150 of the method S100 recites receiving a transaction request from the first entity, the transaction request: representing a transfer of a virtual asset from a first blockchain address associated with a first user identifier to a second blockchain address; and confirming absence of the first user identifier from the list of sanctioned user identifiers.

[0112] Generally, in Block S150, the management platform can receive the request for a virtual asset transaction between the first blockchain address hosted by the firstentity and the second blockchain address hosted by the second entity. Therefore, the management platform can: access the transaction request (e.g., transaction information, first blockchain address, second blockchain address, first entity identifier, first user identifier) - associated with the transaction; and, based on the transaction information, identify the beneficiary entity and facilitate secure exchange of transaction information (e.g., transaction authorization, transaction rejection, transaction confirmation) between the originator entity and the beneficiary entity.

[0113] In one implementation, the management platform can receive - from the first entity - the transaction request: representing the transfer of the virtual asset from the first blockchain address associated with the first user identifier to the second blockchain address; confirming absence of the first user identifier from the list of sanctioned user identifiers; and specifying the first entity identifier of the first entity and the first user identifier of the first user.

[0114] In one implementation, the management platform can receive the transaction request specifying a first entity identifier (e.g., decentralized entity identifier) associated with the first entity via the first interface of the communication channel, the first interface communicatively coupled to the first entity.

[0115] Accordingly, the management platform can receive the transaction request: specifying the originator entity (i.e., first entity), the beneficiary blockchain address (i.e., second blockchain address), and the identification (i.e., first user identifier) of the first user who originated the request; and excluding specification of the beneficiary entity (i.e., second entity) and the identification (i.e., second user identifier) of the second user associated with the second blockchain address.

[0116] In another implementation, the originator entity receives a user request, from the first user device associated with the first user, for a transfer of a virtual asset from the first blockchain address - assigned to the first user and hosted by the originator entity - to a second blockchain address. In response to the user request, the originator entity can transmit transaction information associated with the transfer to the management platform. For example, the originator entity - such as the first entity - can transmit the transaction information via an API call to the first interface communicatively coupling the first entity and the management platform.

[0117] In another implementation, the management platform receives the transaction information from the originator entity. More specifically, the management platform can receive the transaction information including: a virtual asset type; an amount (or value) of the virtual asset to transfer; an identifier (e.g., a full name) of anoriginator user (e.g., the first user); an originator blockchain address (e.g., the first blockchain address) associated with the originator user; an identifier (e.g., a decentralized identifier) of an originator entity hosting the originator blockchain address; an identifier of a beneficiary user; a beneficiary blockchain address (e.g., the second blockchain address) associated with the beneficiary user; and an identifier of a beneficiary entity hosting the beneficiary blockchain address.

[0118] In one example, the management platform receives the transaction information specifying: the virtual asset type; the amount of the virtual asset to transfer; a first user identifier (e.g., a first full name) of the first user as the originator user; the first blockchain address as the originator blockchain address; a second entity identifier (e.g., a first decentralized identifier) of the first entity as the originator entity; the second user identifier (e.g., a second full name) of the second user as the beneficiary user; the second blockchain address as the beneficiary blockchain address; and / or the second entity identifier (e.g., a second decentralized identifier) of the second entity, hosting the second blockchain address, as the beneficiary entity; etc.

[0119] Additionally, the management platform can receive the transaction information confirming absence of the first user identifier - of the first user - from the set of target identifiers (e.g., a list of names of sanctioned users).

[0120] In another example, the management platform receives the transaction information excluding the second user identifier of a beneficiary user and / or the second entity identifier of a beneficiaiy entity hosting the beneficiary blockchain address.10.3 _ Beneficiary Entity Discovery

[0121] Block S160 of the method S100 recites identifying the second entity as associated with the transaction request in response to: the transaction request specifying the second blockchain address; and associating the second blockchain address with the second entity during the first time period.

[0122] Accordingly, in Block S160, the management platform can: detect the second blockchain address of the second user in the transaction request; identify the second entity as hosting the second blockchain address; and identify the second entity as associated with the transaction request. Therefore, the management platform can: identify the second entity as the beneficiary entity; and transmit transaction information, including the transaction request, to the second entity as the beneficiary entity.

[0123] More specifically, in response to the transaction information (e.g., transaction request) excluding an identifier of the beneficiary entity hosting thebeneficiary blockchain address, the management platform can identify the second entity - as the beneficiary entity - based on the beneficiary blockchain address specified in the transaction information. For example, the management platform can: query a set of data repositories storing registration information including sets of blockchain addresses hosted by the set of entities; identify a second data repository, in this set of data repositories, storing the second blockchain address corresponding to the beneficiary blockchain address; and identify the second entity - hosting the second blockchain address - as the beneficiary entity. Additionally, the management platform can identify the second user identifier of the second user as the beneficiary user based on registration information (e.g., the second user identifier) stored in the second repository.

[0124] In one implementation, in response to the transaction request excluding an identifier of the second entity (i.e., beneficiary entity) associated with the second blockchain address (i.e., beneficiary blockchain address), the management platform can: extract the second blockchain address from the transaction request; encrypt the second blockchain address as an encrypted target blockchain address; query the database of blockchain addresses for the encrypted target blockchain address; detect correspondence between the encrypted target blockchain address and the encrypted second blockchain address in a record stored in the database of blockchain addresses; and identify the second entity as associated with the transaction request in response to the record representing the encrypted second blockchain address linked to the second entity.

[0125] Accordingly, the management platform can: maintain the database of blockchain addresses storing records representing blockchain addresses associated with each entity in the set of entities registered with the management platform. For example, the management platform can maintain the database of blockchain addresses: storing a first record representing an encrypted first blockchain address linked to the first entity; a second record representing the encrypted second blockchain address linked to the second entity; and a third record representing an encrypted third blockchain address linked to the first entity.

[0126] Therefore, based on the beneficiary blockchain address and the database of blockchain addresses, the management platform can identify the beneficiary entity associated with a transfer of a virtual asset, enabling the management platform to subsequently transmit transaction information, including the transaction request, to the beneficiary entity.10.4 First Message Generation + Transmission

[0127] The method S100 includes: generating a first message based on the transaction request in Block S172; and transmitting the first message to the second entity via the communication channel in Block S174.

[0128] In one variation, Block S174 of the method S100 recites transmitting the transaction request to the second entity via the communication channel.

[0129] Generally, in Blocks S172 and S174, the management platform can: detect presence of the communication channel between the first entity and the second entity; generate the first message specifying transaction information (included in the transaction request) and the beneficiary entity identifier discovered by the management platform; and transmit the first message to the second entity via the communication channel.

[0130] Therefore, in response to presence of the communication channel - representing a trusted counterparty relationship - between the first entity and the second entity, the management platform can transmit the first message to the second entity, thereby enabling the second entity to: securely access transaction information via the communication channel; verify the first entity as trusted; and respond to the transaction request with a transaction authorization or a transaction rejection.

[0131] In one implementation, in response to identifying the second entity as associated with the transaction request, the management platform can generate the first message: representing the transfer of the virtual asset from the first blockchain address associated with the first user identifier to the second blockchain address; confirming absence of the first user identifier from the list of sanctioned user identifiers; and specifying the first entity identifier of the first entity, the first user identifier of the first user, and the second entity identifier of the second entity. Then, the management platform can transmit the first message to the second entity (e.g., via the second interface of the communication channel).

[0132] In one implementation, the management platform can transmit the first message (or the transaction request) specifying the second entity identifier associated with the second entity (e.g., as the recipient identifier) via the second interface of the communication channel, the second interface communicatively coupled to the second entity.

[0133] Accordingly, the management platform can generate the first message specifying: the information specified in the first transaction request; and information accessed by the management platform, such as the beneficiary entity identifier or a risk level associated with the first blockchain address. Therefore, the management platform can enable the second entity to: execute due diligence processes based on the transactioninformation and / or injected into the first message by the management platform; and accept (or decline) the transfer of the virtual asset based on these due diligence processes.

[0134] In one implementation, in response to identifying the second entity as the beneficiary entity, the management platform can: generate a first message representing the transaction information; and transmit the first message to the second entity based on the first communication channel between the first entity and the second entity.

[0135] In one implementation, the management platform generates the first message representing the transaction information, such as: the virtual asset type; the amount of the virtual asset to transfer; the first user identifier of the first user as the originator user; the first blockchain address as the originator blockchain address; the first entity identifier of the first entity as the originator entity; the second user identifier of the second user as the beneficiary user; the second blockchain address as the beneficiary blockchain address; and / or the second entity identifier of the second entity, hosting the second blockchain address, as the beneficiary entity; etc.

[0136] More specifically, the management platform can generate the first message representing the transaction information according to a second messaging protocol - in a set of messaging protocols - associated with the second entity.

[0137] Additionally, the management platform can encrypt the first message as a first encrypted message. Then, the management platform can transmit the first encrypted message to the second entity. For example, the management platform can transmit the first encrypted message to the second entity at the second interface (e.g., a second API) communicatively coupled to the second entity.

[0138] Accordingly, by transmitting the first message - representing the transaction information - to the second entity, the management platform enables the second entity: to execute due diligence processes based on the transaction information; and to accept (or decline) the transfer of the virtual asset based on these due diligence processes. Therefore, the management platform enables the second entity to comply with policies for sanctions screening and / or transaction recordkeeping.10.4.1 _ First Message Augmentation

[0139] In one implementation, the management platform generates the first message including additional information, such as risk level associated with the first entity, the first blockchain address, and / or the second blockchain address.

[0140] For example, the management platform can generate the first message specifying a first risk level (or score) of the first entity, a second risk level (or score) of thefirst blockchain address, and / or a third risk level (or score) of the first user. In this example, the management platform can access the first risk level, the second risk level, and / or the third risk level from a data repository - of the management platform - associated with the first entity. Additionally or alternatively, the management platform can access (or calculate) the first risk level, the second risk level, and / or the third risk level based on information stored in an external database.IO.S _ Transaction Authorization Generation + Sanctions Screening

[0141] Generally, in response to receiving the first message representing the transaction information, the second entity can accept (or decline) the transfer of the virtual asset based on the transaction information.

[0142] In one implementation, the second entity: accesses, from the first message, the second blockchain address; and, based on the second blockchain address, accesses - from a second user database - the second user identifier, of the second user, to which the second blockchain address is assigned. Additionally, or alternatively, the second entity can access the second user identifier of the second user from the first message.

[0143] The second entity then: accesses a set of target identifiers (e.g., list of names of sanctioned users); and, in response to absence of the second user identifier of the second user from the set of target users, generates a second message accepting the transfer of the virtual asset based on the transaction information. However, in response to presence of the second user identifier - of the second user - in the set of target users, the second entity can generate the second message declining the transfer of the virtual asset.

[0144] Additionally, the second entity can generate the second message specifying absence (or presence) of the second user identifier - of the second user - in the set of target users.

[0145] In another implementation, the second entity can generate the second message accepting (or declining) the transfer of the virtual asset based on: the transaction information confirming absence of the first user identifier - of the first user - from the set of target identifiers; the first risk level of the first entity; the second risk level of the first blockchain address; and / or the third risk level of the first user.

[0146] The second entity can transmit the second message to the management platform via the second interface.

[0147] In another implementation, in Block S152, the second entity can receive the transaction request - from the management platform (e.g., via the second interface)- specifying: the second blockchain address; and absence of the first user identifier from the list of sanctioned user identifiers. Accordingly, the second entity can receive the transaction request specifying, at least, the second blockchain address of the beneficiary user, the first blockchain address of the originator user, and absence of the first user identifier from the list of sanctioned user identifiers.

[0148] The second entity can then: identify the second user identifier as associated with the second blockchain address (e.g., based on a user database) in Block S154; access the list of sanctioned user identifiers in Block S156; and detect absence of the second user identifier in the list of sanctioned user identifiers in Block S158. Accordingly, the second entity can: identify the second user identifier as the identifier of the beneficiary user based on the second blockchain address; and execute sanctions screening of the second user identifier.

[0149] In this implementation, the second entity also can: generate the transaction authorization in response to absence of the first user identifier in the list of sanctioned user identifiers, absence of the second user identifier in the list of sanctioned user identifiers, and identification of the first entity as trusted by the second entity during the first time period in Block S162; and transmit the transaction authorization via the communication channel (e.g., via the second interface of the communication channel) to the management platform in Block S164.

[0150] Accordingly, the second entity can generate the transaction authorization in response to: detecting a trusted counterparty relationship between the first entity and the second entity; and satisfaction of a set of conditions (e.g., absence of the first and second user identifier from the list of sanctioned user identifiers, transaction amount falling below a threshold amount, first risk level of the first blockchain address falling below a threshold risk level, etc.) set by the second entity.

[0151] Therefore, the second entity can cooperate with the management platform to execute due diligence processes based on the first message received from the management platform and accept (or decline) the transfer of the virtual asset based on these due diligence processes.10.5.1 _ Transaction Rejection

[0152] In one variation, the second entity can: receive the first message specifying, at least, the second blockchain address as the blockchain address of a beneficiary user; identify the second user identifier as associated with the second blockchain address (e.g., based on a user database); access the list of sanctioned user identifiers; and detectpresence of the second user identifier in the list of sanctioned user identifiers. Accordingly, the second entity can: identify the second user identifier as the identifier of the beneficiary user based on the second blockchain address; and detect the second user identifier in the list of sanctioned user identifiers, indicating that the second user is sanctioned (e.g., by the second entity, by a jurisdiction of the second entity).

[0153] In this variation, the second entity can also: generate a transaction rejection in response to presence of the second user identifier in the list of sanctioned user identifiers. Additionally, or alternatively, the second entity can generate the transaction rejection: in response to presence of the first user identifier in the list of sanctioned user identifiers; and / or in response to identification of the first entity as “not trusted” by the second entity during the first time period. Then, the second entity can transmit the transaction rejection via the communication channel to the management platform.

[0154] Accordingly, the second entity can generate the transaction rejection in response to: detecting absence of a trusted counterparty relationship between the first entity and the second entity; and / or failure of the first user or the second user to comply with sanctions screening requirements.

[0155] Therefore, the second entity can cooperate with the management platform to execute due diligence processes based on the first message received from the management platform and decline the transfer of the virtual asset based on these due diligence processes.10.6 _ Transaction Authorization Reception

[0156] Block S180 of the method S100 recites receiving the transaction authorization from the second entity, the transaction authorization: indicating acceptance of the transfer of the virtual asset by the second entity based on absence of the first user identifier from the list of sanctioned user identifiers; and confirming absence of a second user identifier, associated with the second blockchain address, from the list of sanctioned user identifiers.

[0157] Generally, in Block S180, the management platform can detect (or access) authorization of the transaction of the virtual asset between the first blockchain address hosted by the first entity and the second blockchain address hosted by the second entity.

[0158] Therefore, the management platform can: access a transaction authorization associated with the transaction; and based on the transaction authorization, execute additional verification processes prior to transmitting an indication of transaction authorization to the first entity.

[0159] For example, prior to transmitting an indication of transaction authorization to the first entity, the management platform can: verify that the first entity and the second entity executed sanctions screening; and / or verify absence of the first user identifier and the second user identifier from the list of sanctioned user identifiers; and / or verify that a total risk level (e.g., cumulative risk level for the first blockchain address, the second blockchain address, the first entity identifier, and the second entity identifier) associated with the transaction falls below a risk threshold.

[0160] In one implementation, the management platform can: receive the transaction authorization specifying the second entity identifier associated with the second entity (e.g., as an identifier of the sender of the transaction authorization) via the second interface of the communication channel, the second interface communicatively coupled to the second entity.

[0161] In one implementation, the management platform can receive - from the second entity - the transaction authorization: indicating acceptance of the transfer of the virtual asset by the second entity based on absence of the first user identifier from the list of sanctioned user identifiers; confirming absence of a second user identifier, associated with the second blockchain address, from the list of sanctioned user identifiers; and specifying the first entity identifier, the first user identifier, the second entity identifier, and the second user identifier of the second user.

[0162] Then, the management platform can: detect confirmation of absence of the first user identifier in the list of sanctioned user identifiers based on the transaction request; and detect confirmation of absence of the second user identifier in the list of sanctioned user identifiers based on the transaction authorization.

[0163] Accordingly, based on the transaction authorization (and the transaction request), the management platform can: verify that the first entity and the second entity executed sanctions screening; and / or verify absence of the first user identifier and the second user identifier from the list of sanctioned user identifiers. Therefore, based on the transaction authorization, the management platform can execute additional verification processes prior to transmitting an indication of transaction authorization to the first entity.10.6.1 _ Transaction Rejection Reception

[0164] In one variation, Block S185 of the method S100 recites: receiving a transaction rejection from the second entity, the transaction rejection indicating rejectionof the transfer of the virtual asset by the second entity based on presence of the second user identifier in the list of sanctioned user identifiers.

[0165] In Block S185, the management platform can detect (or access) rejection of the transaction of the virtual asset between the first blockchain address hosted by the first entity and the second blockchain address hosted by the second entity. Therefore, the management platform can cooperate with the second entity to execute sanctions screening of the second user identifier of the beneficiary user.10.7 _ Second Message Generation + Transmission

[0166] The method S100 includes: generating a second message based on the transaction authorization in Block S182; and transmitting the second message to the first entity via the communication channel in Block S184.

[0167] In one variation, Block S184 of the method S100 recites transmitting the transaction authorization to the first entity via the communication channel.

[0168] Generally, in Blocks S182 and S184, the management platform can: generate the second message, representing the transaction authorization, and transmit the message to the first entity (e.g., via the first interface). Therefore, the management platform can transmit the second message to the first entity, thereby enabling the first entity to: securely access transaction authorization via the communication channel; verify the transaction complies with regulatory requirements (e.g., sanctions screening policies); and submit (or transmit) the transaction for commitment to a block of the blockchain.

[0169] In one implementation, the management platform can transmit the second message (or the transaction authorization) specifying the first entity identifier associated with the first entity (e.g., as the recipient identifier) via the first interface of the communication channel, the first interface communicatively coupled to the first entity.

[0170] In one implementation, in response to detecting confirmation of absence of the first user identifier in the list of sanctioned user identifiers and detecting confirmation of absence of the second user identifier in the list of sanctioned user identifiers, the management platform can generate a second message: indicating acceptance of the transfer of the virtual asset by the second entity based on absence of the first user identifier from the list of sanctioned user identifiers; indicating sanctions screening completion by the first entity and the second; and indicating absence of the first user identifier and the second user identifier from the list of sanctioned user identifiers.

[0171] Accordingly, the management platform can: execute additional verification of the transaction, such as detecting confirmation of absence of the first user identifier in the list of sanctioned user identifiers based on the transaction request and detecting confirmation of absence of the second user identifier in the list of sanctioned user identifiers based on transaction authorization; generate the second message representing transaction authorization in response to verifying the transaction; and transmit the second message to the first management platform. Therefore, the management platform cooperates with the first entity to execute additional verification of the transaction prior to transmission of the transaction to the distributed network of nodes for commitment to a block of the blockchain.

[0172] In one implementation, the management platform: receives the transaction authorization, from the second entity, accepting the transfer of the virtual asset; generates a second message indicating acceptance - by the second entity - of the transfer of the virtual asset; and transmits the second message to the originator entity, such as via the first interface.

[0173] More specifically, the management platform can generate: the second message including: the second user identifier of the second user as the beneficiary user; the second blockchain address as the beneficiary blockchain address; and the second entity identifier of the second entity, hosting the second blockchain address, as the beneficiary entity. Additionally, the management platform can generate the second confirming absence of the second user identifier - of the second user - from the set of target identifiers. The management platform can generate the second including additional information, such as a fourth risk level (or score) of the second entity, a fifth risk level (or score) of the second blockchain address, and / or a sixth risk level (or score) of the second user.

[0174] In another implementation, the management platform generates the second message according to a first messaging protocol - in the set of messaging protocols - associated with the first entity and / or encrypts the second message.

[0175] In one implementation, in response to receiving the second message indicating acceptance - by the second entity - of the transfer of the virtual asset, the first entity: generates a transaction representing the transfer of the virtual asset from the first blockchain address to the second blockchain address; and transmits the transaction to the distributed network of nodes for commitment to a block of the blockchain.

[0176] More specifically, the first entity can transmit the transaction in response to the second message: indicating acceptance, by the second entity, of the transfer of thevirtual asset; and confirming absence of the second user identifier - of the second user - from the set of target identifiers.

[0177] Accordingly, based on the second message, the management platform can: identify - to the first entity - the second user identifier of the second user and / or the second entity identifier of the second entity; and confirm, to the first entity, absence of the second user identifier of the second user from the set of target identities. Therefore, the management platform enables the first entity to comply with policies for transaction recordkeeping and / or sanctions screening.10.7.1 _ Transaction Rejection Transmission to First Entity

[0178] In one variation, Block S184 of the method S100 recites transmitting the transaction rejection to the first entity via the communication channel.

[0179] Generally, in Block S184, the management platform can transmit the transaction rejection to the originator entity in response to receiving the transaction request from the beneficiary entity. Additionally, or alternatively, in Block S195, the management platform: generates a fourth message (e.g., according to the first messaging protocol associated with the originator entity) indicating rejection - by the beneficiary entity - of the transfer of the virtual asset; and transmits the fourth message to the originator entity. Therefore, the management platform can cooperate with the first and second entity to transmit an indication of the transaction request to the first entity.10.7.2 _ Risk Evaluation & Additional Verification

[0180] In one implementation, the management platform accesses a set of risk levels, such as: the first risk level of the first entity; the second risk level of the first blockchain address; the third risk level of the first user; the fourth risk level of the second entity; the fifth risk level of the second blockchain address; and / or the sixth risk level of the second user. In this implementation, the management platform can generate the second message - indicating acceptance, by the second entity and the management platform, of the transfer of the virtual asset - in response to the set of risk levels falling below a risk level threshold(s). The first entity can transmit the transaction to the distributed network of nodes in response to the second message indicating acceptance, by the second entity and the management platform, of the transfer of the virtual asset.

[0181] Alternatively, the management platform can generate the second message representing an error (or exception) in response to one risk level - in the set of risk levels - falling below the risk level threshold(s).

[0182] Additionally or alternatively, the management platform can: access the first user identifier of the first user and the second user identifier of the second user; access the set of target identifiers (e.g., the list of names of sanctioned users); and generate the second message - indicating acceptance, by the second entity and the management platform, of the transfer of the virtual asset - in response to absence of the first user identifier of the first user and the second user identifier of the second user from the set of target identifiers.

[0183] Alternatively, the management platform can generate the second message representing an error (or exception) in response to the set of target identifiers including the first user identifier of the first user and / or the second user identifier of the second user.

[0184] Accordingly, the management platform can: execute a sanctions screening of the originating user and / or the beneficiary user; and evaluate risk of the transfer based on risk of the originator blockchain address, originator user, the originator entity, the beneficiary blockchain address, the beneficiary user, and / or the beneficiary entity. Therefore, the management platform implements an additional layer of security and diligence to ensure compliance with sanctions screening policies and to further reduce risk (e.g., anti-money-laundering risk) exposure of these entities.10.8 _ Transaction Submission + Confirmation Generation

[0185] In one implementation, shown in FIGURE 3A and 3D, the first entity can submit a blockchain transaction to a distributed network of nodes for commitment to a block of a blockchain in response to receiving the transaction authorization from the management platform in Block S166. Then, the first entity can: generate a transaction confirmation indicating transmission of the blockchain transaction - representing the transfer of the virtual asset from the first blockchain address to the second blockchain address - to the distributed network for commitment to the block of the blockchain and specifying a transaction identifier associated with the blockchain transaction in Block S168; and transmit the transaction confirmation to the management platform and / or the second entity via the communication channel (e.g., via the first interface of the communication channel) in Block S170.

[0186] Accordingly, in response to receiving transaction authorization via the communication channel, the originator entity can submit the blockchain transaction for commitment to the block of the blockchain. After the transaction is submitted, the originator entity can: generate a transaction confirmation confirming submission of theblockchain transaction; and transmit the transaction confirmation to the management platform for recording in a transaction database and / or transmission to the beneficiary entity. Therefore, the originator entity can cooperate with the management platform to: securely transmit an indication of the transaction confirmation to the beneficiary entity; and create an auditable record of the blockchain transaction.IO.Q _ Transaction Confirmation Reception

[0187] Generally, as shown in FIGURE 3D, the management platform can: receive- from the first entity - the transaction confirmation indicating submission of a blockchain transaction to the distributed network for commitment to a block of the blockchain in Block S194; and transmit the transaction confirmation to the second entity via the communication channel (e.g., via the second interface of the communication channel) in Block S196.

[0188] For example, the management platform can receive - from the first entity- the transaction confirmation specifying: the transaction identifier (or a transaction identifier hash) of the blockchain transaction; the first blockchain address as the originator address; the second blockchain address as the beneficiary address; the first user identifier as the originator user identifier; the second user identifier as the beneficiary user identifier; a transaction timestamp; and the amount of the virtual asset transferred.

[0189] In one implementation, in Block S194, the management platform can generate a third message: indicating submission of a blockchain transaction - representing the transfer of the virtual asset from the first blockchain address to the second blockchain address - to a distributed network for commitment to a block of a blockchain; and specifying the transaction identifier (or the transaction identifier hash) associated with the blockchain transaction, and the transaction timestamp. Then, the management platform can transmit the third message to the second entity.

[0190] Additionally, or alternatively, the management platform can: generate a transaction identifier hash based on the transaction identifier and a cryptographic hash function in Block S197; and, in response to receiving the transaction confirmation, generate the third message in Block S194, the third message indicating submission of a blockchain transaction to the distributed network for commitment to a block of a blockchain and specifying the transaction identifier and / or the transaction identifier hash. Accordingly, the management platform can generate and transmit to the second entity, the third message: specifying the transaction confirmation; and includingadditional information injected by the management platform, such as the transaction identifier hash.

[0191] Therefore, the management platform can transmit an indication of the transaction confirmation to the beneficiary entity, enabling the beneficiary entity to confirm completion of the transaction and further confirm a status of the first entity as “trusted.”

[0192] In another implementation, the management platform generates a third message representing the transaction confirmation according to the second messaging protocol - in the set of messaging protocols - associated with the second entity and / or encrypts the third message. Then, the management platform transmits the third message representing the transaction confirmation to the second entity.

[0193] Accordingly, based on the transaction confirmation, the management platform can: obtain the transaction identifier for recordkeeping; and notify the second entity of submission of the blockchain transaction.10.Q.1 _ Management Platform Signature

[0194] In one implementation, the management platform can: access the transaction representing the transfer of the virtual asset, such as receiving the transaction from the first entity in Block S186; and update the transaction - to include a signature associated with the management platform - as a signed transaction in Block S190. More specifically, the management platform can update the transaction - including the signature associated with the management platform - in response to: the set of risk levels falling below the risk level threshold(s); and / or absence of the first user identifier of the first user and the second user identifier of the second user from the set of target identifiers.

[0195] In this implementation, in response to updating the transaction as the signed transaction, the management platform can transmit the signed transaction to the first entity in Block S192, which may then transmit the signed transaction to the distributed network of nodes for commitment to a block of the blockchain. Additionally or alternatively, the management platform can transmit the signed transaction to the distributed network of nodes for commitment to the block of the blockchain.

[0196] In another implementation, the management platform can: access a blockchain transaction representing the transfer of the virtual asset from the first blockchain address to the second blockchain address in Block S186; and, in response to absence of the first user identifier and the second user identifier in the list of sanctioneduser identifiers, update the blockchain transaction as a verified transaction in Block S188 and cryptographically sign the verified transaction in Block S190. Then, the management platform can: submit the verified transaction to a distributed network of nodes for commitment to a block of a blockchain in Block S192. Alternatively, after cryptographically signing the verified transaction, the management platform can transmit the signed transaction to the first entity, which may then submit the signed transaction to the distributed network of nodes for commitment to a block of the blockchain.

[0197] Accordingly, the management platform can verify and cryptographically sign the blockchain transaction prior to its submission. Therefore, the management platform can authenticate the transaction as legitimate and / or regulated for recordation in the block of the blockchain, thereby enabling an observer of the blockchain to later validate the transaction as verified by the management platform.11. _ Transaction Recordkeeping

[0198] In one implementation, the management platform generates a record representing: the transaction information; acceptance (or declination) of the transfer by the beneficiary entity; and / or verification (or exception) by the management platform. The management platform can: encrypt the record; and store the record in a transaction database.

[0199] In another implementation, shown in FIGURE 3D, after receiving the transaction confirmation from the first entity, the management platform can: extract the transaction identifier from the transaction confirmation; generate a transaction identifier hash based on the transaction identifier and a cryptographic hash function in Block S197; and generate a record associated with the blockchain transaction in Block S98. The record represents: completion of the transfer of the virtual asset from the first blockchain address - associated with the first user identifier - to the second blockchain address associated with the second user identifier; absence of the first user identifier and the second user identifier from the list of sanctioned user identifiers; the transaction identifier hash; and a set of transaction communications including the transaction request, the transaction authorization (or transaction rejection), the transaction confirmation, etc. The management platform can then store the record in the transaction database in Block S199.

[0200] The management platform can repeat the foregoing methods and techniques to generate and store - in the transaction database - records of additional blockchain transactions associated with entities in the set of entities.

[0201] Accordingly, the management platform can log: transaction data including entity identifiers, blockchain addresses, user identifiers, user sanctions screening statuses, virtual asset amounts; and communications - including transaction requests, authorizations, confirmations - transmitted between entities and / or the management platform. Therefore, the management platform can generate a historical record of blockchain transactions enabling entities, individuals, and / or regulators to review, investigate, or audit transfer of virtual assets. Furthermore, the management platform can grant access to the historical record of blockchain transactions in order to enable users to prove ownership of virtual assets transacted and resolve disputes.12. _ Conclusion

[0202] The systems and methods described herein can be embodied and / or implemented at least in part as a machine configured to receive a computer-readable medium storing computer-readable instructions. The instructions can be executed by computer-executable components integrated with the application, applet, host, server, network, website, communication service, communication interface, hardware / firmware / software elements of a user computer or mobile device, wristband, smartphone, or any suitable combination thereof. Other systems and methods of the embodiment can be embodied and / or implemented at least in part as a machine configured to receive a computer- readable medium storing computer-readable instructions. The instructions can be executed by computer-executable components integrated by computer-executable components integrated with apparatuses and networks of the type described above. The computer-readable medium can be stored on any suitable computer readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device. The computer-executable component can be a processor but any suitable dedicated hardware device can (alternatively or additionally) execute the instructions.

[0203] As a person skilled in the art will recognize from the previous detailed description and from the figures and claims, modifications and changes can be made to the embodiments of the invention without departing from the scope of this invention as defined in the following claims.

Claims

CLAIMSI claim:

1. A method comprising:• during a first time period: o accessing a first set of policies implemented by a first entity; o accessing a second set of policies implemented by a second entity; o identifying the second entity as a candidate counterparty to the first entity based on correspondence between the first set of policies and the second set of policies; o generating a first notification specifying the first set of policies; o transmitting the first notification to the second entity; o generating a second notification specifying the second set of policies; o transmitting the second notification to the first entity; o receiving a first confirmation indicating the second entity as trusted by the first entity based on the second set of policies; o receiving a second confirmation indicating the first entity as trusted by the second entity based on the first set of policies; and o generating a communication channel between the first entity and the second entity in response to receiving the first confirmation and the second confirmation; and• during a second time period: o receiving a transaction request from the first entity, the transaction request:■ representing a transfer of a virtual asset from a first blockchain address associated with a first user identifier to a second blockchain address; and■ confirming absence of the first user identifier from a list of sanctioned user identifiers; o identifying the second entity as associated with the transaction request in response to:■ associating the second blockchain address with the second entity during the first time period; and■ the transaction request specifying the second blockchain address; o transmitting the transaction request to the second entity via the communication channel;o receiving a transaction authorization from the second entity, the transaction authorization:■ indicating acceptance of the transfer of the virtual asset by the second entity based on absence of the first user identifier from the list of sanctioned user identifiers; and■ confirming absence of a second user identifier, associated with the second blockchain address, from the list of sanctioned user identifiers; and o transmitting the transaction authorization to the first entity via the communication channel.

2. The method of Claim 1, further comprising:• receiving a transaction confirmation from the first entity, the transaction confirmation: o indicating submission of a blockchain transaction, representing the transfer of the virtual asset from the first blockchain address to the second blockchain address, to a distributed network for commitment to a block of a blockchain; and c specifying a transaction identifier associated with the blockchain transaction;• transmitting the transaction confirmation to the second entity via the communication channel;• generating a transaction identifier hash based on the transaction identifier and a cryptographic hash function;• generating a record representing: o completion of the transfer of the virtual asset from the first blockchain address, associated with the first user identifier, to the second blockchain address associated with the second user identifier; o absence of the first user identifier and the second user identifier from the list of sanctioned user identifiers; o the transaction identifier hash; and o the transaction request, the transaction authorization, and the transaction confirmation; and• storing the record in a transaction database.

3. The method of Claim 2:• wherein receiving the transaction request from the first entity comprises receiving the transaction request from the first entity, the transaction request specifying: o a first entity identifier of the first entity; and o the first user identifier associated with the first blockchain address;• wherein transmitting the transaction request to the second entity via the communication channel comprises: o in response to identifying the second entity as associated with the transaction request, generating a first message:■ representing the transfer of the virtual asset from the first blockchain address to the second blockchain address;■ confirming absence of the first user identifier from the list of sanctioned user identifiers; and■ specifying:• the first entity identifier;• the first user identifier; and• a second entity identifier of the second entity; and o transmitting the transaction request comprising the first message to the second entity via the communication channel;• wherein receiving the transaction authorization from the second entity comprises receiving the transaction authorization from the second entity, the transaction authorization specifying: o the first entity identifier; o the first user identifier; o the second entity identifier; and o a second user identifier associated with the second blockchain address;• wherein transmitting the transaction authorization to the first entity via the communication channel comprises: o detecting confirmation of absence of the first user identifier in the list of sanctioned user identifiers based on the transaction request; o detecting confirmation of absence of the second user identifier in the list of sanctioned user identifiers based on the transaction authorization; o in response to detecting confirmation of absence of the first user identifier in the list of sanctioned user identifiers and detecting confirmation of absence ofthe second user identifier in the list of sanctioned user identifiers, generating a second message:■ indicating acceptance of the transfer of the virtual asset by the second entity based on absence of the first user identifier from the list of sanctioned user identifiers;■ indicating sanctions screening completion by the first entity and the second entity; and■ indicating absence of the first user identifier and the second user identifier from the list of sanctioned user identifiers; and o transmitting the transaction authorization comprising the second message to the first entity via the communication channel;• wherein transmitting the transaction confirmation to the second entity via the communication channel comprises: o generating a third message:■ indicating submission of the blockchain transaction, representing the transfer of the virtual asset from the first blockchain address to the second blockchain address, to the distributed network for commitment to the block of the blockchain; and■ specifying:• the transaction identifier associated with the blockchain transaction;• the transaction identifier hash; and o transmitting the transaction confirmation comprising the third message to the second entity via the communication channel; and• wherein generating the record comprises generating the record representing the transaction request, the first message, the transaction authorization, the second message, and the transaction confirmation, and the third message.

4. The method of Claim 1:• wherein accessing the first set of policies implemented by the first entity comprises: o accessing the first set of policies implemented by the first entity; and o based on the first set of policies, generating a target counterparty configuration for the first entity, the target counterparty configuration representing a set of target policies and a set of target jurisdictions characterizing a target entity trusted by the first entity;• wherein accessing the second set of policies implemented by the second entity comprises: o accessing the second set of policies implemented by the second entity; and o accessing a second jurisdiction of the second entity; and• wherein generating the first notification specifying the second set of policies comprises generating the first notification specifying the second set of policies and indicating compliance of the second set of policies of the second entity and the second jurisdiction of the second entity with the target counterparty configuration of the first entity in response to: o detecting presence of the set of target policies in the second set of policies of the second entity; and o detecting presence of the second jurisdiction in the set of target jurisdictions.

5. The method of Claim 1:• wherein generating the second notification specifying the second set of policies comprises generating the second notification specifying the second set of policies and a second jurisdiction of the second entity;• wherein transmitting the second notification to the first entity comprises transmitting the second notification specifying the second set of policies and the second jurisdiction to the first entity;• wherein accessing the first set of policies implemented by the first entity comprises: o accessing the first set of policies implemented by the first entity; and o based on the first set of policies, generating a target counterparty configuration for the first entity, the target counterparty configuration representing a set of target policies and a set of target jurisdictions characterizing a target entity trusted by the first entity; and• further comprising, during the first time period: o at the first entity:■ accessing the target counterparty configuration;■ receiving the second notification specifying the second set of policies implemented by the second entity;■ generating the first confirmation indicating the second entity as trusted by the first entity based on the second set of policies in response to:• detecting presence of the set of target policies in the second set of policies of the second entity; and• detecting presence of the second jurisdiction in the set of target jurisdictions; and■ transmitting the first confirmation to a management network.

6. The method of Claim 1, further comprising, during the first time period:• accessing a third notification from the first entity indicating absence of a target antimoney laundering policy in the second set of policies, the target anti-money laundering policy analogous to a first anti-money laundering policy in the first set of policies;• prompting the second entity to specify the target anti -money laundering policy implemented by the second entity;• receiving a second anti-money laundering policy analogous to the first anti-money laundering policy from the second entity; and• transmitting the second anti-money laundering policy to the first entity.

7. The method of Claim 1:• wherein accessing the first set of policies implemented by the first entity comprises accessing the first set of policies implemented by the first entity, the first set of policies comprising a first sanctions screening policy associated with the list of sanctioned user identifiers;• wherein accessing the second set of policies implemented by the second entity comprises accessing the second set of policies implemented by the second entity, the second set of policies comprising a second sanctions screening policy associated with the list of sanctioned user identifiers;• wherein generating the first notification specifying the first set of policies comprises generating the first notification specifying the first set of policies comprising the first sanctions screening policy;• wherein generating the second notification specifying the second set of policies comprises generating the second notification specifying the second set of policies comprising the second sanctions screening policy; and• wherein identifying the second entity as the candidate counterparty to the first entity based on correspondence between the first set of policies and the second set of policiescomprises identifying the second entity as the candidate counterparty to the first entity based on the first sanctions screening policy, in the first set of policies, matching the second sanctions screening policy in the second set of policies.

8. The method of Claim 1:• wherein accessing the second set of policies implemented by the second entity comprises: o receiving the second blockchain address associated with the second entity; o encrypting the second blockchain address into an encrypted second blockchain address; o generating a record representing the encrypted second blockchain address linked to the second entity; and o storing the record in a database of blockchain addresses; and• wherein identifying the second entity as associated with the transaction request comprises: o extracting the second blockchain address from the transaction request; o encrypting the second blockchain address as an encrypted target blockchain address; o querying the database of blockchain addresses for the encrypted target blockchain address; o detecting correspondence between the encrypted target blockchain address and the encrypted second blockchain address in the record; and o identifying the second entity as associated with the transaction request in response to the record representing the encrypted second blockchain address linked to the second entity.

9. The method of Claim 1:• wherein generating the communication channel between the first entity and the second entity comprises generating the communication channel between the first entity and the second entity, the communication channel comprising: o a first interface communicatively coupled to the first entity via a first communication link; and o a second interface communicatively coupled to the second entity via a second communication link;• wherein receiving the transaction request from the first entity comprises receiving the transaction request specifying a first entity identifier associated with the first entity via the first interface;• wherein transmitting the transaction request to the second entity via the communication channel comprises transmitting the transaction request specifying a second entity identifier associated with the second entity via the second interface of the communication channel;• wherein receiving the transaction authorization from the second entity comprises receiving the transaction authorization specifying the second entity identifier associated with the second entity via the second interface; and• wherein transmitting the transaction authorization to the first entity via the communication channel comprises transmitting the transaction authorization specifying the first entity identifier associated with the first entity via the first interface of the communication channel.

10. The method of Claim 1, further comprising, during the second time period:• at the first entity: o receiving a user request from a first user associated with the first user identifier, the user request representing the transfer of the virtual asset from the first blockchain address to the second blockchain address; and o in response to receiving the user request from the first user:■ accessing the list of sanctioned user identifiers;■ detecting absence of the first user identifier in the list of sanctioned user identifiers;■ generating the transaction request:• specifying the first user identifier and a first entity identifier associated with the first entity; and• excluding the second user identifier and a second entity identifier associated with the second entity; and■ transmitting the transaction request via the communication channel.

11. The method of Claim 1, further comprising, during the second time period:• at the first entity:o in response to receiving the transaction authorization via the communication channel, transmitting a blockchain transaction to a distributed network of nodes for commitment to a block of a blockchain; o generating a transaction confirmation:■ indicating transmission of the blockchain transaction, representing the transfer of the virtual asset from the first blockchain address to the second blockchain address, to the distributed network for commitment to the block of the blockchain; and■ specifying a transaction identifier associated with the blockchain transaction; and o transmitting the transaction confirmation via the communication channel.

12. The method of Claim 1:• further comprising: o calculating a first risk level for the first entity based on the first set of policies; and o calculating a second risk level for the second entity based on the second set of policies;• wherein generating the first notification specifying the first set of policies comprises generating the first notification specifying the first set of policies and the first risk level of the first entity; and• wherein generating the second notification specifying the second set of policies comprises generating the second notification specifying the second set of policies and the second risk level of the second entity.

13. The method of Claim 1, further comprising:• receiving a blockchain transaction representing the transfer of the virtual asset from the first blockchain address to the second blockchain address;• in response to absence of the first user identifier and the second user identifier in the list of sanctioned user identifiers: o updating the blockchain transaction as a verified transaction; and o cryptographically signing the verified transaction; and• submitting the verified transaction to a distributed network of nodes for commitment to a block of a blockchain.14- The method of Claim 1, further comprising, during the second time period:• at the second entity: o receiving the transaction request via the communication channel, the transaction request specifying:■ the second blockchain address; and■ absence of the first user identifier from the list of sanctioned user identifiers; o identifying the second user identifier as associated with the second blockchain address; o accessing the list of sanctioned user identifiers; o detecting absence of the second user identifier in the list of sanctioned user identifiers; o generating the transaction authorization in response to:■ absence of the first user identifier in the list of sanctioned user identifiers;■ absence of the second user identifier in the list of sanctioned user identifiers; and■ identification of the first entity as trusted by the second entity; and o transmitting the transaction authorization via the communication channel.

15. A method comprising:• during a first time period: o accessing a first set of policies implemented by a first entity; o accessing a second set of policies implemented by a second entity; o identifying the second entity as a candidate counterparty to the first entity based on correspondence between the first set of policies and the second set of policies; o generating a first notification specifying the second set of policies; o transmitting the first notification to the first entity; o generating a second notification specifying the first set of policies; o transmitting the second notification to the second entity; o receiving a first confirmation indicating the second entity as trusted by the first entity based on the second set of policies; o receiving a second confirmation indicating the first entity as trusted by the second entity based on the first set of policies; ando generating a communication channel between the first entity and the second entity in response to receiving the first confirmation and the second confirmation; and• during a second time period: o receiving a transaction request from the first entity, the transaction request:■ representing a transfer of a virtual asset from a first blockchain address associated with a first user identifier to a second blockchain address; and■ confirming absence of the first user identifier from a list of sanctioned user identifiers; o identifying the second entity as associated with the transaction request in response to:■ associating the second blockchain address with the second entity during the first time period; and■ the transaction request specifying the second blockchain address; o generating a message representing the transaction request; o transmitting the message to the second entity via the communication channel; o receiving a transaction rejection from the second entity, the transaction rejection indicating rejection of the transfer of the virtual asset by the second entity based on presence of a second user identifier, associated with the second blockchain address, in the list of sanctioned user identifiers; and o transmitting the transaction rejection to the first entity via the communication channel.

16. The method of Claim 15, further comprising, during the second time period:• at the second entity: o receiving the transaction request via the communication channel, the transaction request specifying:■ the second blockchain address; and■ absence of the first user identifier from the list of sanctioned user identifiers; o identifying the second user identifier as associated with the second blockchain address; o accessing the list of sanctioned user identifiers;o detecting presence of the second user identifier in the list of sanctioned user identifiers; o generating the transaction rejection in response to presence of the second user identifier in the list of sanctioned user identifiers; and o transmitting the transaction rejection via the communication channel.

17. The method of Claim 15:• further comprising: o calculating a first risk level for the first entity based on the first set of policies; and o calculating a second risk level for the second entity based on the second set of policies;• wherein generating the first notification specifying the first set of policies comprises generating the first notification specifying the first set of policies and the first risk level of the first entity; and• wherein generating the second notification specifying the second set of policies comprises generating the second notification specifying the second set of policies and the second risk level of the second entity.

18. The method of Claim 15:• wherein accessing the first set of policies implemented by the first entity comprises: o accessing the first set of policies implemented by the first entity; and o based on the first set of policies, generating a target counterparty configuration for the first entity, the target counterparty configuration representing a set of target policies and a set of target jurisdictions characterizing a target entity trusted by the first entity;• wherein accessing the second set of policies implemented by the second entity comprises: o accessing the second set of policies implemented by the second entity; and o accessing a second jurisdiction of the second entity; and• wherein generating the first notification specifying the second set of policies comprises generating the first notification specifying the second set of policies and indicating compliance of the second set of policies of the second entity and the second jurisdiction of the second entity with the target counterparty configuration of the first entity in response to:o detecting presence of the set of target policies in the second set of policies of the second entity; and o detecting presence of the second jurisdiction in the set of target jurisdictions.

19. A method comprising:• during a first time period: o receiving a first set of policies implemented by a first virtual asset service provider; o receiving a second set of policies implemented by a second virtual asset service provider; o identifying the second virtual asset service provider as a candidate counterparty to the first virtual asset service provider based on correspondence between the first set of policies and the second set of policies; o granting access of the second set of policies to the first virtual asset service provider; o granting access of the first set of policies to the second virtual asset service provider; o receiving a first confirmation indicating the second virtual asset service provider as trusted by the first virtual asset service provider based on the second set of policies; o receiving a second confirmation indicating the first virtual asset service provider as trusted by the second virtual asset service provider based on the first set of policies; and o generating a communication channel between the first virtual asset service provider and the second virtual asset service provider in response to receiving the first confirmation and the second confirmation; and• during a second time period: o receiving a transaction request from the first virtual asset service provider, the transaction request:■ representing a transfer of a virtual asset from a first blockchain address associated with a first user identifier to a second blockchain address; and■ confirming absence of the first user identifier from a list of sanctioned user identifiers;o identifying the second virtual asset service provider as associated with the transaction request in response to:■ associating the second blockchain address with the second virtual asset service provider during the first time period; and■ the transaction request specifying the second blockchain address; o generating a first message based on the transaction request; o transmitting the first message to the second virtual asset service provider via the communication channel; o receiving a transaction authorization from the second virtual asset service provider, the transaction authorization:■ indicating acceptance of the transfer of the virtual asset by the second virtual asset service provider based on absence of the first user identifier from the list of sanctioned user identifiers; and■ confirming absence of a second user identifier, associated with the second blockchain address, from the list of sanctioned user identifiers; o generating a second message based on the transaction authorization; and o transmitting the second message to the first virtual asset service provider via the communication channel.

20. The method of Claim 19:• wherein receiving the transaction request from the first virtual asset service provider comprises receiving the transaction request from the first virtual asset service provider, the transaction request specifying: o a first entity identifier of the first virtual asset service provider; and o the first user identifier;• wherein generating the first message based on the transaction request comprises: o in response to identifying the second virtual asset service provider as associated with the transaction request, generating the first message:■ representing the transfer of the virtual asset from the first blockchain address associated with the first user identifier to the second blockchain address;■ confirming absence of the first user identifier from the list of sanctioned user identifiers; and■ specifying: the first entity identifier;• the first user identifier; and• a second entity identifier of the second virtual asset service provider;• wherein receiving the transaction authorization from the second virtual asset service provider comprises receiving the transaction authorization from the second virtual asset service provider, the transaction authorization specifying: o the first entity identifier; o the first user identifier; o the second entity identifier; and o the second user identifier;• wherein generating the second message based on the transaction authorization comprises: o detecting confirmation of absence of the first user identifier in the list of sanctioned user identifiers based on the transaction request; and o detecting confirmation of absence of the second user identifier in in the list of sanctioned user identifiers based on the transaction authorization; o in response to receiving the transaction authorization, generating the second message:■ indicating acceptance of the transfer of the virtual asset by the second virtual asset service provider based on absence of the first user identifier from the list of sanctioned user identifiers;■ indicating sanctions screening completion by the first virtual asset service provider and the second virtual asset service provider; and■ indicating absence of the first user identifier and the second user identifier from the list of sanctioned user identifiers; and• further comprising, during the second time period: o receiving a transaction confirmation from the first virtual asset service provider, the transaction confirmation:■ indicating submission of a blockchain transaction, representing the transfer of the virtual asset from the first blockchain address to the second blockchain address, to a distributed network for commitment to a block of a blockchain; and■ specifying a transaction identifier associated with the blockchain transaction;generating a transaction identifier hash based on the transaction identifier and a cryptographic hash function; in response to receiving the transaction confirmation, generating a third message:■ indicating submission of the blockchain transaction to the distributed network for commitment to the block of the blockchain; and■ specifying:• the transaction identifier; and• the transaction identifier hash; generating a record representing:■ completion of the transfer of the virtual asset from the first blockchain address, associated with the first user identifier, to the second blockchain address associated with the second user identifier;■ absence of the first user identifier and the second user identifier from the list of sanctioned user identifiers;■ the transaction identifier hash; and■ the transaction request, the first message, the transaction authorization, the second message, the transaction confirmation, and the third message; and storing the record in a transaction database.

Citation Information

Patent Citations

  • Multi-subject device access authorization

    US20200342132A1

  • System and method for compliance-enabled digitally represented assets

    WO2022159854A1