Network-level user enablement for network-based exchanges
The intermediary computing platform with UUEKs addresses credential-related risks and inefficiencies in network exchanges by enabling secure, flexible, and efficient value-based transactions through ephemeral keys, enhancing network security and throughput.
Patent Information
- Application Number
- JP2024568523
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-28
- Filing Date
- 2023-08-03
- Publication Date
- 2025-10-01
- Estimated Expiration
- 2043-08-03
AI Technical Summary
Existing network-based value exchange systems rely on persistent credentials, exposing users to fraud, regulatory risks, and data security challenges, and lack the ability to validate object-level attributes, leading to network congestion and inefficient transaction processing.
A secure intermediary computing platform using universally unique ephemeral keys (UUEKs) facilitates credential-free exchanges, enabling flexible interfaces for contextual information transfer and real-time validation of user and object attributes without exposing sensitive data.
This approach enhances network security, reduces computing resource consumption, and enables seamless, high-throughput value-based exchanges by eliminating persistent credentials and enforcing user restrictions.
Smart Images

Figure 2025532446000001_ABST
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Patent Application No. 63 / 370,274, filed August 3, 2022, and U.S. Patent Application No. 18 / 343,438, filed June 28, 2023, which are incorporated by reference herein in their entirety, including any figures, tables, drawings, and addenda.
[0002] Embodiments of the present disclosure generally relate to credential-free exchange of value between multiple entities in a value system. [Background technology]
[0003] Various embodiments of the present disclosure address technical challenges related to network-based value exchange, taking into account the limitations of existing exchange processing technologies and architectures. Existing processes for conducting exchanges over computing networks rely on the use of persistent credentials, such as payment credentials (e.g., card numbers, usernames, passwords, bank routing numbers, account numbers, etc.), and their powers of attorney, which expose the recipient of the credentials to fraud, regulatory and compliance costs, and reputational risk. Moreover, the static nature of traditional credentials requires users to accept the risk of financial loss, damaged credit scores, identity theft, and other consequences every time they provide their credentials to enable a transaction. The inherent dangers of persistent credentials are traditionally addressed using rigid communication protocols, data governance procedures, and authentication schemes, each of which introduces additional technical challenges by adding overhead and complicating network-based transactions without solving the underlying technical problem of data security.
[0004] For example, traditional service providers that manage user accounts can limit their disclosure using disclaimers that prevent users from providing their credentials to specific third parties. This leads to network congestion as a limited number of authorized parties are overwhelmed with requests for the entire population. Furthermore, authorized parties are required to enroll users by obtaining sensitive persistent credentials (e.g., usernames, passwords, routing / transit credentials, etc.) from them and then manage a robust number of persistent credentials across the entire population of registered users. This presents malicious parties with a single attack vector for obtaining sensitive user information about a user population. To counter such attacks, traditional transaction processing entities are required to employ expensive, resource-intensive, and robust data governance procedures and authentication schemes that are incomplete and still susceptible to penetration.
[0005] Other techniques for addressing data security include restricting exchange communications, such as those for financial transactions, to rigid messaging standards, such as ISO messaging standards, which are inflexible and, by design, unable to provide contextual data such as object identifiers for transactions. By doing so, these techniques prevent the validation of object-level attributes involved in the exchange, among other features that would otherwise provide seamless network-based exchanges. For example, traditional exchange networks lack the ability to (i) pass object-level details and (ii) record user information, and therefore lack the ability to adjudicate the individual objects involved in an exchange request as acceptable to a particular user involved in a value-based exchange. Therefore, traditional approaches to handling restrictions on value-based exchanges require restrictions to be handled at the point-of-sale system and rely on manual intervention, which can be unreliable, insecure, and time-consuming. For example, traditional exchange networks lack the ability to verify the age details of users initiating an exchange, relying on facility representatives to request some form of identification from the user and be trained to assess the validity of the identification for a particular purchase. Therefore, by using such communication standards, traditional switching networks improve network security at the expense of switching functionality.
[0006] Various embodiments of the present disclosure make important contributions to various existing network-based switching technologies by addressing each of these technical challenges. Summary of the Invention [Means for solving the problem]
[0007] Various embodiments of the present disclosure disclose a secure intermediary computing platform and computing services that facilitate credential-free execution of value-based exchanges that leverage universally unique ephemeral keys (UUEKs) to eliminate the use of persistent credentials. To do so, the intermediary computing platform can facilitate interactions between one or more member platforms to register user instruments in a value exchange system enhanced by a new ephemeral data structure, referred to herein as a UUEK. Unlike traditional exchange systems, the intermediary computing platform does not receive or rely on persistent user or instrument credentials to register user instruments. This elimination of credentials enables the use of new, more flexible interfaces, such as the application programming interfaces (APIs) described herein, leveraged by the intermediary computing platform to communicate with different network members to register users, their instruments, and instrument policies without disclosing user credentials at any step in the process. Once registered, the intermediary computing platform can issue a UUEK to the member platform that can replace a traditional persistent credential. The issued UUEK does not reflect the persistent credential or any other confidential user or instrument information.The interface between the member platform and the intermediary platform can enable (i) a user to present an issued UUEK from the member platform to the intermediary platform (without explicit reference to a persistent credential), and (ii) the intermediary platform to map the issued UUEK to an instrument key for the same or another member platform and provide the instrument key to the member platform for authorization of value-based exchanges. In this way, network-based transactions can be authorized in a seamless process without exposing sensitive user or instrument information that could be susceptible to network attacks.
[0008] By doing so, some of the techniques disclosed herein enable the use of flexible interfaces, such as APIs, between entities in a value-based exchange. These interfaces can enable requests and / or responses between the entities that enable the transfer of contextual information, such as object identifiers, during the execution of the value-based exchange. In this manner, the execution of a value-based exchange can be predicated at least in part on adjudication of object-level details of the value-based exchange. As described herein, this enables the intermediary platform to enforce user-specific restrictions, such as age restrictions and / or the like, without risking the exposure of sensitive user or financial information. Finally, the techniques disclosed herein enable additional flexibility (e.g., through the use of new interfaces) and security (e.g., through the elimination of persistent credentials) while reducing computing power requirements and enabling significantly greater network throughput for processing exchanges compared to prior art.
[0009] In some embodiments, a computer-implemented method includes receiving, by one or more processors and using a partner interface, an exchange request for conducting a value-based exchange, the exchange request indicating a universally unique ephemeral key (UUEK) that includes an exchange identifier; identifying, by the one or more processors, an exchange data object based at least in part on the exchange identifier, the exchange data object including (i) an instrument identifier of a service provider instrument of the member platform and (ii) a user identifier of a user associated with the service provider instrument; determining, by the one or more processors, one or more valid objects and one or more invalid objects for the exchange request based at least in part on one or more user attributes corresponding to the user; and determining, by the one or more processors and using the service provider interface, one or more valid objects and one or more invalid objects for the exchange request based at least in part on one or more user attributes corresponding to the user. providing an exchange authorization request to the member platform using the one or more processors and the service provider interface, the exchange authorization request indicating an instrument identifier and one or more valid objects for the exchange request; receiving, by the one or more processors and using the service provider interface, an exchange authorization response indicating at least one of an exchange approval or an exchange denial; and providing, by the one or more processors and using the partner interface, an exchange response based at least in part on the exchange authorization response, the exchange response indicating (i) the exchange approval or the exchange denial, and (ii) one or more invalid objects for the exchange request.
[0010] In some embodiments, a computing system includes a memory and one or more processors communicatively coupled to the memory. One or more of the methods include receiving, using a partner interface, an exchange request to perform a value-based exchange, the exchange request including a universally unique ephemeral key (UNIE) that includes an exchange identifier. and (ii) a user identifier of a user associated with the service provider instrument; determining one or more valid objects and one or more invalid objects for the exchange request based at least in part on one or more user attributes corresponding to the user; providing an exchange authorization request to the member platform using a service provider interface, the exchange authorization request indicating the instrument identifier and the one or more valid objects for the exchange request; receiving an exchange authorization response using the service provider interface indicating at least one of an exchange approval or an exchange denial; and providing an exchange response based at least in part on the exchange authorization response, the exchange response indicating (i) the exchange approval or the exchange denial, and (ii) one or more invalid objects for the exchange request.
[0011] In some embodiments, the one or more non-transitory computer-readable storage media, when executed by one or more processors, include receiving, using a partner interface, an exchange request to conduct a value-based exchange, the exchange request including a universally unique ephemeral key that includes an exchange identifier. and receiving, using the service provider interface, an exchange authorization response indicating at least one of an exchange approval or an exchange denial; and providing, using the partner interface, an exchange response based at least in part on the exchange authorization response, the exchange response indicating (i) the exchange approval or the exchange denial, and (ii) one or more invalid objects for the exchange request.
[0012] Having thus generally described the present disclosure, reference is now made to the accompanying drawings, which are not necessarily drawn to scale. [Brief explanation of the drawings]
[0013] [Figure 1]FIG. 1 is an exemplary diagram of a computing ecosystem in accordance with one or more embodiments of the present disclosure. [Figure 2] FIG. 1 is an exemplary schematic diagram of a computing platform in accordance with one or more embodiments of the present disclosure. [Figure 3] FIG. 1 is an illustrative schematic diagram of a client device in accordance with one or more embodiments of the present disclosure. [Figure 4] FIG. 1 is an example block diagram of an example credential-free exchange system for value, according to one or more embodiments of the present disclosure. [Figure 5] FIG. 1 is an exemplary data diagram for facilitating credential-less exchange of value, in accordance with one or more embodiments of the present disclosure. [Figure 6] 1 is a process flow for facilitating credential-less exchange of value, according to one or more embodiments of the present disclosure. [Figure 7] 1 is a process flow for adjudicating objects in a value-based exchange according to one or more embodiments of the present disclosure. [Figure 8] 1 is a messaging flow for enabling value-based exchange, according to one or more embodiments of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0014] Various embodiments of the present disclosure are described in more detail below with reference to the accompanying drawings, in which some, but not all, embodiments of the present disclosure are illustrated. Indeed, the present disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that the present disclosure will satisfy applicable legal requirements. The term "or" is used herein in both its alternative and conjunctive sense, unless otherwise indicated. The terms "exemplary" and "example" are used as examples without an indication of level of quality. Terms such as "computing," "determining," "generating," and / or similar words are used interchangeably herein to refer to the creation, modification, or identification of data. Furthermore, terms such as "based at least in part on," "based at least on," "based on," and / or similar words are used interchangeably herein in a broad manner, unless so indicated, so as not to necessarily indicate based at least in part on or solely on the referenced element or elements. Like numbers refer to like elements throughout.
[0015] I. Summary and Technical Advantages Various embodiments of the present disclosure provide technical solutions for managing network-based exchanges. In various embodiments, an exchange platform may be configured to facilitate credential-less exchanges of value between one or more member platforms. These exchanges may be facilitated in real time without persistent credentials that may expose members to financial, legal, reputational, or other risks. Thus, in various embodiments, client devices may buy, sell, and / or conduct value-based exchanges in real time over any network without exposing sensitive information that is susceptible to network-based attacks.
[0016] Embodiments of the present disclosure provide improved object-level exchange enablement techniques that leverage new interface and data transformation and policy matching techniques to improve data security and communication flexibility while reducing computing resource consumption requirements for protecting sensitive data over network communications.
[0017] Some techniques disclosed herein, for example, take a data object and convert it into a unique data key recognizable only to authorized entities. The data key may be provided and / or established by leveraging an exchange interface between the exchange platform and other member platforms in the exchange network. Once established, the data key may be mapped to a confidential credential stored within the source platform (e.g., a service provider platform) without requiring network transmission of the confidential credential. Future communications facilitating value-based exchanges may replace traditional persistent credentials with a data key to enable the source platform to identify the persistent credential and / or perform one or more actions for a specific instrument associated with the persistent credential. In this manner, the exchange platform may facilitate exchanges using keys (and / or other identifiers) that cannot be traced back to the underlying confidential information. This further enables the exchange platform to track, facilitate, and distribute network-based communications holistically without exposing members to network attacks.
[0018] Some embodiments of the present disclosure present network-based exchange processing techniques for facilitating credential-free exchanges. To do so, some of the disclosed techniques utilize a new data structure, the UUEK, which can replace persistent credentials traditionally used to authorize value-based exchanges. Using the disclosed techniques, UUEKs can be securely issued across member platforms to allow users to conduct value-based exchanges using identifiers recognizable by a single party, the exchange platform. The UUEK can be mapped to a unique identifier that can reference sensitive information without directly identifying (and thereby disclosing) the sensitive information. The unique identifier can, for example, reference a mapping that can only be interpreted by the source platform, and thus the identifier is unusable to malicious parties not affiliated with the exchange platform. In this way, the exchange platform can distribute, track, and facilitate exchanges without exposing the member platform to data security risks. Moreover, the exchange platform can continuously update, modify, and / or redistribute the UUEK to member platforms to continuously adapt the UUEK in real time. In this way, exchange platforms can offer technological improvements to data and network security while reducing computing resource requirements (e.g., to securely encrypt persistent credentials) to facilitate value-based exchange.
[0019] Some techniques of the present disclosure can leverage the credential-free exchange of the present disclosure to enable the use of flexible exchange interfaces between members of an exchange network. Unlike traditional exchange interfaces, the credential-free exchange enables the use of an interface capable of providing contextual information, such as object-level details, associated with a requested value-based exchange. By doing so, the intermediary computing platform can receive the information necessary to validate individual objects in the value-based exchange for various exchange metrics, such as user age restrictions. Ultimately, this enables a network operational solution in which a single computing entity, the intermediary computing platform, can enforce user restrictions on behalf of multiple members in real time.
[0020] The exchange interface provides a transport mechanism for both object-level and user-level details to enable a central activation service to activate individual objects for specific users involved in a value-based exchange. In some examples, the user-level details may be tied to the UUEK used to authorize the value-based exchange. In some examples, the user-level details may be recorded in a system data object corresponding to the UUEK. In either case, a secure and virtual UUEK can replace traditional reliance on physical forms of identification for user verification. This further allows a single intermediary computing platform to handle the activation of objects for users. By handling exchange activation, the disclosed techniques reduce the requirements for secondary computing entities (and their users) in the exchange network, thereby enabling new entrants to support unique programs regardless of the sophistication of their representatives or their computing solutions.
[0021] Exemplary inventive and technically advantageous embodiments of the present disclosure include (i) data transformation, mapping, and processing schemes for facilitating network-based, credential-less exchanges; (ii) exchange interfaces and network-based communication schemes for improving network security for cross-platform communications; (iii) ephemeral data structures and data management techniques for distributing ephemeral data structures to facilitate real-time, secure, and dynamic value-based exchanges; and (iv) real-time user activation techniques for activating individual objects for users involved in an exchange.
[0022] II. Illustrative Definitions In some embodiments, the term "exchange platform" refers to a computing entity configured to facilitate the credential-less exchange of value for one or more members in an exchange network. The exchange platform may include one or more processing devices, memory devices, and / or the like, physically and / or wirelessly coupled and configured to collectively (and / or individually) perform one or more computing tasks to facilitate a value system-agnostic exchange. In some examples, the exchange platform may include, define, and / or otherwise utilize one or more APIs for facilitating communication (e.g., requests and responses) between multiple members. As described herein, APIs may be utilized to facilitate secure exchange between one or more members in any value system.
[0023] In some embodiments, the term “member” refers to an entity that collaborates with the exchange platform to participate in a value exchange. By way of example, a member may include (i) a partner that utilizes the exchange platform to receive value, (ii) a service provider that utilizes the exchange platform to provide value, and / or (iii) both a partner and a service provider. As used herein, a member may be referred to as a partner when receiving value through a value exchange and / or a service provider when providing value through a value exchange. Thus, depending on the member's role in the value exchange, the same member may be both a partner and a service provider. For example, a member may be a partner that receives value for a value exchange. The same member may be a service provider that provides value in another value exchange. In some examples, the same member may be both a partner and a service provider in the same value exchange, thus utilizing the exchange platform to provide value and then receive value in only one member's value exchange.
[0024] In some embodiments, a member is a partner when it utilizes a service provided by a service provider. A partner may include any value-seeking entity in any value system. By way of example, in a financial value system, a partner may include a merchant (e.g., a retailer, a brick-and-mortar establishment, etc.) that may utilize a service provider, such as a financial institution, to access funds for financial transactions. Additionally or alternatively, in an information value system, a partner may include a news publisher (e.g., a newspaper, a news organization, etc.) that may utilize a service provider, such as a news agency (e.g., a wire service, a news service, etc.), to access information for information transactions. Of course, the techniques of this disclosure may be applied to any value system, and a partner may include any value seeker for any respective value system.
[0025] In some embodiments, a member is a service provider when it provides a service to a partner. A service provider may include a source of value in any value system. By way of example, in a financial value system, a service provider may include a financial institution (e.g., a bank, an exchange platform, a credit union, etc.) that may provide access to funds for financial transactions between one or more entities. Additionally or alternatively, in an information value system, a service provider may include a news agency (e.g., a wire service, a news service, etc.) that may source information for publication by a news publisher. Of course, the techniques of this disclosure may be applied to any value system, and a service provider may include any source of value for any respective value system.
[0026] In some embodiments, the term "service provider instrument" refers to a mechanism utilized by a service provider to provide value on behalf of a particular user. A service provider instrument may depend on the value system and / or the service provider. In some examples, a service provider instrument may include an account at the service provider. For example, in a financial value system, a service provider instrument may include a bank account (e.g., checking, savings, etc.), a brokerage account, a line of credit, and / or the like. In an information value system, a service provider instrument may include a subscriber account and / or the like. In some examples, a service provider instrument may include a virtual instrument hosted by a service provider platform.
[0027] In some embodiments, the services provided by a service provider are subject to one or more policies. For example, a service provider may be associated with one or more member policies that enable use of service provider instruments maintained by the service provider.
[0028] For example, a service provider and / or its service provider instrument may be associated with an entity that governs the use of one or more services provided by the service provider. As an example, a service provider may facilitate Electronic Benefit Transfer (EBT) systems, such as the Supplemental Nutrition Assistance Program ("SNAP"), Temporary Assistance for Needy Families ("TANF"), Special Supplemental Nutrition Program for Women, Infants, and Children ("WIC"), and / or the like, which provide financial assistance for authorized food and household items. As another example, a service provider may facilitate health care plans on behalf of a health care provider that restrict benefits by health care eligibility, procedure code, procedure location, and / or the like.
[0029] Additionally or alternatively, a service provider may govern the use of its own service. For example, a service provider may maintain a service provider instrument for its users. The service provider may restrict the service provider instrument on behalf of the users, on behalf of one or more internal policies, and / or the like. As an example, a service provider may include a financial institution that allows one or more users to restrict access to funds provided by the financial institution. In this manner, users may provide limited access to the service provider instrument by establishing one or more member policies for the service provider instrument.
[0030] In some embodiments, the term "member policy" refers to a data entity that defines one or more measures for validating an object for a value-based exchange. A member policy may correspond to a member and / or the member's service provider instruments. For example, a member policy may define one or more measures for validating an object based at least in part on one or more member-specific standards. Additionally or alternatively, a member policy may define one or more measures for validating an object based at least in part on one or more instrument-specific standards. A member-specific standard may apply to multiple service provider instruments associated with a member, while an instrument-specific standard may apply to at least one of multiple service provider instruments associated with a member.
[0031] A member policy may indicate multiple authorized and / or unauthorized policy attributes for value-based exchange. An authorized policy attribute may indicate one or more objects, object attributes, and / or value exchange attributes that are authorized for value-based exchange using the service provider instrument in accordance with the member policy. An unauthorized policy attribute may indicate one or more objects, object attributes, and / or value exchange attributes that are restricted for value-based exchange using the service provider instrument in accordance with the member policy. In some examples, a member policy may define multiple authorized policy attributes, and the multiple unauthorized policy attributes may include multiple undefined attributes. In some examples, a member policy may define multiple unauthorized policy attributes, and the multiple authorized policy attributes may include multiple undefined attributes.
[0032] In some examples, the policy attributes may include an object identifier, one or more object attributes, and / or one or more value exchange attributes that identify the object and / or one or more authorized / unauthorized quantities of the object.
[0033] For example, a member policy may include multiple object identifiers. The multiple object identifiers may indicate multiple objects that the service provider instrument is authorized / unauthorized to acquire (e.g., purchase). In some examples, the object identifier may be a global object identifier. For example, the global object identifier may be a stock keeping unit (SKU) code. Additionally or alternatively, the global object identifier may be a manufacturer part number (MPN), a global trade item number (GTIN), a product or service name, an International Standard Book Number (ISBN), a Universal Product Code (UPC), an International Item Number (EIN), a European Article Number (EAN), and / or the like. In some examples, the object identifier may include a system object identifier. The system object identifier may include, for example, an identifier (e.g., a table identifier) corresponding to a recorded data object representing an object within an exchange platform. In some embodiments, the system object identifier and the global object identifier are the same.
[0034] As another example, a policy attribute may indicate one or more object attributes that indicate authorized / unauthorized objects. The one or more object attributes may indicate one or more objects (e.g., with one or more different object identifiers) that are authorized and / or unauthorized for retrieval by the service provider instrument. As an example, an object attribute may indicate object categories that are not authorized for retrieval by the service provider instrument (e.g., restricted substances) and / or object categories that are authorized for retrieval by the service provider instrument (e.g., food items).
[0035] As yet another example, the policy attributes may include value exchange attributes corresponding to a particular value-based exchange and / or objects included in the value-based exchange. The value exchange attributes may include, for example, a threshold exchange value for the value-based exchange in the service provider instrument. Additionally or alternatively, the value exchange attributes may include a threshold object exchange value, a threshold object exchange quantity, and / or the like, for the objects included in the value-based exchange. The threshold object exchange value may indicate an authorized value for acquiring a particular object in the service provider instrument. The threshold object exchange quantity may indicate an authorized quantity (e.g., weight, number of units, etc.) of a particular object that may be acquired (e.g., purchased, etc.) in the service provider instrument.
[0036] In some embodiments, the term "recorded data object" refers to a data object that represents an object that may be involved in a value-based exchange. In some examples, a recorded data object may be an internal representation of an object for an exchange platform. For example, an object may include distinct units of a value-based exchange between which value is being transferred. A recorded data object for an object may include a data object that records one or more aspects of the object (e.g., an object identifier, object attributes, etc.).
[0037] For example, a recorded data object may include an object identifier and / or one or more object attributes of a particular object associated with a value system. An object may be based at least in part on a value system. For example, in a financial value system, an object may be a tangible or intangible item, product, and / or the like that may be purchased in exchange for a unit of currency. In a healthcare value system, an object may be a healthcare procedure and / or the like that may be covered by a healthcare policy.
[0038] In some examples, the exchange platform may maintain and / or access an object data store that includes a plurality of recorded data objects. As described herein, the object data store may include a plurality of recorded data objects that are obtained at least in part from one or more members of the exchange network and / or one or more third parties.
[0039] In some embodiments, the object data store is generated, updated, and / or maintained using data from one or more external data sources. For example, the one or more external data sources may include one or more object catalogs. Each object catalog may include multiple object identifiers and / or object attributes for each object identifier. By way of example, the object catalog may include 10, 20, 40, or more data points for each of multiple object identifiers. Each data point may indicate an object attribute of the object. The object attributes may be obtained by the external data source from a manufacturer, supplier, and / or any other entity associated with a particular object. In some examples, the object data store may be aggregated from each of one or more different external data sources to aggregate, verify, and / or augment multiple recorded data objects 424 associated with multiple different entities.
[0040] In some embodiments, the term "object attribute" refers to a data entity that represents a characteristic of an object. Object attributes may include object-based attributes and / or exchange-based attributes.
[0041] For example, object-based attributes may include spatial attributes, count attributes, value attributes, source attributes, composition attributes, category attributes, and / or any other attributes that describe object characteristics. Spatial attributes may indicate, for example, one or more dimensions of an object (e.g., height, width, weight, etc.), value attributes may indicate the value of an object (e.g., price, etc.), composition attributes may indicate one or more ingredients, components, etc. of an object, and / or category attributes may indicate one or more categories of an object (e.g., restricted substances, etc.), etc. By way of example, one or more category attributes may indicate whether an object is associated with (i) one or more general store categories, such as vegetables, fruits, dairy, meat, grains, seeds, alcohol, tobacco, in-store consumables, hot food, pharmacy, pet food, and non-food items; (ii) one or more medical categories, such as dental, ophthalmology, and general health; (iii) one or more information categories, such as international sources, domestic sources, and / or the like. In some examples, the composition attribute may indicate one or more components of the object, such as the percentage by volume of alcohol in the object, one or more ingredients such as meat, dairy-derived, peanut-derived, tree nut-derived, soy-derived, and / or the like.
[0042] In some examples, the object-based attributes can be based at least in part on a value system. For example, in at least one financial-based value system, the object-based attributes can include one or more line item attributes, one or more line item adjustments, and / or the like. Line item attributes can include a sequence, a line item group, a product code, an item name, an item source (e.g., provider, manufacturer, etc.), a description, a quantity, a mass (e.g., grams, kilograms, etc.), one or more spatial dimensions (e.g., length, width, height, volume, etc.), a unit amount, a unit tax amount, a line amount (e.g., a line item amount), a line tax amount, and / or the like. A line item adjustment may include an adjustment type (e.g., manufacturing discount, store discount, margin, cash payment, gift card payment, other payment, and / or the like), an item, product, or service code, an item description, an item quantity, a unit item, an item mass (e.g., grams, kilograms, etc.), a unit amount, a unit tax amount, a line amount (e.g., the amount of the line item), a line tax amount, and / or the like.
[0043] In some examples, one or more exchange-based attributes may indicate one or more aggregated exchange characteristics. For example, the exchange-based attributes may include a count attribute that represents the number of value-based exchanges that include a particular object. The count attribute may indicate, for example, the number of units of a particular object that have been acquired through multiple value-based exchanges. For example, as described herein, the exchange platform may increment the count attribute of an object each time the object is referenced in a value-based exchange. In some examples, the exchange platform may increment the count attribute of an object each time permissions are granted to acquire the object. In some examples, a recorded data object may include multiple count attributes that respectively identify the number of units of the object acquired (e.g., acquired count), the number of units of the object authorized to acquire (e.g., authorized count), and / or the number of units of the object requested to acquire (e.g., requested count).
[0044] In some examples, one or more exchange-based attributes may include exchange-specific features. For example, the exchange-based features may include a source attribute that represents a location (e.g., a retailer, a brick-and-mortar store, a healthcare center, an information source, etc.) where an object is acquired (e.g., purchased) through a value-based exchange. The location may include, for example, a virtual and / or physical location. In some examples, the location may depend on the value system. For example, in a financial value system, the source attribute may identify a retailer, a particular brick-and-mortar store of the retailer, an online platform, and / or the like. In a healthcare value system, the source attribute may be a virtual and / or physical healthcare center, and / or the like. In an informational value system, the source attribute may be an information source and / or the like.
[0045] In some examples, the recorded data objects and / or count attributes may be source specific. For example, different recorded data objects and / or count attributes may be maintained for each source from which the objects may be obtained. Additionally or alternatively, the recorded data objects and / or count attributes may be source independent.
[0046] In some embodiments, the term "restricted object" refers to one or more different types of objects that may be associated with a measure of exchange for acquisition through a value-based exchange. Restricted objects may include, for example, objects that are subject to one or more acquisition limits.
[0047] In some embodiments, the term "acquisition limit" refers to a data entity that defines one or more measures for activating an object for value-based exchange. Acquisition limits may define one or more user-specific, location-specific, and / or other rules for activating the restricted object.
[0048] Location-specific rules may include one or more geographic restrictions and / or sovereign entity restrictions. For example, location-specific rules may indicate one or more country, state, county, and / or similar restrictions on the acquisition of one or more restricted objects in sovereign entities and / or other geographic areas. By way of example, one or more restricted objects may be prohibited from acquisition by federal law, which may form the basis of the acquisition restrictions.
[0049] The user-specific rules may include one or more age restrictions, residency restrictions, credit score restrictions, and / or the like. In some examples, the age restrictions may indicate one or more age ranges and / or age thresholds for acquiring restricted objects. For example, the age restrictions may define one or more age categories for one or more different types of restricted objects. Each age category may define an age range (e.g., age bracket, etc.) corresponding to a different type of restricted object. As an example, a first age category may indicate an age range below a minimum age for acquiring a first object, such as cigarettes; a second age category may indicate an age range above the minimum age range for acquiring cigarettes but below a second minimum age for acquiring a second object, such as alcohol; and a third age category may indicate an age range above the second minimum age range.
[0050] In some embodiments, acquisition restrictions may be based at least in part on the exchange location associated with the value-based exchange. For example, location-specific rules and / or user-specific rules may be modified for various locations. For example, user-specific rules, such as one or more age categories and / or the like, may be formed based on one or more legal requirements corresponding to the exchange location.
[0051] The acquisition restrictions may correspond to an object and / or one or more object attributes. For example, one or more acquisition restrictions may correspond to one or more object identifiers. For example, the recorded data object for the object may include an indication of one or more acquisition restrictions. Additionally or alternatively, the acquisition restrictions may correspond to one or more object attributes. By way of example, the acquisition restrictions may correspond to a categorical attribute (e.g., alcohol, tobacco, etc.), a compositional attribute (e.g., percentage alcohol, etc.), and / or the like.
[0052] In some embodiments, the term “valid object” refers to an object in a value-based exchange that has been authorized according to one or more acquisition limits (if applicable). A valid object may correspond to, for example, an object identifier and / or one or more object attributes that reach an acquisition limit corresponding to the restricted object, do not correspond to a restricted object in a value-based exchange, and / or correspond to a restricted object. As an example, in a financial value system, a valid object may be a product or service that is eligible for purchase by a user of a service provider instrument at an exchange location. As an example, a product may be one gallon of milk, which may be associated with an SKU code and / or one or more object attributes such as “Category: Dairy,” “Quantity: 1 Gallon,” and / or the like. A product may be a valid object for a value-based exchange if no acquisition limits apply to the SKU code and / or one or more object attributes “Category: Dairy,” “Quantity: 1 Gallon,” and / or the like.
[0053] In some embodiments, the term “invalid object” refers to an object in a value-based exchange that is not authorized according to one or more acquisition limits (if applicable). An invalid object may correspond to an object identifier and / or one or more object attributes corresponding to a restricted object in a value-based exchange that, for example, does not meet the acquisition limit corresponding to the restricted object. By way of example, in a financial value system, an invalid object may be a product or service that is not eligible for purchase by a user of a service provider instrument at an exchange location. By way of example, a product may be one liter of alcohol, which may be associated with a SKU code and / or one or more object attributes, such as “Category: Restricted Substance,” “Quantity: Liters,” and / or the like. A product may become an invalid object for a value-based exchange if an acquisition limit applies to the SKU code and / or one or more object attributes “Category: Restricted Substance,” “Quantity: 1 Liter,” and one or more user attributes and / or the exchange location do not meet the acquisition limit.
[0054] In some embodiments, the term "exchange request" refers to a data entity that defines a request to effect an exchange of value. The exchange request may be provided to the exchange platform by a member of the exchange network. The exchange request may include one or more request attributes. The one or more request attributes may include one or more object identifiers, object attributes, resolution flags, and / or the like. In some examples, the exchange request may include an exchange location. The exchange location may refer to a physical location, such as a brick-and-mortar store and / or the like, a virtual location, such as an online retail platform, and / or a geographic region, such as a country, state, county, or other region.
[0055] The one or more request attributes may include multiple object identifiers corresponding to multiple objects associated with the value-based exchange. Additionally or alternatively, the one or more request attributes may include one or more object attributes of the multiple objects. For example, the one or more object attributes may include one or more object-based attributes, such as one or more line-item attributes, one or more exchange-based attributes, such as an object quantity, an object location, and / or the like. For example, the exchange request may indicate an exchange location where the object is being obtained.
[0056] In some examples, the request attributes may indicate one or more request resolution flags. The request resolution flags may indicate one or more requesting member requirements (e.g., partner requirements, etc.) for the value-based exchange. For example, the one or more request resolution flags may be set by a member of the exchange network that provides the exchange request to the exchange platform. In some examples, the request resolution flags may indicate partial exchange authority or full exchange authority. A partial exchange authority may grant authority for partial completion of the value-based exchange, while a full exchange authority may only grant authority for full completion of the value-based exchange. For example, a full exchange authority may require activation of all objects referenced by the value-based exchange.
[0057] In some embodiments, the term "valid exchange data object" refers to a data object that indicates one or more valid objects of a value-based exchange. In some examples, the valid exchange data object may be based at least in part on a comparison between the exchange request and / or one or more user attributes corresponding to the exchange request. In some examples, the valid exchange data object may include multiple object identifiers and / or one or more object attributes of one or more valid objects of the value-based exchange.
[0058] In some examples, the valid exchange data objects may represent an exchange value. The exchange value may be an aggregate value of each of the valid data objects. In some examples, the exchange value may be modified from an initial exchange value using some of the techniques of this disclosure to align the exchange value with the valid objects of the value-based exchange.
[0059] In some cases, a valid exchange data object may indicate one or more object statuses of one or more valid objects.
[0060] In some embodiments, the term "invalid exchange data object" refers to a data object that indicates one or more invalid objects of a value-based exchange. In some examples, the invalid exchange data object may be based, at least in part, on a comparison between the exchange request and one or more user attributes corresponding to the exchange request. For example, the invalid exchange data object may indicate multiple invalid objects of the value-based exchange. Additionally or alternatively, the invalid exchange data object may be based, at least in part, on the exchange request and a valid exchange data object. For example, the invalid exchange data object may indicate multiple invalid objects of the value-based exchange. For example, the invalid exchange data object may indicate multiple objects of the value-based exchange that are not included in the valid exchange data object.
[0061] The invalid exchange data object may include multiple object identifiers and / or one or more object attributes of one or more invalid objects of a value-based exchange. In some examples, the invalid exchange data object may indicate one or more object statuses of one or more invalid objects.
[0062] In some embodiments, the term "object status" refers to a data entity indicating the determination and / or classification of an object with respect to value-based exchange. For example, the object status of a valid object may include an object eligible status and / or the like. As another example, the object status of an invalid object may include an object ineligible status and / or the like. The object status of an object that has not been evaluated in light of the member policy may include an object not evaluated status. The object status of an object not addressed by the member policy may include an object not designated status. In some examples, the object status may indicate an acquisition restriction corresponding to an invalid object. For example, the object status may include an object age restriction status and / or the like.
[0063] In some embodiments, the term "exchange authority request" refers to a data entity that defines a request to a member to conduct a value-based exchange. In some embodiments, the exchange authority request is provided from an exchange platform to a member of the exchange network. The exchange authority request may be provided, for example, to a service provider of the exchange network in response to an exchange request from a partner of the exchange network. In some examples, the exchange authority request may indicate valid exchange data objects for the exchange request. For example, the exchange authority request may indicate one or more valid data objects, a valid exchange value, one or more object statuses associated with the one or more valid data objects, and / or the like. In some examples, the exchange authority request may indicate invalid exchange data objects for the exchange request. For example, the exchange authority request may indicate one or more invalid data objects, one or more object statuses associated with the one or more invalid data objects, and / or the like.
[0064] In some embodiments, the term "exchange authority response" refers to a data entity that defines a response to an exchange authority request. In some embodiments, the exchange authority response is provided to the exchange platform by a member of the exchange network. The exchange authority response may be provided, for example, by a service provider of the exchange network in response to the exchange authority request indicating one or more valid objects from the exchange request.
[0065] In some embodiments, the exchange authorization response indicates at least one of an exchange approval or an exchange denial. The exchange authorization response can be based at least in part on a comparison between the exchange value (e.g., as modified based at least in part on the validity object) and the asset availability of the service provider instrument. For example, in response to receiving the exchange authorization request, the member can be configured to compare the exchange value with the asset availability of the identified service provider instrument. The value-based exchange can be authorized (e.g., resulting in an exchange approval) if the asset availability exceeds the exchange value; otherwise, the value-based exchange can be denied (e.g., resulting in an exchange denial).
[0066] In some embodiments, the exchange authorization response indicates one or more context response attributes. The one or more context response attributes may, for example, indicate one or more contributing factors to the exchange authorization response. The contributing factors may include, for example, bad actor risk and / or fraud check, error, full authorization, undisclosed instrument, instrument-based risk and / or fraud check, insufficient value, invalid UUEK, limit exceedance (e.g., UUEK or instrument usage limit exceeded), missing line item (e.g., in the case of an exchange of value that does not include a valid object), missing instrument, missing account, required PIN, partial authorization, unavailable member, transaction risk and / or fraud check, unsupported operation, user contact member (e.g., the user may need to contact a member, such as a service provider, to resolve the issue), user risk and / or fraud check, and combinations thereof.
[0067] In some embodiments, the term "exchange response" refers to a data entity that defines a response to an exchange request. In some embodiments, the exchange response is provided from the exchange platform to the member that submitted the exchange request. The exchange response may indicate exchange approval and / or exchange denial. Additionally or alternatively, the exchange response may indicate valid data objects, invalid data objects, and / or context response attributes. By way of example, the exchange response may indicate one or more valid objects and / or one or more invalid objects for the exchange request.
[0068] In some embodiments, the term "exchange record" refers to a data entity that provides contextual information for an exchange request. The contextual information may indicate one or more aspects of the exchange request, the exchange response, the exchange authorization request, and / or the exchange authorization request. For example, the exchange record may indicate one or more valid objects, invalid objects, the object status of each valid and / or invalid object, and / or any other information associated with the value-based exchange.
[0069] In some embodiments, the term “member platform” refers to a computing entity corresponding to a member. A member platform can include a partner computing platform acting on behalf of a partner, a service provider computing platform acting on behalf of a service provider, and / or both. In some examples, a member platform can be both a partner platform and a service provider platform. For example, the same member platform can be configured to operate on behalf of a partner for one value exchange and on behalf of a service provider for another value exchange. In some examples, the same member platform can be configured to operate on behalf of both a partner and a service provider in a single value exchange. It is noted that the term member platform can refer to a partner platform, a service provider platform, or both, and in some examples may depend on the role of the member platform in the value exchange (e.g., and / or the API(s) utilized by the member platform in the value exchange).
[0070] In some embodiments, a partner platform is a computing entity configured to perform one or more operations on behalf of a partner. A partner platform may include one or more processing devices, memory devices, and / or the like, physically and / or wirelessly coupled and configured to collectively (and / or individually) perform one or more computing tasks, for example, to request value in a value-system-agnostic exchange. In some examples, a partner platform may include, define, and / or otherwise utilize one or more APIs to facilitate communication (e.g., requests and responses) with the exchange platform. In some examples, a partner platform may be configured to host one or more user-facing applications (e.g., partner applications) for interacting with one or more users.
[0071] In some embodiments, a service provider platform is a computing entity configured to perform one or more operations on behalf of a service provider. A service provider platform may include one or more processing devices, memory devices, and / or the like, physically and / or wirelessly coupled and configured to collectively (and / or individually) perform one or more computing tasks to provide value in a value-system-agnostic exchange, for example. In some examples, a service provider platform may include, define, and / or otherwise utilize one or more APIs to facilitate communication (e.g., requests and responses) with an exchange platform. In some examples, a service provider platform may be configured to facilitate one or more service provider instruments. In some examples, a service provider platform may be configured to host one or more user-facing applications (e.g., service provider applications, etc.) for managing one or more service provider instruments.
[0072] In some embodiments, the term "exchange interface" refers to a set of instructions for facilitating communication between the exchange platform and one or more member platforms and / or internal services. The exchange interface may include an API, a file-based interface, a message queue-based interface, and / or the like. For example, the exchange interface may include an API, including, by way of example, one or more Simple Object Access Protocol (SOAP) APIs, one or more Remote Procedure Call (RPC) APIs, one or more WebSocket APIs, one or more Representational State Transfer (REST) APIs, and / or the like. In some embodiments, the exchange interface may include one or more RPC APIs, such as one or more gRPC APIs.
[0073] An exchange platform may include, define, and / or otherwise utilize one or more different exchange interfaces to facilitate communication with one or more external platforms, such as one or more member platforms (e.g., partner platforms, service provider platforms, etc.). Each API may include multiple communication instructions, message definitions, and / or the like for exchanging requests and / or responses between the exchange platform and the entities participating in the value exchange. By way of example, an exchange interface may include a partner API for facilitating communication with a partner platform and / or a service provider API for facilitating communication with a service provider platform.
[0074] In some embodiments, the term “partner interface” refers to an exchange interface for facilitating one or more communications between a partner platform and an exchange platform. The partner interface may define one or more communication instructions, message definitions, and / or the like for facilitating one or more request and / or response messages between the partner platform and the exchange platform. The partner interface may include, for example, an API that defines (i) requests from a computing entity acting as a partner platform to the exchange platform and / or (ii) requests from the exchange platform to the partner platform. For example, the partner interface may define one or more registration messages, session messages, transaction messages, and / or the like for facilitating a value exchange for a partner. In some embodiments, the partner interface defines one or more identifiers for securely identifying one or more portions of a value exchange.
[0075] In some embodiments, the term “service provider interface” refers to an exchange interface for facilitating one or more communications between a service provider platform and an exchange platform. The service provider interface may define one or more communication instructions, message definitions, and / or the like for facilitating one or more request and / or response messages between the service provider platform and the exchange platform. The service provider interface may include, for example, an API that defines (i) requests from a computing entity functioning as the service provider platform to the exchange platform and / or (ii) requests from the exchange platform to the service provider platform. The service provider interface may define, for example, one or more registration messages, session messages, transaction messages, and / or the like for facilitating a value exchange using the service provider instrument. In some embodiments, the service provider interface defines one or more identifiers for securely identifying one or more portions of a value exchange.
[0076] In some embodiments, the term "entity partition" refers to a unique identifier for a computing entity. An entity partition may include a unique numeric, alphanumeric, and / or similar identifier that represents a particular computing entity. Entity partitions may include, for example, a member partition representing a member platform, a service provider partition representing a service provider platform, a partner partition representing a partner platform, and / or the like.
[0077] In some embodiments, the term "service provider partition" refers to a unique identifier for a service provider and / or the service provider's service provider platform. A service provider partition may include a series of numeric, alphanumeric, and / or any other characters or symbols that represent a service provider associated with (e.g., onboarded, registered, etc.) the exchange platform. An exchange platform, for example, may include multiple service provider partitions, each identifying a service provider platform attached to (e.g., onboarded, registered, etc.) the exchange platform. Each service provider partition may represent a service provider platform that has configured one or more exchange platform software development kits (SDKs) and / or the like to implement the exchange platform's service provider interfaces.
[0078] In some embodiments, a "partner partition" refers to a unique identifier for a partner and / or the partner's partner platform. A partner partition may include a series of numeric, alphanumeric, and / or any other characters or symbols that represent a partner associated with the exchange platform. An exchange platform may, for example, include multiple partner partitions, each identifying a partner platform attached (e.g., onboarded, registered, etc.) to the exchange platform. Each partner partition may represent a partner platform that has configured one or more exchange SDKs and / or the like to implement the exchange platform's partner interfaces.
[0079] In some embodiments, the term "user-facing application" refers to a computer program hosted by a computing entity for facilitating one or more user interactions. A user-facing application may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for a computing entity, such as a member platform. For example, a user-facing application may facilitate communication between a member and a user. By way of example, a user-facing application may be configured to present one or more user interfaces for interacting with a user on behalf of a member. In some examples, a user-facing application may be configured to receive user input (e.g., via one or more user interfaces) for receiving information from a user.
[0080] In some embodiments, the user-facing application is a partner application hosted by a partner platform (e.g., a member platform acting as a partner for a particular exchange) to facilitate functionality for the partner. The partner application may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for the partner. For example, the partner application may be configured to present one or more user interfaces for interacting (e.g., browsing, purchasing, reviewing, etc.) with one or more products offered by a retail-based partner, one or more units of information offered by an information-based partner, and / or the like. In some examples, the partner application may be configured to receive user input (e.g., via one or more user interfaces) to receive information from a user.
[0081] In some embodiments, the user-facing application is a service provider application hosted by a service provider platform (e.g., a member platform acting as a service provider for a particular exchange) to facilitate functionality for the service provider. The service provider application may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for the service provider. For example, the service provider application may be configured to present one or more user interfaces for interacting (e.g., reviewing, managing, inspecting, registering, etc.) with one or more service provider instruments facilitated by the service provider. As an example, in a financial value system, the service provider application may enable access to bank accounts, brokerage accounts, lines of credit, and / or the like for managing funds, assets, and / or the like handled by the respective accounts. In some examples, the service provider application may be configured to receive user input (e.g., via one or more user interfaces) for receiving information, authorizations, and / or the like from the user.
[0082] In some embodiments, the term "instrument data object" refers to a data entity that represents a service provider instrument. An instrument data object may include one or more instrument identifiers and / or one or more instrument attributes. In some examples, the one or more instrument identifiers and / or one or more instrument attributes may be based at least in part on the type of the instrument data object. By way of example, a service provider instrument may be represented in a member platform as a member instrument data object. Additionally or alternatively, a service provider instrument may be independently represented by a system instrument data object in an exchange platform. In some examples, a member instrument data object and a system instrument data object may include one or more of the same one or more instrument identifiers and / or one or more instrument attributes. By way of example, a member platform may register multiple service provider instruments with the exchange platform. During registration, the member platform may provide one or more of an instrument identifier and / or instrument attributes, and in some examples, the exchange platform may return another identifier.
[0083] In some embodiments, a member instrument data object is an internal representation of a service provider instrument within a member platform. The member instrument data object may include one or more instrument identifiers, such as a member instrument identifier, an instrument key from the exchange platform, and / or a user identifier. The user identifier may include, for example, a member user identifier. Additionally or alternatively, the member instrument data object may include one or more instrument attributes, such as an instrument type (e.g., credit-based instrument, debit-based instrument, information-based instrument, etc.), an instrument representation, and / or one or more context attributes. In some examples, the context attributes may depend on the value system. For example, in a financial value system, one or more context attributes may indicate (i) the currency associated with the service provider instrument, (ii) asset availability (e.g., balance, coverage, etc.) of the service provider instrument, (iii) one or more previous transactions with the service provider instrument, and / or the like.
[0084] In some embodiments, a system instrument data object is an external representation of a service provider instrument within an exchange platform. A system instrument data object may include one or more instrument identifiers, such as a member platform instrument reference, a system instrument identifier, and / or a user identifier. A user identifier may include, for example, a system user identifier. Additionally or alternatively, a system instrument data object may include one or more instrument attributes, such as an instrument type (e.g., a credit-based instrument, a debit-based instrument, an information-based instrument, etc.), an instrument representation, and / or one or more context attributes. In some examples, the context attributes may depend on the value system. For example, in a monetary value system, one or more context attributes may indicate the currency associated with the service provider instrument.
[0085] In some embodiments, the term "instrument identifier" refers to any representation of a service provider instrument. An instrument identifier may include an instrument identifier, an instrument reference, an instrument key, and / or the like, as described herein.
[0086] In some embodiments, the term "member instrument identifier" refers to a unique identifier for representing a service provider instrument within a member platform. A member instrument identifier may include, for example, a series of numeric, alphanumeric, and / or any other characters or symbols that represent the service provider instrument to the service provider platform.
[0087] In some embodiments, the term "instrument reference" refers to a unique identifier for referencing a member instrument identifier. An instrument reference may be generated and / or provided by a member platform to an exchange platform, for example, to allow the exchange platform to reference an instrument maintained at the member platform. In some examples, an instrument reference is the same value as the member instrument identifier. In some examples, an instrument reference is a different value mapped to the member instrument identifier.
[0088] In some embodiments, the term "system instrument identifier" refers to a unique identifier for representing a service provider instrument within an exchange platform. A system instrument identifier may include, for example, a series of numeric, alphanumeric, and / or any other characters or symbols that represent the service provider instrument to the exchange platform. In some examples, a system instrument identifier may include a UUID.
[0089] In some embodiments, the term "instrument key" refers to a unique identifier for referencing a system instrument identifier. The instrument key may be generated and / or provided by an exchange platform, for example, during the instrument registration process with the exchange platform. In some examples, the instrument key may include a wrapped system instrument identifier. For example, the instrument key may include a string of alphanumeric characters formatted according to a key format established by the exchange platform (and / or its one or more APIs). The key format may include any number of characters, such as 50 characters or more. In some examples, the characters may be case-sensitive. A first portion of the characters (e.g., the first six characters) may be reserved as a partition for identifying an entity associated with the key. In the case of an instrument key, the partition may include a service provider partition. A second portion of the characters may identify a system instrument identifier. The key formats described herein may include one or more different portions, each of which may be arranged in any order.
[0090] In some embodiments, the term "instrument representation" refers to a unique identifier for representing a service provider instrument to a user. An instrument representation may include, for example, a series of numeric, alphanumeric, or any other characters or symbols that outwardly represent a service provider instrument. The format and / or value of an instrument representation may be based at least in part on the type of service provider and / or service provider instrument. For example, in a financial value system, an instrument reference may include a portion (e.g., the last four digits, etc.) of a persistent credential, such as an account number (e.g., debit account, credit account, etc.), a financial account name, and / or the like. As another example, in an information value system, an instrument reference may include a portion (e.g., one or more digits, alphanumeric characters, etc.) of a persistent credential, such as a subscription account and / or the like. For example, an instrument expression may include a derivative of a persistent credential that may allow only entities with prior knowledge of the persistent credential to identify the persistent credential using the instrument expression. As another example, an instrument expression may include a nickname for the instrument that is assigned by a user and subsequently recognized.
[0091] In some embodiments, the term "user data object" refers to a data entity representing a user interacting with a member platform and / or exchange platform. A user may include, for example, an entity (e.g., a person, organization, group, etc.) that engages in a value exchange governed by the exchange platform. In some examples, a user may indirectly collaborate with the exchange platform by creating a registered service provider user account, registering (and / or providing permission to register) a service provider instrument, and / or the like. In some examples, the exchange platform may act on behalf of a user without the user directly interacting with the exchange platform. For example, the exchange platform may act as a hidden intermediary between a user-facing application and the user's service provider instrument.
[0092] In some embodiments, a user data object includes one or more user identifiers and / or one or more user attributes. In some examples, the one or more user identifiers and / or one or more user attributes may be based at least in part on the type of the user data object. For example, a user may be represented in a member platform as a member user data object. Additionally or alternatively, a user may be independently represented in an exchange platform by a system user data object. In some examples, a member user data object and a system user data object may include one or more of the same one or more user identifiers and / or user attributes. For example, a member platform may register multiple users with the exchange platform. During registration, the member platform may provide one or more of the user identifiers and / or user attributes, and in some examples, the exchange platform may return another identifier.
[0093] In some embodiments, a member user data object is an internal representation of a user within the member platform. The member user data object may include one or more user identifiers, such as a member user identifier, a user key from the exchange platform, and / or the like. Additionally or alternatively, the member user data object may include one or more user attributes. The one or more user attributes may indicate one or more contextual characteristics of the user. In some examples, the user attributes may indicate one or more identifiable characteristics of the user. By way of example, the user attributes may indicate the user's first name, last name, email, physical address (e.g., one or more of street, locality, region, zip code, country, etc.), date of birth (e.g., date of birth, age range, etc.), phone number, and / or the like. In some examples, the user attributes may include an encrypted, hashed, and / or otherwise secure representation of the user's identifiable characteristics. For example, the user attributes may include one or more hashed identifiers and / or the like of the user.
[0094] In some embodiments, a user attribute may indicate a user's age. The user attribute may indicate, for example, a user's date of birth. Additionally or alternatively, the user attribute may indicate an age group. The age group may indicate a user's age category. For example, the age category may indicate an age range aligned with one or more acquisition restrictions. By way of example, in the United States, age groups may include: (i) a minor tier indicating a user as under 18 years of age; (ii) a first partial minor tier indicating users aged 18 to 19 years; (iii) a second partial minor tier indicating users aged 19 to 21 years; and (iv) an unrestricted tier indicating users aged 21 years or older. In this manner, user attributes can reflect a user's age-related information without disclosing sensitive user information, such as the user's date of birth.
[0095] In some embodiments, a system user data object is an external representation of a member user within the exchange platform. The system user data object may include one or more user identifiers, such as a member platform user reference, a system user identifier, and / or the like. Additionally or alternatively, the system user data object may include one or more user attributes, such as those described herein. As an example, a member platform may register a user with the exchange platform. During registration, the member platform may provide the user's user reference and / or one or more user attributes. In some examples, the user attributes may include a hashed and / or encrypted identifier of the user.
[0096] In some embodiments, the term "user identifier" refers to a unique identifier of a user involved in a value-based exchange. A user identifier may include a series of numeric, alphanumeric, or any / all other characters or symbols that represent a user of the exchange platform and / or member platform. In some examples, a user identifier may include a user reference, a user key, a system user identifier, a member user identifier, and / or the like.
[0097] In some embodiments, the term "system user identifier" refers to a unique identifier for representing a user within an exchange platform. A system user identifier may include, for example, a series of numeric, alphanumeric, and / or any other characters or symbols that represent the user to the exchange platform. In some examples, a system user identifier may include a UUID unique to a particular user.
[0098] In some embodiments, the term "member user identifier" refers to a unique identifier for representing a user within a member platform. A member user identifier may include, for example, a series of numeric, alphanumeric, or any other characters or symbols that represent the user to the service provider platform.
[0099] In some embodiments, the term "user reference" refers to a unique identifier for referencing a member user identifier. A user reference may be generated and / or provided by a member platform to an exchange platform, for example, to allow the exchange platform to reference a user associated with the member platform. In some examples, a user reference is the same value as a member user identifier. In some examples, a user reference is a different value mapped to a member user identifier.
[0100] In some embodiments, the term "user key" refers to a unique identifier that references a system user identifier. The user key may be generated and / or provided by the exchange platform, for example, during the user's registration process with the exchange platform. In some examples, the user key may include a packaged system user identifier. For example, the user key may include a string of alphanumeric characters formatted according to a key format established by the exchange platform (and / or its one or more APIs). The key format may include, for example, a first portion of characters (e.g., the first six characters) that may be reserved as a partition for identifying an entity (e.g., a member, etc.) associated with the key. For example, in the case of a user key, the partition may include a service provider partition and / or a partner partition. The second portion of characters may identify the system user identifier.
[0101] In some embodiments, the term “exchange data object” refers to a data entity that represents an authorized value exchange between one or more members associated with an exchange platform. In some examples, an exchange data object may include one or more identifiers and / or one or more exchange attributes. For example, the one or more identifiers and / or one or more exchange attributes may be based at least in part on the type of the exchange data object. By way of example, an exchange may be represented in a member platform as a member exchange data object. Additionally or alternatively, an exchange may be independently represented in the exchange platform by a system exchange data object. In some examples, a member exchange data object and a system exchange data object may include one or more of the same one or more identifiers and / or exchange attributes. By way of example, using some of the techniques of this disclosure, an exchange platform may issue one or more unique identifiers to member platforms that may be used to authorize a value exchange.
[0102] In some embodiments, a system exchange data object is an internal representation of a value exchange mediated using an exchange platform. In some examples, a system exchange data object may include one or more different identifiers and / or exchange attributes depending on the system exchange data object's role in the value-based exchange.
[0103] For example, the system exchange data object may include a service provider-specific exchange data object corresponding to a service provider platform. The service provider-specific exchange data object may include one or more identifiers, such as an exchange identifier, a system user identifier, a system instrument identifier, a UUEK, and / or the like. Additionally or alternatively, the service provider-specific exchange data object may include one or more exchange attributes, such as an expiration date, a currency (e.g., for a monetary value system), and / or the like.
[0104] Additionally or alternatively, the system exchange data object may include a partner-specific exchange data object corresponding to the partner platform. The partner-specific exchange data object may include one or more identifiers, such as an exchange identifier, an instrument key, a UUEK, a member instrument reference (e.g., a partner-specific instrument reference), and / or the like. Additionally or alternatively, the partner-specific exchange data object may include one or more exchange attributes, such as an expiration date, a currency (e.g., in the case of a monetary value system), an instrument type, a previous UUEK identifier, and / or the like. In some embodiments, the member exchange data object is an external representation of a value exchange mediated using the exchange platform. The member exchange data object may include one or more identifiers, such as a member exchange identifier, a member instrument identifier, a UUEK from the exchange platform, and / or the like.
[0105] In some embodiments, the term “exchange identifier” refers to a unique identifier of a value exchange using an exchange platform. The exchange identifier may include a series of numeric, alphanumeric, and / or any other characters or symbols that represent at least a user and / or service provider instrument. In some examples, the unique exchange identifier may include a universally unique identifier (UUID) that may be mapped (e.g., through a series of identifiers, etc.) to a user, service provider instrument, and / or member registered with the exchange platform. In some examples, the exchange identifier may be randomly generated using one or more UUID generators. For example, the exchange identifier may include random 16 bytes of information generated according to one or more UUID formatting standards, such as UUID v4 and / or the like. Thus, while the exchange identifier may be utilized by the exchange platform and / or member platform for one or more functions, the same exchange identifier is useless to external parties without a prior association between the exchange identifier and one or more other identifiers. In some examples, the exchange identifier may be represented externally by a UUEK.
[0106] In some embodiments, a "universally unique ephemeral key" or "UUEK" refers to an external representation of an exchange identifier that may be issued (e.g., in place of a service provider exchange identifier and / or a partner exchange identifier) to an external entity, such as a user, partner, and / or service provider, to initiate a transaction using the exchange platform. To do so, a UUEK may be generated and issued by the exchange platform to the external entity. Each UUEK may include multiple values (e.g., up to 50 characters and / or more, which may be case-sensitive) that represent one or more aspects of the transaction. For example, the multiple values may indicate an exchange identifier, a partition (e.g., identifying the recipient of the UUEK, etc.), an identifier type, and / or one or more flags. By way of example, a UUEK may include a partner-specific UUEK and / or a service provider-specific UUEK. The partner-specific UUEK may be correlated to a partner-specific exchange data object as described herein, while the service provider-specific UUEK may be correlated to a service provider-specific exchange data object.
[0107] By way of example, the UUEK may be generated according to a key format. The key format may include a plurality of characters, including, for example, 50 or more characters that may be case-sensitive. A first portion of the characters (e.g., the first six characters) may be reserved as a partition for identifying the recipient of the UUEK. The partition may include, for example, a partner partition, a service provider partition, and / or any other member partition. By way of example, the UUEK may be issued in response to a request from an authorized member, such as an attached partner and / or service provider.
[0108] Additionally or alternatively, at least one character (e.g., the seventh character) of the key format may identify the format of the UUEK. At least another character (e.g., the eighth character) may identify the type of UUEK. In some examples, the second portion of characters may identify an exchange identifier (e.g., a group of 22 characters following the eighth character). The third portion of characters may be reserved (e.g., a group of 20 characters following the first portion of characters). Exemplary representations are provided below: ppppppFiGGGGGGGGGGGGGGGGGGGGrrrrrrrrrrrrrrrrrrrr where p represents the partition character, F represents the format character, i represents the identifier type character, G represents the exchange identifier, and r represents the reserved character. The key format allows for up to 9.8 x 10^84 unique permutations, which is more than the number of atoms in the known observable universe. This allows for the generation and distribution of new UUEKs on demand without compromising the security of the underlying data to which the UUEK may be mapped, such as identifiers of users, instruments, and / or any other potentially sensitive information. The key formats described herein may contain one or more distinct parts, each of which may be arranged in any order.
[0109] In some embodiments, the term "session identifier" refers to a unique identifier for identifying a series of related message exchanges between an exchange platform and an external platform.
[0110] In some embodiments, the term "matching code" refers to a session-specific identifier for authorizing a registration session between one or more entities. A matching code may include a series of numeric, alphanumeric, and / or similar characters that may be provided to multiple entities to ensure, for example, that each of the entities is participating in the same communication sequence. By way of example, a matching code may include an eight-character sequence that may be generated by an exchange platform, provided to a service provider platform, and then received from a partner platform to ensure that the exchange platform, service provider platform, and partner platform are each interacting with the same end user (e.g., by comparing the received matching code with a generated matching code as described herein).
[0111] III. COMPUTER PROGRAM PRODUCTS, METHODS, AND COMPUTING ENTITIES Embodiments of the present disclosure may be implemented in various ways, including as a computer program product comprising an article of manufacture. Such a computer program product may include one or more software components, including, for example, software objects, methods, data structures, or the like. The software components may be coded in any of a variety of programming languages. An exemplary programming language may be a low-level programming language, such as assembly language, associated with a particular hardware architecture and / or operating system platform. Software components comprising assembly language instructions may require conversion by an assembler into executable machine code before execution by the hardware architecture and / or platform. Another exemplary programming language may be a high-level programming language that may be portable across multiple architectures. Software components comprising high-level programming language instructions may require conversion to an intermediate representation by an interpreter or compiler before execution.
[0112] Other examples of programming languages include, but are not limited to, macro languages, shell or command languages, job control languages, scripting languages, database query or search languages, and / or report writing languages. In one or more exemplary embodiments, a software component comprising instructions in one of the foregoing examples of programming languages may be executed directly by an operating system or other software component without first having to be converted into another format. Software components may be stored as files or other data storage structures. Software components of similar types or that are functionally related may be stored together, for example, in a particular directory, folder, or library. Software components may be static (e.g., pre-established or fixed) or dynamic (e.g., created or modified at run time).
[0113] A computer program product may include a non-transitory computer-readable storage medium that stores applications, programs, program modules, scripts, source code, program code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and / or the like (also referred to herein as executable instructions, instructions for execution, computer program product, program code, and / or similar terms used interchangeably herein). Such non-transitory computer-readable storage media includes all computer-readable media (including volatile and non-volatile media).
[0114] In one embodiment, the non-volatile computer-readable storage medium may include a floppy disk, a flexible disk, a hard disk, a solid-state storage (SSS) (e.g., a solid-state drive (SSD), a solid-state card (SSC), a solid-state module (SSM), an enterprise flash drive, a magnetic tape, or any other non-transitory magnetic medium, and / or the like. The non-volatile computer-readable storage medium may also include punch cards, paper tape, optical mark sheets (or any other physical medium with a pattern of holes or other optically recognizable indicia), a compact disk read-only memory (CD-ROM), a compact disk rewritable (CD-RW), a digital barcode reader (DBL), a digital video recorder (DVLC ... Such non-volatile computer-readable storage media may include DVDs, Blu-ray Discs (BDs), any other non-transitory optical media, and / or the like. Such non-volatile computer-readable storage media may also include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory (e.g., Serial, NAND, NOR, and / or the like), multimedia memory cards (MMC), secure digital (SD) memory cards, smart media cards, compact flash (CF) cards, memory sticks, and / or the like.Additionally, the non-volatile computer readable storage medium may also include conductive bridge random access memory (CBRAM), phase change random access memory (PRAM), ferroelectric random access memory (FeRAM), non-volatile random access memory (NVRAM), magnetoresistive random access memory (MRAM), resistive random access memory (RRAM), silicon-oxide-nitride-oxide-silicon memory (SONOS), floating junction gate random access memory (FJG RAM), millipede memory, racetrack memory, and / or the like.
[0115] In one embodiment, the volatile computer readable storage medium is a random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), fast page mode dynamic random access memory (FPM DRAM), extended data out dynamic random access memory (EDO DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), double data rate type 2 synchronous dynamic random access memory (DDR2 SDRAM), double data rate type 3 synchronous dynamic random access memory (DDR3 SDRAM), or the like. The memory may include memory types such as SDRAM, Rambus Dynamic Random Access Memory (RDRAM), Twin Transistor RAM (TTRAM), Thyristor RAM (T-RAM), Zero-Capacitor RAM (Z-RAM), Rambus Inline Memory Modules (RIMM), Dual Inline Memory Modules (DIMM), Single Inline Memory Modules (SIMM), Video Random Access Memory (VRAM), cache memory (including various levels), flash memory, register memory, and / or the like. Where embodiments are described that utilize a computer-readable storage medium, it will be understood that other types of computer-readable storage media may be used in place of or in addition to the computer-readable storage media described above.
[0116] As will be recognized, various embodiments of the present disclosure may also be embodied as methods, apparatus, systems, computing devices, computing entities, and / or the like. Accordingly, embodiments of the present disclosure may take the form of a data structure, an apparatus, a system, a computing device, a computing entity, and / or the like that executes instructions stored on a computer-readable storage medium to perform certain steps or operations. Accordingly, embodiments of the present disclosure may also take the form of an entirely hardware embodiment, an entirely computer program product embodiment, and / or an embodiment comprising a combination of a computer program product and hardware that performs certain steps or operations.
[0117] Embodiments of the present disclosure are described below with reference to block diagrams, flowchart diagrams, messaging flows, and other representations of data, operations, and messaging schemes. It should be understood that each block, arrow, and / or the like of the diagrams, flowchart diagrams, etc. may be implemented in the form of a computer program product, an entirely hardware embodiment, a combination of hardware and computer program product, and / or an apparatus, system, computing device, computing entity, and / or the like that executes instructions, operations, steps, and similar terms used interchangeably (e.g., executable instructions, instructions for execution, program code, and / or the like) on a computer-readable storage medium for execution. For example, fetching, loading, and execution of code may be performed sequentially, such that one instruction is fetched, loaded, and executed at a time. In some exemplary embodiments, fetching, loading, and / or execution may be performed in parallel, such that multiple instructions are fetched, loaded, and / or executed together. Accordingly, such embodiments may produce a specifically configured machine that performs the steps or operations specified in the representations of the present disclosure. Thus, the expressions of this disclosure support various combinations of embodiments for implementing the specified instructions, acts, or steps.
[0118] IV. Exemplary System Architecture FIG. 1 provides an illustration of a computing ecosystem 100 that may be used with various embodiments of the present disclosure. As shown in FIG. 1, the architecture may include an exchange platform 102, one or more client devices 104, a network of member platforms 110, one or more networks 120, and / or the like. The network of member platforms 110 may include a first member platform 112a, a second member platform 112b, a third member platform 112c, and / or the like that are attached (e.g., registered, etc.) to the exchange platform 102. For example, as described herein, the network of member platforms 110 may include a partner platform and / or a service provider platform. In some examples, the partner platform may include a first member platform 112a, and the service provider platform may include a second member platform 112b that is different from the first member platform 112a. In some examples, a partner platform and / or a service provider platform may include a single member platform (e.g., third member platform 112c). In some examples, the network of member platforms 110 may be configured for one or more different services.
[0119] Each of the components of computing ecosystem 100 may be in electronic communication with one another, e.g., via the same or different wireless or wired networks 120, including, e.g., a wired or wireless personal area network (PAN), local area network (LAN), metropolitan area network (MAN), wide area network (WAN), or the like. Networks 120 may include, e.g., any type of network and / or any network connection spanning any geographic boundary (e.g., an inter-country connection involving one or more sovereign entities, etc.). Additionally, while FIG. 1 illustrates certain systems as separate, stand-alone entities, various embodiments are not limited to this particular architecture.
[0120] Although not explicitly illustrated, exchange platform 102 may be a client device 104 and / or may be part of network of member platforms 110. Additionally or alternatively, member platforms 112a-c may be part of client device 104 and / or exchange platform 102. In some embodiments, exchange platform 102 and / or each of member platforms 112a-c may comprise the same computing platform.
[0121] a. Exemplary Computing Platform 2 is an exemplary schematic diagram of a computing platform 200 in accordance with one or more embodiments of the present disclosure. A computing platform 200, such as exchange platform 102, member platforms 112a-c, and / or the like of FIG. 1, may include or be in communication with one or more processing elements 202 (also referred to as processors, processing circuitry, and / or similar terms used interchangeably herein) that communicate with other elements within computing platform 200 via, for example, a bus. Of course, processing elements 202 may be embodied in a number of different manners.
[0122] For example, processing element 202 may be embodied as one or more complex programmable logic devices (CPLDs), microprocessors, multicore processors, coprocessing entities, application-specific instruction set processors (ASIPs), microcontrollers, and / or controllers. Additionally, processing element 202 may be embodied as one or more other processing devices or circuitry. The term circuitry may refer to an entirely hardware embodiment or a combination of hardware and a computer program product. Thus, processing element 202 may be embodied as an integrated circuit, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic array (PLA), a hardware accelerator, other circuitry, and / or the like.
[0123] It will be appreciated, therefore, that processing element 202 may be configured for a particular use or configured to execute instructions stored on volatile or non-volatile media or otherwise accessible to processing element 202. Thus, whether configured by hardware or a computer program product, or a combination thereof, processing element 202 may be capable of performing steps or operations according to embodiments of the present disclosure when configured, as appropriate.
[0124] In some embodiments, computing platform 200 includes or is in communication with non-volatile memory 204 (also referred to as non-volatile storage, media, memory storage, memory circuitry, and / or similar terms used interchangeably herein). In some examples, non-volatile memory 204 may include one or more non-volatile storage or memory media, including, but not limited to, a hard disk, ROM, PROM, EPROM, EEPROM, flash memory, MMC, SD memory card, memory stick, CBRAM, PRAM, FeRAM, NVRAM, MRAM, RRAM, SONOS, FJG RAM, Millipede memory, Racetrack memory, and / or the like.
[0125] As will be appreciated, the non-volatile memory 204 may store data, databases, database instances, database management systems, files, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and / or the like. The terms database, database instance, database management system, and / or similar terms used interchangeably herein may refer to a collection of records or data stored in a computer-readable storage medium using one or more database models, such as a hierarchical database model, a network model, a relational model, an entity-relationship model, an object model, a document model, a semantic model, a graph model, and / or the like.
[0126] In some embodiments, computing platform 200 includes or is in communication with volatile memory 206 (also referred to as volatile storage, media, memory storage, memory circuitry, and / or similar terms used interchangeably herein). In some examples, volatile memory 206 may also include one or more volatile storage or memory media, including, but not limited to, RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, TTRAM, T-RAM, Z-RAM, RIMM, DIMM, SIMM, VRAM, cache memory, register memory, and / or the like.
[0127] As will be appreciated, the volatile memory 206 may be used to store at least a portion of, for example, a database, a database instance, a database management system, data, an application, a program, a program module, a script, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and / or the like, executed by the processing element 202. Thus, the database, the database instance, the database management system, data, an application, a program, a program module, a script, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and / or the like may be used to control certain aspects of the steps / operations of the computing platform 200 with the assistance of the processing element 202 and the operating system.
[0128] As shown, in one embodiment, computing platform 200 also includes one or more network interfaces 208 for communicating with various computing entities (e.g., one or more components of FIG. 1 ), such as by communicating data, content, information, and / or similar terms used interchangeably herein, which may be transmitted, received, operated on, processed, displayed, stored, and / or the like. Such communication may be performed using a wired data transmission protocol, such as Fiber Distributed Data Interface (FDDI), Digital Subscriber Line (DSL), Ethernet, Asynchronous Transfer Mode (ATM), Frame Relay, Data Over Cable Service Interface Specification (DOCSIS), or any other wired transmission protocol. Similarly, computing platform 200 may communicate with other networks, such as General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), and other networks. The mobile station may be configured to communicate over a wireless external communications network using any of a variety of protocols, such as 1X (1xRTT), Wideband Code Division Multiple Access (WCDMA), Global System for Mobile Communications (GSM), Enhanced Data Rates for GSM Evolution (EDGE), Time Division Synchronous Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), Evolved Universal Terrestrial Radio Access Network (E-UTRAN), Evolution Data Optimized (EVDO), High Speed Packet Access (HSPA), High Speed Downlink Packet Access (HSDPA), IEEE 802.11 (Wi-Fi), Wi-Fi Direct, 802.16 (WiMAX), Ultra Wideband (UWB), Infrared (IR) protocol, Near Field Communication (NFC) protocol, Wibree, Bluetooth protocol, Wireless Universal Serial Bus (USB) protocol, and / or any other wireless protocol.
[0129] Although not shown, computing platform 200 may include or be in communication with one or more input elements, such as keyboard input, mouse input, touch screen / display input, motion input, movement input, audio input, pointing device input, joystick input, keypad input, and / or the like. Computing platform 200 may also include or be in communication with one or more output elements (not shown), such as audio output, video output, screen / display output, motion output, movement output, and / or the like.
[0130] As shown, computing platform 200 may be an example of one or more of the components of FIG. 1, such as exchange platform 102 and / or member platforms 112a-c.
[0131] b. Exemplary Client Device 3 is an example schematic diagram of a client device 104 in accordance with one or more embodiments of the present disclosure. The client device 104 may be operated by various entities, and an example computing ecosystem may include one or more client devices 104. For example, the client device 104 may be associated with, owned by, operated by, and / or performed by one or more end users. In various embodiments, an end user of the client device 104 may wish to engage in a value exchange between a partner and a service provider. As described herein, the user may do so by interacting with one or more functionalities provided by an exchange platform through user input using the client device 104.
[0132] For example, client device 104 may be a personal computing device, a smartphone, a tablet, a laptop, a personal digital assistant, and / or the like. In various embodiments, computing platform 200 may communicate with one or more client devices 104 and manage value exchanges with one or more client devices 104. As shown in FIG. 3 , client device 104 may include an antenna 312, a transmitter 304 (e.g., wireless), a receiver 306 (e.g., wireless), and a processing element 308 (e.g., a CPLD, a microprocessor, a multi-core processor, a co-processing entity, an ASIP, a microcontroller, and / or a controller) that provide signals to and receive signals from transmitter 304 and receiver 306, respectively.
[0133] The signals provided to and received from the transmitter 304 and receiver 306 may each include signaling information / data in accordance with the air interface standard of the applicable wireless system. In this regard, the client device 104 may be capable of operating with one or more air interface standards, communication protocols, modulation types, and access types. More particularly, the client device 104 may operate according to any of several wireless communication standards and protocols, such as those described above with respect to the computing platform 200. In particular embodiments, the client device 104 may operate according to numerous wireless communication standards and protocols, such as UMTS, CDMA2000, 1xRTT, WCDMA, GSM, EDGE, TD-SCDMA, LTE, E-UTRAN, EVDO, HSPA, HSDPA, Wi-Fi, Wi-Fi Direct, WiMAX, UWB, IR, NFC, Bluetooth, USB, and / or the like. Similarly, the client device 104 may operate, via the network interface 320, according to numerous wired communication standards and protocols, such as those described above with respect to the computing platform 200.
[0134] Through these communication standards and protocols, client device 104 may communicate with computing platform 200 using concepts such as Unstructured Supplementary Service Data (USSD), Short Message Service (SMS), Multimedia Messaging Service (MMS), Dual Tone Multi-Frequency Signaling (DTMF), and / or Subscriber Identity Module Dialer (SIM Dialer). Client device 104 may also download modifications, add-ons, and updates to its firmware, software (including, e.g., executable instructions, applications, program modules), and operating system, for example.
[0135] In some embodiments, the client device 104 includes location determination aspects, devices, modules, functions, and / or similar terms used interchangeably herein. For example, the client device 104 may include an outdoor positioning aspect, such as a location module adapted to acquire latitude, longitude, altitude, geocode, course, direction, orientation, speed, Universal Time (UTC), date, and / or various other information / data. In one embodiment, the location module may acquire data, sometimes known as ephemeris data, by identifying the number of satellites in view and the relative positions of these satellites (e.g., using a Global Positioning System (GPS)). The satellites may be a variety of different satellites, including a Low Earth Orbit (LEO) satellite system, a Department of Defense (DOD) satellite system, a European Union Galileo Positioning System, a Chinese Compass Navigation System, an Indian Regional Navigational Satellite System, and / or the like. This data may be collected using various coordinate systems, such as decimal degrees (DD), degrees, minutes, and seconds (DMS), Universal Transverse Mercator (UTM), Universal Polar Stereographic (UPS) coordinate systems, and / or the like. Alternatively, location information / data may be determined by triangulating the position of the client device 104 relative to various other systems, including cellular towers, Wi-Fi access points, and / or the like. Similarly, the client device 104 may include indoor positioning aspects, such as a location module adapted to acquire, for example, latitude, longitude, altitude, geocode, heading, direction, orientation, speed, time, date, and / or various other information / data. Some indoor systems may use various position or location technologies, including RFID tags, indoor beacons or transmitters, Wi-Fi access points, cellular towers, nearby computing devices (e.g., smartphones, laptops), and / or the like.For example, such technologies may include iBeacons®, Gimbal proximity beacons, Bluetooth Low Energy (BLE) transmitters, NFC transmitters, and / or the like. These indoor positioning aspects may be used in a variety of environments to determine someone or something's location down to the inch or centimeter.
[0136] In some embodiments, the client device 104 may include a user interface 316 (e.g., a display screen, a speaker, haptic mechanization, etc., coupled to the processing element 308) and / or a user input interface 318 (e.g., a touch screen, a microphone, etc., coupled to the processing element 308). For example, the user interface 316 may be one or more current application screens presented by one or more computing platforms described herein. The user input interface 318 may include any of several devices or interfaces that enable the client device 104 to receive data, such as a keypad (hard or soft), a touch display, a voice / speech or motion interface, or other input device. In examples including a keypad, the keypad may include (or cause the display of) traditional numbers (0-9) and related keys (#, *), as well as other keys used to operate the client device 104, and may include a full set of alphabetic keys or a set of keys that can be activated to provide a full set of alphanumeric keys. In addition to providing input, the user input interface may be used to activate or deactivate certain features, such as a screen saver and / or sleep mode.
[0137] The client device 104 may also include volatile memory 322 and / or nonvolatile memory 324, which may be embedded and / or removable. For example, the nonvolatile memory 324 may be ROM, PROM, EPROM, EEPROM, flash memory, MMC, SD memory card, memory stick, CBRAM, PRAM, FeRAM, NVRAM, MRAM, RRAM, SONOS, FJG RAM, Millipede memory, Racetrack memory, and / or the like. The volatile memory 322 may be RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, TTRAM, T-RAM, Z-RAM, RIMM, DIMM, SIMM, VRAM, cache memory, registered memory, and / or the like. The volatile and non-volatile storage or memory may store databases, database instances, database management systems, data, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine language, executable instructions, and / or the like to implement the functionality of the client device 104. As shown, this may include partner applications, service provider applications, and / or the like that are resident on the client device 104 and / or accessible through a browser or other user interface to communicate with the computing platform 200.
[0138] In some embodiments, client device 104 may include one or more components or functionality that are the same as or similar to those of computing platform 200, as described in more detail above. It should be recognized that these architectures and descriptions are provided for purposes of example only and are not limiting of various embodiments.
[0139] In various embodiments, the client device 104 may be embodied as an artificial intelligence (AI) computing entity, such as an Amazon Echo, an Amazon Echo Dot, an Amazon Show, a Google Home, and / or the like. Accordingly, the client device 104 may be configured to provide and / or receive information / data from an end user via input / output mechanisms, such as a display, a camera, a speaker, voice-activated input, and / or the like. In particular embodiments, the AI computing entity may comprise one or more predefined and executable program algorithms stored within an on-board memory storage module and / or accessible over a network. In various embodiments, the AI computing entity may be configured to retrieve and / or execute one or more of the predefined program algorithms upon the occurrence of a predefined trigger event.
[0140] c. Exemplary Network 1 may be configured to communicate with one another via respective communicative couplings to one or more networks 120. Networks 120 may include any one or combination of different types of suitable communications networks, such as, but not limited to, a cable network, a public network (e.g., the Internet), a private network (e.g., a frame relay network), a wireless network, a cellular network, a telephone network (e.g., the Public Switched Telephone Network), or any other suitable private and / or public network. Furthermore, networks 120 may have any suitable communications range associated with them and may include, for example, a global network (e.g., the Internet), a MAN, a WAN, a LAN, or a PAN. Additionally, network 120 may include any type of medium over which network traffic may be carried, including, but not limited to, coaxial cable, twisted pair wire, optical fiber, hybrid fiber coaxial (HFC) medium, microwave terrestrial transceiver, radio frequency communication medium, satellite communication medium, or any combination thereof, as well as various network devices and computing platforms provided by network providers or other entities.
[0141] d. Exemplary Value Exchange System FIG. 4 is an exemplary block diagram of an exemplary network-based exchange system 400 in accordance with one or more embodiments of the present disclosure. The network-based exchange system 400 includes a new computing ecosystem and computing platform that provides an end-to-end value exchange solution to replace traditional exchange processing systems. As described herein, the network-based exchange system 400 may be value-system agnostic and may be applied to any value-based exchange, including, by way of example, an information-based exchange, a financial-based exchange, a reputation-based exchange, a healthcare-based exchange, a benefit-based exchange, and / or the like. In any value system, the network-based exchange system 400 may utilize an intermediary entity and one or more predefined communication interfaces to facilitate network-based exchanges between value-seeking entities (e.g., partners) and value-providing entities (e.g., service providers), which may be associated with one or more member platforms of the network-based exchange system 400.
[0142] As depicted, network-based exchange system 400 may include exchange platform 102, partner platform 420, and / or service provider platform 440, which may be configured to communicate through one or more exchange interfaces. Partner platform 420 and / or service provider platform 440 may include one or more member platforms 112a-c from network of member platforms 110. For example, partner platform 420 and service provider platform 440 may include a single member platform (e.g., member platform 112c). Additionally or alternatively, partner platform 420 and service provider platform 440 may include one or more different member platforms (e.g., member platforms 112a and 112b). In some examples, a user may interact with one or more of the platforms through a client device 104.
[0143] In some embodiments, the exchange platform 102 is a computing entity configured to facilitate the credential-less exchange of value for one or more members in a network. The exchange platform 102 may include one or more processing devices, memory devices, and / or the like, physically and / or wirelessly coupled and configured to collectively (and / or individually) perform one or more computing tasks to facilitate a value system-agnostic exchange. In some examples, the exchange platform 102 may include, define, and / or otherwise utilize one or more exchange interfaces for facilitating communication (e.g., requests, responses, etc.) between multiple members. As described herein, the interfaces may be utilized to facilitate secure exchange between one or more members in any value system.
[0144] In some embodiments, members are entities that collaborate with the exchange platform 102 to participate in a value exchange. By way of example, members may include (i) partners that utilize the exchange platform 102 to receive value, (ii) service providers that utilize the exchange platform 102 to provide value, and / or (iii) both partners and service providers. As used herein, members may be referred to as partners when they receive value through a value exchange and / or service providers when they provide value through a value exchange. Thus, depending on the member's role in the value exchange, the same member may be both a partner and a service provider. For example, a member may be a partner that receives value for a value exchange. The same member may be a service provider that provides value in another value exchange. In some examples, the same member may be both a partner and a service provider in the same value exchange; thus, the member may provide value in only one member's value exchange and then utilize the exchange platform 102 to receive value.
[0145] In some embodiments, a member is a partner when it utilizes a service provided by a service provider. A partner may include any value-seeking entity in any value system. By way of example, in a financial value system, a partner may include a merchant (e.g., a retailer, a brick-and-mortar establishment, etc.) that may utilize a service provider, such as a financial institution, to access funds for financial transactions. Additionally or alternatively, in an information value system, a partner may include a news publisher (e.g., a newspaper, a news organization, etc.) that may utilize a service provider, such as a news agency (e.g., a wire service, a news service, etc.), to access information for information transactions. In a healthcare value system, a partner may include a healthcare provider that may access a healthcare benefits administrator to access medical benefits to fund medical procedures. Of course, the techniques of this disclosure may be applied to any value system, and a partner may include any value seeker for any respective value system.
[0146] In some embodiments, a member is a service provider when it provides a service to a partner. A service provider can include a source of value in any value system. By way of example, in a financial value system, a service provider can include a financial institution (e.g., a bank, exchange, credit union, etc.) that can provide access to funds for financial transactions between one or more entities. Additionally or alternatively, in an information value system, a service provider can include a news agency (e.g., a wire service, news service, etc.) that can source information for publication by a news publisher. In a healthcare value system, a service provider can include a healthcare benefits administrator that can provide healthcare providers with access to healthcare benefits. Of course, the techniques of this disclosure may be applied to any value system, and a service provider can include any source of value for any respective value system.
[0147] In some embodiments, a service provider instrument is a mechanism utilized by a service provider to provide value on behalf of a particular user. The service provider instrument may depend on the value system and / or the service provider. In some examples, the service provider instrument may include a service provider account. For example, in a financial value system, the service provider instrument may include a bank account (e.g., checking, savings, etc.), a brokerage account, a line of credit, and / or the like. In an information value system, the service provider instrument may include a subscriber account and / or the like. In a healthcare value system, the service provider instrument may include a healthcare benefit account and / or the like.
[0148] In some embodiments, the services provided by a service provider are subject to one or more policies. For example, a service provider may be associated with one or more member policies that enable use of service provider instruments maintained by the service provider.
[0149] For example, a service provider and / or its service provider instrument may be associated with an entity that governs the use of one or more services provided by the service provider. As an example, a service provider may facilitate Electronic Benefit Transfer (EBT) systems, such as the Supplemental Nutrition Assistance Program ("SNAP"), Temporary Assistance for Needy Families ("TANF"), Special Supplemental Nutrition Program for Women, Infants, and Children ("WIC"), and / or the like, which provide financial assistance for authorized food and household items. As another example, a service provider may facilitate health care plans on behalf of a health care provider that restrict benefits by health care eligibility, procedure code, procedure location, and / or the like.
[0150] Additionally or alternatively, a service provider may govern the use of its own services. For example, a service provider may maintain a service provider instrument for the service provider's users. The service provider may restrict the service provider instrument on behalf of the users, on behalf of one or more internal policies, and / or the like. As an example, a service provider may include a financial institution that allows one or more users to restrict access to funds provided by the financial institution. In this manner, users may provide limited access to the service provider instrument by establishing one or more member policies for the service provider instrument.
[0151] Service providers and partners may communicate through one or more respective member platforms each associated with the entity. As one example, a service provider may be associated with service provider platform 440, and a partner may be associated with partner platform 420.
[0152] In some embodiments, a member platform is a computing entity corresponding to a member associated with the exchange platform 102. A member platform may include a partner platform 420 acting on behalf of a partner, a service provider platform 440 acting on behalf of a service provider, and / or both. In some examples, a member platform may be both a partner platform 420 and a service provider platform 440. For example, the same member platform may be configured to operate on behalf of a partner for one value exchange and a service provider for another value exchange. In some examples, the same member platform may be configured to operate on behalf of both a partner and a service provider in a single value exchange. It is noted that the term member platform may refer to the partner platform 420, the service provider platform 440, or both, and in some examples may depend on the role of the member platform in the value exchange (e.g., and / or the interface or interfaces utilized by the member platform in the value exchange).
[0153] In some embodiments, partner platform 420 is a computing entity configured to perform one or more operations on behalf of a partner. Partner platform 420 may include one or more processing devices, memory devices, and / or the like, physically and / or wirelessly coupled and configured to collectively (and / or individually) perform one or more computing tasks, for example, to request value in a value-system-agnostic exchange. In some examples, partner platform 420 may include, define, and / or otherwise utilize one or more exchange interfaces to facilitate communication (e.g., requests, responses, etc.) with exchange platform 102. In some examples, partner platform 420 may be configured to host one or more user-facing applications (e.g., partner applications, etc.) for interacting with one or more users.
[0154] The partner platform 420 may host an online marketplace for partners, enabling users to interact (e.g., search, browse, purchase, return, etc.) with one or more products or services offered by the partners, for example, in a financial value system. In the case of a product purchase, the partner platform 420 may collaborate with one or more service providers to access funds for the purchase. Traditionally, access to funds from service providers is facilitated using card numbers, account numbers, and / or other financial credentials, which may expose users to malicious parties. To address network security and data privacy concerns for traditional financial systems (and / or other value-based systems), the partner platform 420 may register with the exchange platform 102 by configuring one or more software development kits (SDKs), APIs, and / or the like to facilitate communication with the exchange platform 102. For example, the partner platform 420 may include, define, and / or otherwise utilize one or more partner interfaces 402 to facilitate communication (e.g., requests, responses, etc.) with the exchange platform 102.
[0155] In some embodiments, service provider platform 440 is a computing entity configured to perform one or more operations on behalf of a service provider. Service provider platform 440 may include one or more processing devices, memory devices, and / or the like, physically and / or wirelessly coupled and configured to collectively (and / or individually) perform one or more computing tasks for providing value in a value-system-agnostic exchange, for example. In some examples, service provider platform 440 may include, implement, and / or otherwise utilize one or more interfaces for facilitating communication (e.g., requests, responses, etc.) with exchange platform 102. In some examples, service provider platform 440 may be configured to facilitate one or more service provider instruments. In some examples, service provider platform 440 may be configured to host one or more user-facing applications (e.g., service provider applications, etc.) for managing one or more service provider instruments.
[0156] In some examples, the service provider platform 440 may maintain one or more financial assets (e.g., a line of credit, a bank account, etc.) that allow a user to fund an exchange to purchase a product from a partner, for example, in a financial value system. In the case of a product purchase, the service provider platform 440 may collaborate with the partner platform 420 to authorize the exchange and / or otherwise provide access to the funds for the purchase. Traditionally, access to funds from a service provider is facilitated by submitting a card number, account number, and / or another financial credential to the service provider platform 440, which may expose the user, service provider, or partner to malicious parties, especially when provided over an insecure network (e.g., a public network, and / or the like). To address network security and data privacy concerns for traditional financial systems (and / or other value-based systems), service provider platform 440 may register with exchange platform 102 by configuring one or more software development kits (SDKs), APIs, and / or the like to facilitate communication with exchange platform 102. For example, service provider platform 440 may include, implement, and / or otherwise utilize one or more service provider interfaces 404 to facilitate communication (e.g., requests, responses, etc.) with exchange platform 102.
[0157] As described herein, the service provider interface 404 can enable the exchange platform 102 to identify and request the use of service provider instruments to facilitate transactions. For example, the service provider platform 440 can be configured to facilitate one or more service provider instruments. In some examples, a service provider instrument can include a virtual instrument (e.g., a virtual account, a credit limit, etc.) hosted by the service provider platform 440. For example, the service provider platform 440 can be configured to maintain multiple instrument data objects that represent multiple service provider instruments for multiple attached entities.
[0158] In some embodiments, an instrument data object is a data entity that represents a service provider instrument. The instrument data object may include one or more instrument identifiers and / or one or more instrument attributes. In some examples, the one or more instrument identifiers and / or one or more instrument attributes may be based at least in part on the type of the instrument data object. By way of example, a service provider instrument may be represented in a member platform (e.g., service provider platform 440) as a member instrument data object. Additionally or alternatively, a service provider instrument may be independently represented by a system instrument data object in the exchange platform 102. In some examples, the member instrument data object and the system instrument data object may include one or more of the same instrument identifier(s) and / or instrument attribute(s). As an example, a member platform may register multiple service provider instruments with the exchange platform 102 (e.g., using the service provider interface 404). During registration, the member platform (e.g., the service provider platform 440) may provide one or more of the instrument identifiers and / or instrument attributes, and in some examples, the exchange platform 102 may return another identifier.
[0159] In some embodiments, a member instrument data object is an internal representation of a service provider instrument within a member platform, such as service provider platform 440. The member instrument data object may include one or more instrument identifiers, such as a member instrument identifier, an instrument key from exchange platform 102, and / or a user identifier. The user identifier may include, for example, a member user identifier, as described herein. Additionally or alternatively, the member instrument data object may include one or more instrument attributes, such as an instrument type (e.g., credit-based instrument, debit-based instrument, information-based instrument, etc.), an instrument representation, and / or one or more context attributes. In some examples, the context attributes may depend on the value system. For example, in a financial value system, one or more context attributes may indicate (i) the currency associated with the service provider instrument, (ii) asset availability (e.g., balance, coverage, etc.) of the service provider instrument, (iii) one or more previous transactions with the service provider instrument, and / or the like.
[0160] In some embodiments, a system instrument data object is an external representation of a service provider instrument within the exchange platform 102. A system instrument data object may include one or more instrument identifiers, such as a member platform instrument reference, a system instrument identifier, and / or a user identifier. A user identifier may include, for example, a system user identifier, as described herein. Additionally or alternatively, a system instrument data object may include one or more instrument attributes, such as an instrument type (e.g., a credit-based instrument, a debit-based instrument, an information-based instrument, etc.), an instrument representation, and / or one or more context attributes. In some examples, the context attributes may depend on the value system. For example, in a monetary value system, one or more context attributes may indicate a currency associated with the service provider instrument.
[0161] In some examples, a member platform, such as partner platform 420 and / or service provider platform 440, may be associated with user-facing applications to facilitate one or more interactions with users and / or other attached entities (e.g., through client devices 104).
[0162] In some embodiments, a user-facing application is a computer program hosted by a computing entity for facilitating one or more user interactions. A user-facing application may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for a computing entity, such as a member platform. For example, a user-facing application may facilitate communication between a member and a user. As an example, a user-facing application may be configured to present one or more user interfaces 406 (e.g., via a client device 104) for interacting with a user on behalf of the member. In some examples, a user-facing application may be configured to receive user input (e.g., via one or more user interfaces 406) for receiving information from a user.
[0163] In some embodiments, the user-facing application is a partner application 416 hosted by a partner platform (e.g., a member platform acting as a partner for a particular exchange) to facilitate functionality for the partner. The partner application may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for the partner. In some examples, the partner application 416 may consist of one or more devices (e.g., point-of-sale terminals, etc.) from a stand-alone partner establishment (e.g., a brick-and-mortar bank, etc.). For example, the partner application 416 may be configured to present one or more user interfaces 406 for interacting (e.g., browsing, purchasing, reviewing, etc.) with one or more products offered by a retail-based partner, one or more units of information offered by an information-based partner, and / or the like. In some examples, the partner application 416 may be configured to receive user input (e.g., via one or more user interfaces 406) to receive information from a user.
[0164] In some embodiments, the service provider platform 440 is configured to host one or more service provider applications 418 for managing one or more service provider instruments. For example, a user-facing application may be a service provider application 418 hosted by the service provider platform 440 (e.g., a member platform acting as a service provider for a particular exchange) to facilitate functionality for the service provider. In some examples, the service provider application 418 may consist of one or more devices from a stand-alone service provider facility (e.g., a brick-and-mortar bank). The service provider application 418 may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for the service provider. For example, the service provider application 418 may be configured to present one or more user interfaces for interacting (e.g., probing, managing, inspecting, registering, etc.) with one or more service provider instruments facilitated by the service provider. By way of example, in a financial value system, the service provider application 418 may enable access to bank accounts, brokerage accounts, lines of credit, and / or the like to manage funds, assets, and / or the like handled by the respective accounts. In some examples, the service provider application 418 may be configured to receive user input (e.g., via one or more user interfaces 406) to receive information, authorizations, and / or the like from the user.
[0165] In some embodiments, the exchange platform 102 facilitates communication between the partner platform 420 and the service provider platform 440 using one or more exchange interfaces.
[0166] In some embodiments, the exchange interface is a set of instructions for facilitating communication between the exchange platform 102 and one or more member platforms and / or internal services. The exchange interface may include an API, a file-based interface, a message queue-based interface, and / or the like. For example, the exchange interface may include an API, including, by way of example, one or more Simple Object Access Protocol (SOAP) APIs, one or more Remote Procedure Call (RPC) APIs, one or more WebSocket APIs, one or more Representational State Transfer (REST) APIs, and / or the like. In some embodiments, the exchange interface may include one or more RPC APIs, such as one or more gRPC APIs.
[0167] Exchange platform 102 may include, define, and / or otherwise utilize one or more different exchange interfaces to facilitate communication with one or more external platforms, such as one or more member platforms (e.g., partner platform 420, service provider platform 440, etc.). Each interface may include multiple communication instructions, message definitions, and / or the like for exchanging requests and / or responses between exchange platform 102 and entities participating in the value exchange. By way of example, the exchange interface may include partner interface 402 for facilitating communication with partner platform 420 and / or service provider interface 404 for facilitating communication with service provider platform 440.
[0168] In some embodiments, partner interface 402 is an exchange interface for facilitating one or more communications between partner platform 420 and exchange platform 102. Partner interface 402 may define one or more communication instructions, message definitions, and / or the like for facilitating one or more request and / or response messages between partner platform 420 and exchange platform 102. Partner interface 402 may include, for example, an API that defines (i) requests from a computing entity functioning as partner platform 420 to exchange platform 102 and / or (ii) requests from exchange platform 102 to partner platform 420. For example, partner interface 402 may define one or more registration messages, session messages, transaction messages, and / or the like for facilitating a value exchange for a partner. In some embodiments, partner interface 402 defines one or more identifiers for securely identifying one or more portions of a value exchange.
[0169] In some embodiments, service provider interface 404 is an exchange interface for facilitating one or more communications between service provider platform 440 and exchange platform 102. Service provider interface 404 may define one or more communication instructions, message definitions, and / or the like for facilitating one or more request and / or response messages between service provider platform 440 and exchange platform 102. Service provider interface 404 may include, for example, an API that defines (i) requests from a computing entity functioning as service provider platform 440 to exchange platform 102 and / or (ii) requests from exchange platform 102 to service provider platform 440. Service provider interface 404 may define, for example, one or more registration messages, session messages, transaction messages, and / or the like for facilitating value exchange using service provider instruments. In some embodiments, service provider interface 404 defines one or more identifiers for securely identifying one or more portions of a value exchange.
[0170] The exchange platform 102 can facilitate communication among a network of member platforms. For example, the member network can include multiple entities that are on-boarded with the exchange platform 102, such as by registering with the exchange platform 102, configuring their respective interfaces for communicating with the exchange platform 102, and / or the like. In some examples, the exchange platform 102 can execute one or more individual services to interact with each on-board entity. The individual services can include, for example, one or more partner services 410 and / or service provider services 412.
[0171] In some embodiments, exchange platform 102 instantiates a separate partner-specific service, partner service 410, for each of the member's networks. Additionally or alternatively, for example, in a multi-tenant environment, partner service 410 may be instantiated for one or more partners from a network or member. Partner service 410 may be configured to perform one or more exchange operations for resolving exchange requests from partner platform 420. In some embodiments, exchange platform 102 instantiates a separate service provider-specific service, service provider service 412, for each of the member's networks. Additionally or alternatively, for example, in a multi-tenant environment, service provider service 412 may be instantiated for one or more service providers from a member's network. Service provider service 412 may be configured to perform one or more exchange operations for obtaining and resolving exchange requests from partner platform 420. The exchange operations may include any of the steps and / or actions described herein.
[0172] In some embodiments, partner services 410 and / or service provider services 412 interact with each other and / or one or more other components of exchange platform 102 through one or more local communication mechanisms to perform exchange operations. For example, exchange platform 102 may include an activation service 408. Activation service 408 may be configured to perform one or more activation operations of the present disclosure to activate one or more objects of an exchange request. In this manner, exchange platform 102 may pre-process objects of an exchange request on behalf of member platforms.
[0173] In some embodiments, the activation service 408 is configured to identify one or more restricted objects from the exchange request and activate the restricted objects based at least in part on user attributes and / or exchange location corresponding to the exchange request. In some examples, the activation service 408 can identify and / or activate the restricted objects based at least in part on the recorded data objects 422 and / or one or more acquisition restrictions 424.
[0174] In some embodiments, recorded data object 422 is a data object that represents an object that may be involved in a value-based exchange. In some examples, recorded data object 422 may be an internal representation of an object for an exchange platform. For example, the object may include an entirely different unit of a value-based exchange between which value is being transferred. Recorded data object 422 for an object may include a data object that records one or more aspects of the object (e.g., object identifier, object genus, etc.).
[0175] For example, the recorded data object 422 may include an object identifier and / or one or more object attributes of a particular object associated with a value system. The object may be based at least in part on a value system. For example, in a financial value system, the object may be a tangible or intangible item, product, and / or the like that may be purchased in exchange for a unit of currency. In a healthcare value system, the object may be a healthcare procedure and / or the like that may be covered by a healthcare policy.
[0176] In some examples, the exchange platform 102 may maintain and / or access an object data store that includes a plurality of recorded data objects 422. As described herein, the object data store may include a plurality of recorded data objects 422 that are obtained, at least in part, from one or more members of the exchange network and / or one or more third parties. In some examples, the object data store may include at least a portion of the platform data vault 414.
[0177] In some embodiments, the object data store is generated, updated, and / or maintained using data from one or more external data sources. For example, the one or more external data sources may include one or more object catalogs. Each object catalog may include multiple object identifiers and / or object attributes for each object identifier. By way of example, the object catalog may include 10, 20, 40, or more data points for each of multiple object identifiers. Each data point may indicate an object attribute of the object. The object attributes may be obtained by the external data source from a manufacturer, supplier, and / or any other entity associated with a particular object. In some examples, the object data store may be aggregated from each of one or more different external data sources to aggregate, verify, and / or augment multiple recorded data objects 424 associated with multiple different entities.
[0178] In some embodiments, an object attribute is a data entity that represents a characteristic of an object. Object attributes may include object-based attributes and / or exchange-based attributes.
[0179] For example, object-based attributes may include spatial attributes, count attributes, value attributes, source attributes, composition attributes, category attributes, and / or any other attributes that describe object characteristics. Spatial attributes may indicate, for example, one or more dimensions of an object (e.g., height, width, weight, etc.), value attributes may indicate the value of an object (e.g., price, etc.), composition attributes may indicate one or more ingredients, components, etc. of an object, and / or category attributes may indicate one or more categories of an object (e.g., restricted substances, etc.), etc. By way of example, one or more category attributes may indicate whether an object is associated with (i) one or more general store categories, such as vegetables, fruits, dairy, meat, grains, seeds, alcohol, tobacco, in-store consumables, hot food, pharmacy, pet food, and non-food items; (ii) one or more medical categories, such as dental, ophthalmology, and general health; (iii) one or more information categories, such as international sources, domestic sources, and / or the like. In some examples, the composition attribute may indicate one or more components of the object, such as the percentage by volume of alcohol in the object, one or more ingredients such as meat, dairy-derived, peanut-derived, tree nut-derived, soy-derived, and / or the like.
[0180] In some examples, the object-based attributes can be based at least in part on a value system. For example, in at least one financial-based value system, the object-based attributes can include one or more line item attributes, one or more line item adjustments, and / or the like. Line item attributes can include a sequence, a line item group, a product code, an item name, an item source (e.g., provider, manufacturer, etc.), a description, a quantity, a mass (e.g., grams, kilograms, etc.), one or more spatial dimensions (e.g., length, width, height, volume, etc.), a unit amount, a unit tax amount, a line amount (e.g., a line item amount), a line tax amount, and / or the like. A line item adjustment may include an adjustment type (e.g., manufacturing discount, store discount, margin, cash payment, gift card payment, other payment, and / or the like), an item, product, or service code, an item description, an item quantity, a unit item, an item mass (e.g., grams, kilograms, etc.), a unit amount, a unit tax amount, a line amount (e.g., the amount of the line item), a line tax amount, and / or the like.
[0181] In some examples, one or more exchange-based attributes may indicate one or more aggregated exchange characteristics. For example, the exchange-based attributes may include a count attribute that represents the number of value-based exchanges that include a particular object. The count attribute may indicate, for example, the number of units of a particular object that have been acquired through multiple value-based exchanges. For example, as described herein, the exchange platform may increment the count attribute of an object each time the object is referenced in a value-based exchange. In some examples, the exchange platform may increment the count attribute of an object each time permissions are granted to acquire the object. In some examples, the recorded data object 422 may include multiple count attributes that respectively identify the number of units of an object that have been acquired (e.g., acquired count), the number of units of an object that have been granted permissions to acquire (e.g., authorized count), and / or the number of units of an object that have been requested to be acquired (e.g., requested count).
[0182] In some examples, one or more exchange-based attributes may include exchange-specific features. For example, the exchange-based features may include a source attribute that represents a location (e.g., a retailer, a brick-and-mortar store, a healthcare center, an information source, etc.) where an object is acquired (e.g., purchased) through a value-based exchange. The location may include, for example, a virtual and / or physical location. In some examples, the location may depend on the value system. For example, in a financial value system, the source attribute may identify a retailer, a particular brick-and-mortar store of the retailer, an online platform, and / or the like. In a healthcare value system, the source attribute may be a virtual and / or physical healthcare center, and / or the like. In an informational value system, the source attribute may be an information source and / or the like.
[0183] In some examples, the recorded data objects 422 and / or count attributes may be source specific. For example, a different recorded data object 422 and / or count attribute may be maintained for each source from which the object may be obtained. Additionally or alternatively, the recorded data objects 422 and / or count attributes may be source independent.
[0184] In some embodiments, a restricted object is one or more different types of object that may be associated with a measure of exchange for acquisition through a value-based exchange. Restricted objects may include, for example, objects that are subject to one or more acquisition limits 424.
[0185] In some embodiments, acquisition restrictions 424 are data entities that define one or more measures for validating an object for value-based exchange. Acquisition restrictions 424 may define one or more user-specific, location-specific, and / or other rules for validating a restricted object.
[0186] The location-specific rules may include one or more geographic restrictions and / or sovereign entity restrictions. For example, the location-specific rules may indicate one or more national, state, county, and / or similar restrictions on the acquisition of one or more restricted objects in sovereign entities and / or other geographic areas. By way of example, one or more restricted objects may be prohibited from acquisition by federal law, which may form the basis of acquisition restrictions 424.
[0187] The user-specific rules may include one or more age restrictions, residency restrictions, credit score restrictions, and / or the like. In some examples, the age restrictions may indicate one or more age ranges and / or age thresholds for acquiring restricted objects. For example, the age restrictions may define one or more age categories for one or more different types of restricted objects. Each age category may define an age range (e.g., age bracket, etc.) corresponding to a different type of restricted object. As an example, a first age category may indicate an age range below a minimum age for acquiring a first object, such as cigarettes; a second age category may indicate an age range above the minimum age range for acquiring cigarettes but below a second minimum age for acquiring a second object, such as alcohol; and a third age category may indicate an age range above the second minimum age range.
[0188] In some embodiments, acquisition restrictions 424 may be based at least in part on the exchange location associated with the value-based exchange. For example, location-specific rules and / or user-specific rules may be modified for various locations. For example, user-specific rules, such as one or more age categories and / or the like, may be formed based on one or more legal requirements corresponding to the exchange location.
[0189] The acquisition restrictions 424 may correspond to an object and / or one or more object attributes. For example, one or more acquisition restrictions 424 may correspond to one or more object identifiers. For example, the recorded data object 422 for an object may include an indication of one or more acquisition restrictions 424. Additionally or alternatively, the acquisition restrictions 424 may correspond to one or more object attributes. By way of example, the acquisition restrictions 424 may correspond to a categorical attribute (e.g., alcohol, tobacco, etc.), a compositional attribute (e.g., percentage alcohol, etc.), and / or the like.
[0190] Through the performance of one or more exchange operations, partner services 410 and / or service provider services 412 may generate and utilize multiple non-traditional identifiers to reference users, service provider instruments, and / or one or more aspects of the value exchange. At least some of these identifiers may include universally unique identifiers, such as UUEKs, that may be utilized to provide a credential-less exchange of value. Each identifier may be at least temporarily stored in platform data vault 414. Platform data vault 414 may include any type of memory device as described herein. In some examples, each service and / or one or more sets of services may be associated with a respective portion of platform data vault 414.
[0191] As described herein, one or more identifiers may be associated with one another and stored to form an identifier mapping that may be utilized by exchange platform 102 (and / or one or more services thereof) to reference users, service provider instruments, and / or any other aspects of a value exchange from communications between partner platform 420, service provider platform 440, and / or any other member platform that do not include user credentials. Examples of non-traditional identifiers will now be further described with reference to FIG. 5.
[0192] e. Exemplary Data Structures FIG. 5 is an example data diagram 500 for facilitating credential-less exchange of value in accordance with one or more embodiments of the present disclosure. Data diagram 500 illustrates multiple relational identifiers of different types. As depicted, each identifier may be associated with at least one relational identifier to form an identifier mapping within one or more platforms, such as exchange platform 102 and / or service provider platform 440. The identifier mapping enables communication between exchange platform 102 and service provider platform 440 referencing service provider instrument 518 without exposing persistent credentials 514 (e.g., username, password, card number, etc.) associated with service provider instrument 518, which may be susceptible to fraud, abuse, and exploitation by malicious parties. As illustrated, using some of the techniques of the present disclosure, persistent credentials 514 may not need to be communicated outside of service provider platform 440. Data diagram 500 illustrates only a few of the identifiers that may be generated, stored, and / or utilized by various embodiments of the present disclosure. It will be understood that the illustrated identifiers are not an exhaustive list and may include other non-illustrated identifiers. Each of the identifiers may be labeled as an identifier, reference, key, and / or other similar term. These terms are used interchangeably herein to refer to a unit of information for identifying a data structure, entity, and / or any other component described herein.
[0193] As illustrated, some of the relevant identifiers in various embodiments of the present disclosure may include, by way of example, (i) one or more user references 502 that may be mapped to member user identifiers 522 of the service provider platform 440; (ii) one or more service provider partitions 504 that correspond to a network of onboard service provider platforms, such as the service provider platform 440; (iii) one or more partner partitions 506 that correspond to a network of onboard partner platforms; (iv) one or more member instrument identifiers 522 of the service provider platform 440; The user reference 502 may include one or more instrument references 520 that may be mapped to the user reference 502 and / or instrument identifier 508, (v) one or more keys 516 and / or system identifiers 512 that may be associated with the user reference 502 and / or instrument reference 520, (vi) one or more exchange identifiers 510 that may be mapped to either the system identifiers 512 and / or the keys 516, and / or (vii) one or more UUEKs 524 that may be mapped to the exchange identifiers 510 and / or at least one of the partner partitions 506 and / or service provider partitions 504.
[0194] In some examples, the service provider platform 440 may store one or more identifiers that can be mapped to the service provider instrument 518 and / or one or more identifiers of the exchange platform 102 to enable the service provider platform 440 to reference the service provider instrument 518 based at least in part on an identifier that does not indicate any aspect of the service provider instrument 518, including the persistent credential 514, by the identifier itself.
[0195] As an example, the service provider platform 440 may store, maintain, and / or otherwise access one or more keys 516 mapped to one or more system identifiers 512 of the exchange platform 102 (e.g., being copies, derivatives, etc. of the one or more system identifiers 512). The keys 516 may, for example, include the system identifiers 512 as part of the key 516. The keys 516 may be mapped to member instrument identifiers 508 and / or member user identifiers 522, which may internally reference users of the service provider platform and / or service provider instruments 518. The keys 516 may be provided, for example, during a registration process between the service provider platform 440 and / or the exchange platform 102.
[0196] As another example, the exchange platform 102 may store, maintain, and / or otherwise access one or more references, such as instrument reference 520 and / or user reference 502, that map to (e.g., are copies, derivatives, etc. of) one or more member identifiers, such as member instrument identifier 508 and / or member user identifier 522 of the service provider platform 440. The references may be provided, for example, during a registration process between the service provider platform 440 and / or the exchange platform 102.
[0197] In some embodiments, the exchange platform 102 uses one or more entity partitions to refer to each member platform in the network of member platforms. In some embodiments, an entity partition is a unique identifier for a computing entity. An entity partition may include a unique numeric, alphanumeric, and / or similar identifier that represents a particular computing entity. An entity partition may include, for example, a member partition representing a member platform, a service provider partition 504 representing a service provider platform 440, a partner partition 506 representing a partner platform 420, and / or the like.
[0198] In some embodiments, the service provider partition 504 is a unique identifier for a service provider and / or the service provider's service provider platform 440. The service provider partition 504 may include a series of numeric, alphanumeric, or any / all other characters or symbols that represent a service provider associated (e.g., onboarded, registered, etc.) with the exchange platform 102. The exchange platform 102 may, for example, include multiple service provider partitions, each identifying a service provider platform 440 associated (e.g., onboarded, registered, etc.) with the exchange platform 102. Each service provider partition 504 may represent a service provider platform 440 that has configured one or more exchange platform software development kits (SDKs) and / or the like to implement the service provider interfaces of the exchange platform 102.
[0199] In some embodiments, partner partition 506 is a unique identifier for a partner and / or the partner's partner platform. Partner partition 506 may include a series of numeric, alphanumeric, and / or any other characters or symbols that represent a partner associated with exchange platform 102. Exchange platform 102 may include multiple partner partitions, each identifying a partner platform attached (e.g., installed, registered, etc.) to exchange platform 102, for example. Each partner partition 506 may represent a partner platform that has configured one or more exchange SDKs and / or the like to implement the partner interface of exchange platform 102.
[0200] In some embodiments, an entity partition is generated to identify a member platform when the member platform is onboarded to the exchange platform 102. In some examples, after onboarding to the exchange platform, the member platform may utilize one or more exchange interfaces to register one or more service provider instruments with the exchange platform 102. A service provider instrument 518 may be registered with the exchange platform 102 by exchanging one or more instrument identifiers with the exchange platform 102.
[0201] In some embodiments, the instrument identifier includes any representation of the service provider instrument 518 that identifies the service provider instrument without revealing the persistent credentials 514 of the service provider instrument 518. The instrument identifier may include a member instrument identifier 508, a system instrument identifier, an instrument reference 520, an instrument key, and / or the like, as described herein.
[0202] In some embodiments, member instrument identifier 508 is a unique identifier for representing service provider instrument 518 within a member platform, such as service provider platform 440. Member instrument identifier 508 may include, for example, a series of numeric, alphanumeric, or any / or other characters or symbols that represent service provider instrument 518 to service provider platform 440. In some examples, member instrument identifier 508 may include a table identifier of a member instrument data object.
[0203] In some embodiments, instrument reference 520 is a unique identifier for referencing member instrument identifier 508. Instrument reference 520 may be generated and / or provided by a member platform to exchange platform 102, for example, to enable exchange platform 102 to reference service provider instruments 518 maintained at the member platform. In some examples, instrument reference 520 is the same value as member instrument identifier 508. In some examples, instrument reference 520 is a different value mapped to member instrument identifier 508.
[0204] In some embodiments, the system instrument identifier is a unique identifier for representing the service provider instrument 518 within the exchange platform 102. The system instrument identifier may include, for example, a series of numeric, alphanumeric, or any / or other characters or symbols that represent the service provider instrument 518 to the exchange platform 102 without revealing the persistent credentials 514 of the service provider instrument 518. In some examples, the system instrument identifier may include a UUID. In some examples, the system instrument identifier may include at least one of the system identifiers 512.
[0205] In some embodiments, an instrument key is a unique identifier for referencing a system instrument identifier. The instrument key may be generated and / or provided by the exchange platform 102, for example, during the registration process of the service provider instrument 518 to the exchange platform 102. In some examples, the instrument key may include a packaged system instrument identifier. For example, the instrument key may include a string of alphanumeric characters formatted according to a key format established by the exchange platform 102 (and / or its one or more APIs). The key format may include any number of characters, such as 50 characters or more. In some examples, the characters may be case-sensitive. A first portion of the characters (e.g., the first six characters) may be reserved as a partition for identifying the entity associated with the key. In the case of an instrument key, for example, the partition may include the service provider partition 504. A second portion of the characters may identify the system instrument identifier. In some examples, the instrument key may include at least one of the keys 516. The key formats described herein may contain one or more different parts, each of which may be arranged in any order.
[0206] In some embodiments, after onboarding to the exchange platform 102, the member platform may utilize one or more exchange interfaces to register one or more users with the exchange platform 102. A user may register with the exchange platform 102 by exchanging one or more user identifiers with the exchange platform 102. The user identifiers may be utilized, for example, to create, maintain, and / or update one or more user data objects reflecting users of the member platform and / or exchange platform 102.
[0207] In some embodiments, a user data object is a data entity representing a user interacting with a member platform and / or the exchange platform 102. A user may include, for example, an entity (e.g., a person, an organization, a group, etc.) that engages in a value exchange governed by the exchange platform 102. In some examples, a user may indirectly collaborate with the exchange platform 102 by creating a user account with a registered service provider, registering (and / or granting permission to register) a service provider instrument 518, and / or the like. In some examples, the exchange platform 102 may act on behalf of a user without the user directly interacting with the exchange platform 102. For example, the exchange platform 102 may act as a hidden intermediary between a user-facing application and the user's service provider instrument 518.
[0208] In some embodiments, a user data object includes one or more user identifiers and / or one or more user attributes. In some examples, the one or more user identifiers and / or one or more user attributes may be based at least in part on the type of user data object. By way of example, a user may be represented in a member platform as a member user data object. Additionally or alternatively, a user may be independently represented in an exchange platform by a system user data object. In some examples, a member user data object and a system user data object may include one or more of the same one or more user identifiers and / or user attributes. By way of example, a member platform may register multiple users with the exchange platform 102. During registration, the member platform may provide one or more of the user identifiers and / or user attributes, and in some examples, the exchange platform 102 may return another identifier.
[0209] In some embodiments, the member user data object is an internal representation of a user within a member platform, such as the service provider platform 440. The member instrument data object may include one or more user identifiers, such as the member user identifier 522, a user key from the exchange platform 102, and / or the like. Additionally or alternatively, the member user data object may include one or more user attributes. The one or more user attributes may indicate one or more contextual characteristics of the user. In some examples, the user attributes may indicate one or more identifiable characteristics of the user. By way of example, the user attributes may indicate the user's first name, last name, email, physical address (e.g., one or more of street, locality, region, zip code, country, etc.), date of birth (e.g., date of birth, age range, etc.), phone number, and / or the like. In some examples, the user attributes may include an encrypted, hashed, and / or otherwise secure representation of the user's identifiable characteristics. For example, the user attributes may include one or more hashed identifiers and / or the like of the user.
[0210] In some embodiments, a user attribute may indicate a user's age. The user attribute may indicate, for example, a user's date of birth. Additionally or alternatively, the user attribute may indicate an age group. The age group may indicate a user's age category. For example, the age category may indicate an age range aligned with one or more acquisition restrictions. By way of example, in the United States, age groups may include: (i) a minor tier indicating a user as under 18 years of age; (ii) a first partial minor tier indicating users aged 18 to 19 years; (iii) a second partial minor tier indicating users aged 19 to 21 years; and (iv) an unrestricted tier indicating users aged 21 years or older. In this manner, user attributes can reflect a user's age-related information without disclosing sensitive user information, such as the user's date of birth.
[0211] In some embodiments, a system user data object is an external representation of a member user within the exchange platform 102. The system user data object may include one or more user identifiers, such as a member platform user reference 502, a system user identifier, and / or the like. Additionally or alternatively, the system user data object may include one or more user attributes, such as those described herein. By way of example, a member platform may register a user with the exchange platform 102. During registration, the member platform may provide the user's user reference 502 and / or one or more user attributes. In some examples, the user attributes may include a hashed and / or encrypted identifier for the user.
[0212] In some embodiments, the user identifier comprises a unique identifier of a user involved in a value-based exchange. The user identifier may comprise a series of numeric, alphanumeric, or any / all other characters or symbols representing a user of the exchange platform 102 and / or member platform. In some examples, the user identifier may comprise a user reference 502, a user key, a system user identifier, a member user identifier, and / or the like.
[0213] In some embodiments, a system user identifier is a unique identifier for representing a user within exchange platform 102. A system user identifier may include, for example, a series of numbers, alphanumeric characters, and / or any other characters or symbols that represent a user to exchange platform 102. In some examples, a system user identifier may include a UUID that is unique to a particular user. In some examples, a system user identifier may include at least one of system identifiers 512.
[0214] In some embodiments, the member user identifier 522 is a unique identifier to represent the user within the member platform. The member user identifier may include, for example, a series of numbers, alphanumeric characters, or any other characters or symbols that represent the user to the service provider platform 440.
[0215] In some embodiments, the user reference 502 may be a unique identifier for referencing the member user identifier 522. The user reference 502 may be generated and / or provided by the member platform to the exchange platform 102, for example, to allow the exchange platform 102 to reference a user associated with the member platform. In some examples, the user reference 502 is the same value as the member user identifier 522. In some examples, the user reference 502 is a different value mapped to the member user identifier 522.
[0216] In some embodiments, a user key is a unique identifier that references a system user identifier. The user key may be generated and / or provided by the exchange platform 102, for example, during the user's registration process with the exchange platform 102. In some examples, the user key may include a packaged system user identifier. For example, the user key may include a string of alphanumeric characters formatted according to a key format established by the exchange platform (and / or its one or more APIs). The key format may include, for example, a first portion of characters (e.g., the first six characters) that may be reserved as a partition for identifying an entity (e.g., a member, etc.) associated with the key. For example, in the case of a user key, the partition may include a service provider partition 504 and / or a partner partition. The second portion of characters may identify the system user identifier.
[0217] 5, keys 516, such as the user and instrument keys described herein, may be shared across the exchange platform 102 and the service provider platform 440. Additionally, in some examples, references, such as instrument references 520 and user references 502, may be shared across entities. These identifiers, and the mapping scheme described herein, allow the exchange platform 102 to reference the service provider instrument 518 without knowledge of the persistent credentials 514 (e.g., card number, etc.) of the service provider instrument 518. As described herein, one or more of the keys 516 and / or references may be provided to the service provider platform 440 individually or in any combination. In some examples, each of the keys 516 and references may be provided to the service provider platform 440 in a redundant process that allows the service provider platform to verify that the communication is provided by the exchange platform 102 (e.g., an entity with access to a unique set of keys and references).
[0218] In some embodiments, the persistent credentials 514 for the service provider instrument 518 include confidential user and / or instrument credentials, such as card numbers, account numbers, subscription numbers, and / or the like, that may expose users, members, and / or intermediary entities to risk. The persistent credentials 514 may be generated, accessed, and / or otherwise provided to a user by the service provider platform 440 when the user applies for a new service provider instrument 518, is authorized for a new service provider instrument 518, and / or is otherwise enabled to open a new service provider instrument 518. Traditionally, the persistent credentials 514 are then used by the user to initiate value exchanges using the service provider instrument. By doing so, the user is forced to reveal confidential credentials directly tied to the service provider instrument 518 each time the service provider instrument 518 is used. The key 516, reference, and identifier mapping scheme of the present disclosure overcomes these technical deficiencies.
[0219] In some examples, each of the identifiers is interpretable not to a user but to a computing platform, such as the exchange platform 102 and / or the service provider platform 440. To allow a user to select a service provider instrument 518 while maintaining the enhanced security features of the present disclosure, in some examples, the identifiers of FIG.
[0220] In some embodiments, the instrument representation (not depicted by FIG. 5 ) is a unique identifier for representing the service provider instrument 518 to a user without revealing the service provider instrument's 518 persistent credential 514. The instrument representation may include, for example, a series of numeric, alphanumeric, or any / all other characters or symbols that ostensibly represent the service provider instrument 518 only to entities with prior knowledge of the service provider instrument 518. The format and / or value of the instrument representation may be based at least in part on the type of service provider and / or service provider instrument 518. For example, in a financial value system, the instrument representation may include a portion of the persistent credential 514 (e.g., the last four digits), such as a card number (e.g., debit card, credit card, etc.), a financial account number, and / or the like. As another example, in a value-of-information system, an instrument representation may include a portion (e.g., one or more digits, alphanumeric characters, etc.) of a persistent credential 514, such as a subscription account and / or the like. For example, an instrument representation may include a derivative of a persistent credential 514 that may allow only entities with prior knowledge of the persistent credential 514 to identify the persistent credential 514 using the instrument representation. As another example, an instrument representation may include a nickname for an instrument that is assigned by a user and subsequently recognized.
[0221] In some embodiments, the instrument representation may be provided to the exchange platform 102 (e.g., during the registration process) in place of the persistent credential 514. In this manner, the exchange platform 102 can use the instrument representation to represent the service provider instrument 518 without knowledge of the persistent credential 514 from which the instrument representation may be derived. For example, unlike conventional network-based exchange platforms, the exchange platform 102 may not require the persistent credential 514 corresponding to the service provider instrument 518 to implement various computing tasks of the present disclosure. This allows the exchange platform 102 to operate more flexibly while still storing previously unrecorded context data, lowering the computing cost of operations, and improving user and platform protection from intrusion attacks by malicious computing entities.
[0222] In some embodiments, the identifier mapping scheme is supplemented by unique, temporary keys issued to member platforms to facilitate secure, real-time value exchanges. For example, the exchange platform 102 can facilitate an additional layer of network and data security by implementing an exchange identifier 510 to represent aspects of the value-based exchange. Some examples of the exchange identifier 510 can include a service provider-specific exchange identifier and / or a partner-specific exchange identifier. The service provider-specific exchange identifier can include a temporary, unique exchange identifier that temporarily represents the service provider instrument 518 and the service provider platform 440. The service provider-specific exchange identifier can be mapped, for example, to the system identifier 512 of the service provider instrument 518. The partner-specific exchange identifier can include a temporary, unique exchange identifier that temporarily represents the service provider instrument 518 and the partner platform. The partner-specific exchange identifier can be mapped, for example, to the key 516 of the service provider instrument 518, which can be used to identify the service provider platform 440. In some cases, such mappings may be defined by exchange data objects.
[0223] In some embodiments, an exchange data object is a data entity that represents an authorized value exchange between one or more members associated with the exchange platform 102. In some examples, an exchange data object may include one or more identifiers and / or one or more exchange attributes. For example, the one or more identifiers and / or one or more exchange attributes may be based at least in part on the type of the exchange data object. By way of example, an exchange may be represented in a member platform as a member exchange data object. Additionally or alternatively, an exchange may be independently represented in the exchange platform 102 by a system exchange data object. In some examples, a member exchange data object and a system exchange data object may include one or more of the same one or more identifiers and / or exchange attributes. By way of example, using some of the techniques of this disclosure, the exchange platform 102 may issue one or more unique identifiers to member platforms that may be used to authorize value exchanges.
[0224] In some embodiments, a system exchange data object is an internal representation of a value exchange mediated using the exchange platform 102. In some examples, a system exchange data object may include one or more different identifiers and / or exchange attributes depending on the system exchange data object's role in the value-based exchange.
[0225] For example, the system exchange data object may include a service provider-specific exchange data object corresponding to the service provider platform 440. The service provider-specific exchange data object may include one or more identifiers, such as an exchange identifier 510, a system identifier 512 such as a system user identifier and / or a system instrument identifier, a UUEK 524, and / or the like. Additionally or alternatively, the service provider-specific exchange data object may include one or more exchange attributes, such as an expiration date, a currency (e.g., for a monetary value system), and / or the like.
[0226] Additionally or alternatively, the system exchange data object may include a partner-specific exchange data object corresponding to the partner platform. The partner-specific exchange data object may include one or more identifiers, such as an exchange identifier 510, one or more keys 516, such as an instrument key, a UUEK 524, a member instrument reference (e.g., a partner-specific instrument reference), and / or the like. Additionally or alternatively, the partner-specific exchange data object may include one or more exchange attributes, such as an expiration date, a currency (e.g., for a monetary value system), an instrument type, and / or the like.
[0227] In some embodiments, a member exchange data object is an external representation of a value exchange mediated using the exchange platform 102. The member exchange data object may include one or more identifiers, such as a member exchange identifier, a member instrument identifier 508, a UUEK 524 from the exchange platform 102, and / or the like.
[0228] In some embodiments, the exchange identifier 510 is a unique identifier for a value exchange using the exchange platform 102. The exchange identifier 510 may include a series of numeric, alphanumeric, and / or any other characters or symbols that represent at least a user and / or a service provider instrument 518. In some examples, the exchange identifier 510 may include a universally unique identifier (UUID) that may be mapped (e.g., via a series of identifiers, etc.) to a user, a service provider instrument 518, and / or a member registered with the exchange platform 102. In some examples, the exchange identifier 510 may be generated using one or more UUID generators. For example, the exchange identifier 510 may include 16 bytes of information generated according to one or more UUID formatting standards, such as UUID v4, and / or the like. Thus, while an exchange identifier 510 may be utilized by the exchange platform 102 and / or a member platform for one or more functions, the same exchange identifier 510 is useless to an outside party without a prior association between the exchange identifier 510 and one or more other identifiers. In addition to the prior identifier association, the exchange identifier 510 may be associated with the exchange platform 102. Thus, even if an exchange identifier 510 is identified by a harmful party, the harmful party would still be required to impersonate the exchange platform 102 in order to use the exchange identifier 510. Moreover, the harmful party would need to update the settlement account to an account owned by the harmful party, among several other tasks, before the exchange identifier 510 could be used adversely. Each of these tasks increases the amount of work required to overcome the enhanced layer of security added by the exchange identifier 510. When paired with the temporary nature of the exchange identifier 510, these tasks can become prohibitively expensive.
[0229] In some examples, the exchange identifier 510 may be externally represented by a UUEK 524. By way of example, to facilitate credential-less exchanges, the exchange platform 102 may issue one or more UUEKs 524 to one or more member platforms. As described herein, the UUEK 524 may remove reliance on traditional persistent credentials 514 by identifying aspects of the value exchange through previously mapped data entities.
[0230] In some embodiments, the UUEK 524 is an external representation of the exchange identifier 510 that may be issued (e.g., in place of the exchange identifier 510) to an external entity, such as a user, a partner platform, and / or a service provider platform, and / or the like, to initiate a value-based exchange using the exchange platform 102. To do so, the UUEK 524 may be generated and issued by the exchange platform 102 to the external entity. Each UUEK 524 may include multiple values (e.g., up to 50 characters and / or more, which may or may not be case-sensitive) that represent one or more aspects of the value-based exchange. For example, the multiple values may indicate the exchange identifier 510, a partition (e.g., identifying the recipient of the UUEK 524), an identifier type, and / or one or more flags. By way of example, the UUEK 524 may include a partner-specific UUEK and / or a service provider-specific UUEK. The partner-specific UUEK may be correlated to a partner-specific exchange data object as described herein and may include the partner partition 506, while the service provider-specific UUEK may be correlated to a service provider-specific exchange data object and may include the service provider partition 504.
[0231] By way of example, the UUEK 524 may be generated according to a key format. The key format may include a number of characters, e.g., including 50 or more characters, that may be case-sensitive. A first portion of the characters (e.g., the first six characters) may be reserved as a partition for identifying the recipient of the UUEK 524. The partition may include, for example, the partner partition 506, the service provider partition 504, and / or any other member partition. By way of example, the UUEK 524 may be issued in response to a request from an authorized member, such as an attached partner and / or service provider.
[0232] Additionally or alternatively, at least one character (e.g., the seventh character) of the key format may identify the format of the UUEK 524. At least another character (e.g., the eighth character) may identify the type of UUEK 524. In some examples, a second portion of characters may identify the exchange identifier 510 (e.g., the group of 22 characters following the eighth character). A third portion of characters may be reserved (e.g., the group of 20 characters following the first portion of characters). Exemplary representations are provided below: ppppppFiGGGGGGGGGGGGGGGGGGGGrrrrrrrrrrrrrrrrrrrr where p represents the partition character, F represents the format character, i represents the identifier type character, G represents the exchange identifier 510, and r represents the reserved character. The key format allows for up to 9.8 x 10^84 unique permutations, which is more than the number of atoms in the known observable universe. This allows for the generation and distribution of new UUEKs 524 on demand without compromising the security of the underlying data to which the UUEK 524 may be mapped, such as identifiers for users, instruments, and / or any other potentially sensitive information.
[0233] As described herein, the unique sequence of identifiers and the mapping scheme between identifiers can facilitate a credential-less exchange of value for registered and / or unregistered entities. In some examples, one or more of the identifiers may be generated through a registration or enrollment process configured to establish cross-entity relationships between user, partner, and service provider entities. The identifiers in FIG. 5 may be used to enable a communication interface that serves as a conveyance vehicle for object-level attributes. The object-level attributes may be utilized to implement the validation operations described with reference to FIGS. 6 and 7.
[0234] V. Exemplary System Operation FIG. 6 provides a process flow for facilitating credential-less exchange of value according to one or more embodiments of the present disclosure. The process flow depicts a network-based process 600 for leveraging some of the communication technologies of the present disclosure to securely adjudicate value-based exchanges at a coarse-grained, object level. Process 600, as described herein, can be utilized to overcome various limitations, such as a lack of flexibility, security, and / or the like, of traditional exchange systems that expose confidential and persistent credentials to multiple third parties. Process 600 can be implemented by one or more computing devices, entities, and / or systems described herein. For example, through the various steps / operations of process 600, an exchange platform can leverage communication technologies to overcome various limitations associated with traditional mechanisms of exchange by removing reliance on static confidential credentials, providing greater flexibility and control over value-based exchanges.
[0235] 6 illustrates an example process 600 for purposes of explanation. Although the example process 600 depicts a particular sequence of steps / actions, the sequence may be varied without departing from the scope of the present disclosure. For example, some of the depicted steps / actions may be performed in parallel or in a different sequence without substantially impacting the functionality of the process 600. In other examples, different components of the example device or system performing the process 600 may perform functions substantially simultaneously or in a unique sequence.
[0236] In some examples, process 600 begins after a registration and / or enrollment process in which a user and / or member platform can receive a UUEK for facilitating a credential-less exchange of value. For example, as described herein, one or more registration processes may be pre-implemented between one or more service provider platforms and the exchange platform to register multiple service provider instruments with the exchange platform. The exchange platform can then generate and issue a UUEK to the registered service provider platform to initiate a value-based exchange using the registered service provider instrument without reference to a persistent credential for the service provider instrument. Additionally or alternatively, a registration process may be performed to register a registered service provider instrument, maintained by the service provider platform, with a partner platform. In some examples, the exchange platform can facilitate the registration process and, in response to successful registration, generate and issue a UUEK to the partner platform to initiate a future value-based exchange.
[0237] If a user wishes to conduct a value-based exchange with a partner platform for which the user has a registered partner account, the partner platform may search the registered partner account and identify the user's issued UUEK from the partner account for use in authorizing the value-based exchange. If a user wishes to conduct a value-based exchange with a partner platform for which the user does not have a registered partner account, the user may present a previously issued UUEK (e.g., issued to a service provider platform) to the partner platform (e.g., through a partner application), and the partner platform may use the UUEK to authorize the value-based exchange. For example, the partner platform may issue an exchange request with the UUEK to the exchange platform to initiate the value-based exchange.
[0238] Using some of the communication techniques of the present disclosure, a member platform can issue exchange requests with object-level details that can be adjudicated by the exchange platform. For example, by replacing the service provider instrument's persistent credentials with a UUEK, the communication techniques of the present disclosure can provide a transport mechanism for object-level details without compromising the security of the user, the service provider instrument, or the member platform. This allows the exchange platform to act as an adjudication engine for determining object-level insights for exchange requests. Following the steps / operations of process 600, these insights can be leveraged by the exchange platform to enforce member policies on behalf of the member platform without ongoing involvement from the member platform.
[0239] In some embodiments, process 600 includes, at step / operation 602, receiving an exchange request with a UUEK. For example, an exchange platform (e.g., its partner service, etc.) can receive an exchange request to perform a value-based exchange using a partner interface. The exchange request may indicate a UUEK including an exchange identifier. Additionally or alternatively, the exchange request may include one or more request attributes. The one or more request attributes may include one or more object identifiers, object attributes, resolution flags, and / or the like. In some examples, the exchange request may include an exchange location. The exchange location may indicate a physical location, such as a brick-and-mortar store and / or the like, a virtual location, such as an online retail platform, and / or a geographic region, such as a country, state, county, or other region.
[0240] The one or more request attributes may include multiple object identifiers corresponding to multiple objects associated with the value-based exchange. Additionally or alternatively, the one or more request attributes may include one or more object attributes of the multiple objects. For example, the one or more object attributes may include one or more object-based attributes, such as one or more line-item attributes, one or more exchange-based attributes, such as an object quantity, an object location, and / or the like. For example, the exchange request may indicate an exchange location where the object is being obtained.
[0241] In some examples, the request attributes may indicate one or more request resolution flags. The request resolution flags may indicate one or more requesting member requirements (e.g., partner requirements, etc.) for the value-based exchange. For example, the one or more request resolution flags may be set by a member of the exchange network that provides the exchange request to the exchange platform. In some examples, the request resolution flags may indicate partial exchange authority or full exchange authority. A partial exchange authority may grant authority for partial completion of the value-based exchange, while a full exchange authority may only grant authority for full completion of the value-based exchange. For example, a full exchange authority may require activation of all objects referenced by the value-based exchange.
[0242] In some embodiments, the one or more object identifiers and / or object attributes correspond to one or more recorded data objects maintained by the exchange platform. For example, the object identifier of the exchange request may correspond to the object identifier of the recorded data object. Additionally or alternatively, one or more of the object attributes of the exchange request may correspond to one or more object attributes of the recorded data object. In some examples, the exchange platform may identify one or more recorded data objects based at least in part on the one or more object identifiers and / or one or more object attributes. In response to identifying the recorded data object, the exchange platform may increment a count attribute of the object. By way of example, the count attribute of each recorded data object may be incremented in response to each exchange request that references the object represented by the recorded data object. In some examples, the count attribute may be one of multiple count attributes of the object, enabling the exchange platform to aggregate object-level insights across multiple different member platforms, locations, and / or the like.
[0243] In some examples, the request attributes may indicate one or more request resolution flags. The request resolution flags may indicate one or more requesting member requirements (e.g., partner requirements, etc.) for the value-based exchange. For example, the one or more request resolution flags may be set by a member of the exchange network that provides the exchange request to the exchange platform. In some examples, the request resolution flags may indicate partial exchange authority or full exchange authority. A partial exchange authority may grant authority for partial completion of the value-based exchange, while a full exchange authority may only grant authority for full completion of the value-based exchange. For example, a full exchange authority may require activation of all objects referenced by the value-based exchange in order for it to be executed by the exchange platform.
[0244] In some examples, the request attributes may include a member exchange reference (e.g., a reference to a member platform for a value-based exchange), a channel (e.g., a type of exchange in the case of a monetary value system such as push or pull value transfer, real-time payment, etc.), a currency (e.g., in the case of a monetary value system), an organization key (e.g., a platform identifier for the member organization), an organization category (e.g., airline, apparel, etc.), a facility key (e.g., a platform identifier for a retail location, etc.), a store associate identifier, and / or any other traceable information for a value-based exchange.
[0245] In some embodiments, process 600 includes, at step / operation 604, identifying an exchange data object. For example, the exchange platform (e.g., its partner service, etc.) may identify the exchange data object based at least in part on the exchange identifier of the UUEK. For example, the exchange identifier may correspond to the exchange data object. In some examples, the exchange data object may include at least one of: (i) an instrument identifier of the member platform's service provider instrument, and / or (ii) a user identifier of a user associated with the service provider instrument.
[0246] For example, as described herein, the UUEK may correspond to a partner platform and / or a service provider platform. As an example, the UUEK may include a partner partition that identifies the partner platform if the UUEK is issued to the partner platform. In such a case, the UUEK includes an exchange identifier corresponding to the partner exchange data object. As another example, the UUEK may include a service provider partition that identifies the service provider platform if the UUEK is issued to the service provider platform. In such a case, the UUEK includes an exchange identifier corresponding to the service provider exchange data object. In some examples, the exchange platform may process the UUEK based at least in part on the member partition.
[0247] In some embodiments, the exchange platform (e.g., its partner service) receives a UUEK that includes a partner partition that identifies the partner platform. The exchange platform can use the exchange identifier to identify a partner-specific exchange data object. The partner-specific exchange data object can include an instrument key corresponding to a service provider instrument of the member platform. The exchange platform can identify a system instrument data object based at least in part on the instrument key. For example, the exchange platform can identify the member platform based at least in part on the member partition of the instrument key and provide the instrument key to a service (e.g., a service provider service, etc.) corresponding to the member platform. The service can identify a system instrument data object based at least in part on the instrument key. The system instrument data object can then be utilized to identify one or more identifiers (e.g., a user identifier, an instrument identifier, etc.) for processing the exchange request.
[0248] In some embodiments, an exchange platform (e.g., its partner service, etc.) receives a UUEK that includes a service provider partition that identifies a service provider platform. The exchange platform (e.g., its partner service, etc.) can determine that the partner-specific exchange data object is unavailable. In response to this determination, the exchange platform can identify a member platform based at least in part on the service provider partition and provide the UUEK to a service (e.g., service provider service, etc.) corresponding to the member platform. The service can identify a service provider-specific exchange data object based at least in part on the exchange identifier in the UUEK. The service provider-specific exchange data object can be utilized to identify a system instrument data object based at least in part on the member platform and exchange identifier. The system instrument data object can then be utilized to identify one or more identifiers (e.g., a user identifier, an instrument identifier, etc.) for processing the exchange request.
[0249] In some embodiments, process 600 includes, at step / operation 606, determining one or more valid and / or invalid objects for the exchange request. For example, the exchange platform (e.g., its activation service, etc.) may determine one or more valid objects and / or one or more invalid objects for the exchange request based at least in part on one or more user attributes corresponding to the user. By way of example, a user identifier in the exchange data object may be utilized to identify a system user data object corresponding to the service provider instrument. As described herein, the system user data object may include one or more user attributes of the user. In some examples, the exchange platform may identify a system user data object corresponding to the exchange request and determine one or more valid and / or invalid objects for the exchange request based at least in part on the user attributes corresponding to the user.
[0250] In some examples, an exchange platform (e.g., its validation service) may generate valid data objects and / or invalid data objects for an exchange request. A valid exchange data object may indicate one or more valid objects of the exchange request and / or one or more context attributes of the one or more valid objects. An invalid exchange data object may indicate one or more invalid objects of the exchange request and / or one or more context attributes of the one or more invalid objects.
[0251] In some embodiments, process 600 includes determining whether the exchange request includes invalid objects at step / operation 608. For example, the exchange platform (e.g., its activation service, etc.) can determine whether the exchange request includes invalid objects. If the exchange request does not include invalid objects, process 600 proceeds to step / operation 612. If the exchange request does include invalid objects, process 600 proceeds to step / operation 610.
[0252] In some embodiments, process 600 includes, at step / operation 610, determining whether the exchange request includes a partial authorization flag. For example, the exchange request may include one or more request resolution flags indicating partial exchange authority and / or full exchange authority. The exchange platform may determine whether the one or more request resolution flags indicate partial exchange authority. If partial exchange authority exists and at least one valid object is identified, the exchange platform may proceed to step / operation 612, where an exchange authority request is provided to the member platform. For example, if at least one valid object is identified, the exchange platform may provide the exchange authority request to the member platform in response to determining that the one or more request resolution flags indicate partial exchange authority. If full exchange authority exists and / or at least one valid object is not identified for the exchange request, the exchange platform may proceed to step / operation 616, where an exchange response indicating exchange denial is provided to the member platform. In this manner, process 600 can conserve computing resources by continuously screening exchange requests based at least in part on their object-level characteristics. In this manner, process 600 enables the exchange platform to pre-adjudicate exchange requests, thereby reducing the computing resource requirements of member platforms that maintain service provider instruments.
[0253] In some embodiments, the exchange platform generates an exchange record for the value-based exchange based at least in part on the one or more valid and / or invalid objects. The exchange record may record one or more attributes of the value-based exchange. In some examples, the exchange record may be stored in a platform data vault. The exchange record may be stored in association with, for example, a system instrument identifier, a system user identifier, and / or the like. The exchange record may indicate one or more valid objects, invalid objects, the object status of each of the valid and / or invalid objects, and / or any other information associated with the value-based exchange.
[0254] For example, the exchange platform may record an object status for each object in an exchange request. An object status is a data entity that indicates the determination and / or classification of an object with respect to a value-based exchange. For example, the object status of a valid object may include an object eligible status and / or the like. As another example, the object status of an invalid object may include an object ineligible status and / or the like. The object status of an object that has not been evaluated with respect to a member policy may include an object not evaluated status. The object status of an object not addressed by a member policy may include an object not designated status. In some examples, the object status may indicate an acquisition restriction corresponding to an invalid object. For example, the object status may include an object age restriction status and / or the like.
[0255] In some cases, the exchange platform may identify an object in the exchange request that does not correspond to a recorded data object. In such cases, the exchange platform may generate a recorded data object for the object using object attributes of one of the objects from the exchange request, such as an object identifier and / or the like.
[0256] In some embodiments, process 600 includes, at step / operation 612, providing an exchange authorization request to a member platform. For example, an exchange platform (e.g., its service provider service, etc.) can provide an exchange authorization request to a member platform corresponding to a service provider instrument using a service provider interface. The exchange authorization request may indicate an instrument identifier and / or one or more valid objects for the exchange request. By way of example, the exchange platform can generate the exchange authorization request based at least in part on a system instrument data object identified from one or more aspects of the UUEK. The exchange authorization request may include an instrument key and / or an instrument reference from the system instrument data object.
[0257] In some examples, the exchange authorization request may indicate a user identifier associated with the service provider instrument. For example, the exchange platform may generate the exchange authorization request based at least in part on a system user data object identified from one or more aspects of the UUEK. In some examples, the system user data object may be identified based at least in part on a user identifier (e.g., a system user identifier) of the exchange data object. Additionally or alternatively, the system user data object may be identified based at least in part on a user identifier (e.g., a system user identifier) of the system instrument data object. In some examples, the exchange authorization request may include a user key and / or a user reference from the system user data object.
[0258] In some embodiments, the exchange authority request defines a request to a member to conduct a value-based exchange. In some embodiments, the exchange authority request is provided from an exchange platform to a member of the exchange network. The exchange authority request may be provided, for example, to a service provider of the exchange network in response to an exchange request from a partner of the exchange network. In some examples, the exchange authority request may indicate valid exchange data objects for the exchange request. For example, the exchange authority request may indicate one or more valid data objects, a valid exchange value, one or more object statuses associated with the one or more valid data objects, and / or the like. In some examples, the exchange authority request may indicate invalid exchange data objects for the exchange request. For example, the exchange authority request may indicate one or more invalid data objects, one or more object statuses associated with the one or more invalid data objects, and / or the like. For example, the exchange authority request may indicate an exchange record for the value-based exchange.
[0259] In some embodiments, the exchange authorization request includes an exchange value that is modified at least in part based on one or more valid objects of the exchange request. For example, the exchange request may include a plurality of object values corresponding to a plurality of objects associated with the value-based exchange and an initial exchange value for the plurality of objects. The exchange platform may determine the exchange value of the value-based exchange by modifying the initial exchange value based at least in part on one or more of the plurality of object values corresponding to the one or more valid objects. By way of example, the initial exchange value may be modified to include an aggregate value of one or more object values corresponding to the one or more valid objects. The aggregate value may, for example, exclude object values corresponding to one or more invalid objects of the exchange request. For example, the aggregate value may aggregate multiple object values of valid objects from the exchange request while removing all object values from the invalid objects. In this manner, the aggregate value may indicate an exchange value for valid objects authorized to acquire specific service provider instruments and excluding a portion of the initial exchange value corresponding to the invalid objects. In some examples, the exchange platform may provide the exchange authorization request to a member platform using a service provider interface. The exchange authorization request indicates the modified exchange value for one or more valid objects.
[0260] In this manner, process 600 can conserve computing resources by continually screening exchange requests based at least in part on their object-level characteristics. In this manner, process 600 enables the exchange platform to pre-adjudicate exchange requests at a coarse-grained object level to pre-validate objects on behalf of the member platforms, thereby reducing the computing resource requirements of the member platforms that maintain the service provider instruments.
[0261] In some embodiments, process 600 includes receiving an exchange authorization response at step / operation 614. For example, the exchange platform (e.g., its service provider service, etc.) may use a service provider interface to receive the exchange authorization response indicating at least one of exchange approval or exchange denial.
[0262] In some embodiments, the exchange authority response defines a response to the exchange authority request. In some embodiments, the exchange authority response is provided to the exchange platform by a member of the exchange network. The exchange authority response may be provided, for example, by a service provider of the exchange network in response to the exchange authority request indicating one or more valid objects from the exchange request.
[0263] In some embodiments, the exchange authorization response indicates at least one of an exchange approval or an exchange denial. The exchange authorization response can be based at least in part on a comparison between the exchange value (e.g., as modified based at least in part on the validity object) and the asset availability of the service provider instrument. For example, in response to receiving the exchange authorization request, the member can be configured to compare the exchange value with the asset availability of the identified service provider instrument. The value-based exchange can be authorized (e.g., resulting in an exchange approval) if the asset availability exceeds the exchange value; otherwise, the value-based exchange can be denied (e.g., resulting in an exchange denial).
[0264] In some embodiments, the exchange authorization response indicates one or more context response attributes. The one or more context response attributes may, for example, indicate one or more contributing factors to the exchange authorization response. The contributing factors may include, for example, bad actor risk and / or fraud check, error, full authorization, undisclosed instrument, instrument-based risk and / or fraud check, insufficient value, invalid UUEK, limit exceedance (e.g., UUEK or instrument usage limit exceeded), missing line item (e.g., in the case of an exchange of value that does not include a valid object), missing instrument, missing account, required PIN, partial authorization, unavailable member, transaction risk and / or fraud check, unsupported operation, user contact member (e.g., the user may need to contact a member, such as a service provider, to resolve the issue), user risk and / or fraud check, and combinations thereof.
[0265] In some embodiments, the exchange platform may increment a count attribute of each recorded data object corresponding to an authorized valid object of the value-based exchange. By way of example, the count attribute of each recorded data object may be incremented in response to authorization of the object represented by the recorded data object. In some examples, the count attribute may be one of multiple count attributes of the object, enabling the exchange platform to aggregate object-level insights across multiple different member platforms, locations, and / or the like.
[0266] In some embodiments, process 600 includes providing an exchange response at step / operation 616. For example, the exchange platform (e.g., its partner service, etc.) can use a partner interface to provide an exchange response based at least in part on the exchange authorization response. The exchange response may indicate, for example, an exchange approval, an exchange denial, one or more valid objects, and / or one or more invalid objects for the exchange request.
[0267] In some embodiments, the exchange response defines a response to the exchange request. In some embodiments, the exchange response is provided from the exchange platform to the member that submitted the exchange request. The exchange response may indicate exchange approval and / or exchange denial. Additionally or alternatively, the exchange response may indicate valid data objects, invalid data objects, and / or context response attributes. By way of example, the exchange response may indicate one or more valid objects and / or one or more invalid objects for the exchange request.
[0268] In some embodiments, the exchange platform updates an exchange record based at least in part on the exchange response. For example, the exchange record can provide context information for the exchange request. The context information may indicate one or more aspects of the exchange request, the exchange response, the exchange authorization request, and / or the exchange authorization request.
[0269] FIG. 7 provides a process flow for adjudicating objects in a value-based exchange according to one or more embodiments of the present disclosure. The process flow depicts a network-based process 700 for adjudicating objects in a value-based exchange leveraging a UUEK, user attributes, and / or recorded data objects. Process 700, as described herein, can be utilized to overcome various limitations of conventional exchange systems that are unable to adjudicate individual objects in a value-based exchange over a network. Process 700 can be implemented by one or more computing devices, entities, and / or systems described herein. For example, through the various steps / operations of process 700, an exchange platform can utilize adjudication techniques to overcome various limitations associated with conventional mechanisms of exchange by enabling more flexible network communication between entities.
[0270] 7 illustrates an example process 700 for illustrative purposes. Although the example process 700 depicts a particular sequence of steps / actions, the sequence may be varied without departing from the scope of the present disclosure. For example, some of the depicted steps / actions may be performed in parallel or in a different sequence without substantially impacting the functionality of the process 700. In other examples, different components of the example device or system implementing the process 700 may perform functions substantially simultaneously or in a particular sequence.
[0271] In some examples, process 700 may include one or more sub-operations of step / operation 606 of process 600, in which process 600 is configured to determine one or more valid and / or invalid objects of the exchange request. For example, process 700 may begin at step / operation 606 and end at step / operation 608.
[0272] In some embodiments, process 700 includes, at step / operation 702, identifying one or more user attributes corresponding to the exchange request. For example, an exchange platform (e.g., its partner service, etc.) may identify one or more user attributes corresponding to the exchange request. In some examples, the exchange platform may maintain and / or have access to multiple system user data objects. Each system user data object may correspond to a user associated with a respective service provider instrument. In some examples, the exchange platform may use unique identifier mapping techniques described herein to identify the user attributes based at least in part on the service provider instrument, the exchange request, and / or the UUEK of the exchange request.
[0273] In some embodiments, a system user data object is an external representation of a user within an exchange platform. The system user data object may include one or more user identifiers, such as a member platform user reference, a system user identifier, and / or the like. Additionally or alternatively, the system user data object may include one or more user attributes. In some examples, a user attribute may indicate a user's age. For example, a user attribute may indicate a user's date of birth. Additionally or alternatively, a user attribute may indicate an age group. An age group may indicate a user's age category. For example, an age category may indicate an age range aligned with one or more acquisition restrictions. By way of example, in the United States, age groups may include (i) a minors group indicating users as under 18 years of age, (ii) a first partial minors group indicating users aged 18 to 19 years, (iii) a second partial minors group indicating users aged 19 to 21 years, and (iv) an unrestricted group indicating users aged 21 or over. In this way, user attributes can reflect a user's age-related information without revealing sensitive user information such as the user's birth date.
[0274] In some embodiments, process 700 includes, at step / operation 704, identifying an object from the exchange request. For example, the exchange platform (e.g., its partner service, etc.) may identify an object from the exchange request based at least in part on multiple object identifiers and / or object attributes of the exchange request. The object may, for example, correspond to one object identifier of the multiple object identifiers. Additionally or alternatively, the object may correspond to one or more object attributes (e.g., line item attributes, etc.) of the exchange request.
[0275] In some embodiments, process 700 includes, at step / operation 706, determining whether validation is required for the object. For example, the exchange platform (e.g., its validation service, etc.) may determine whether object validation is required for the object based at least in part on one or more object attributes of the object and / or user attributes (e.g., age group, etc.) corresponding to the exchange request. For example, object validation may be required for restricted objects. In some examples, the exchange platform may identify one or more restricted objects from the plurality of objects based at least in part on one or more object attributes of each object.
[0276] For example, the exchange platform may determine whether an identified object is a restricted object based at least in part on the object's object identifier and / or one or more object attributes. For example, the exchange platform may identify a recorded data object for the object based at least in part on the object identifier, and identify whether the object is a restricted object based at least in part on the recorded data object. For example, the recorded data object may indicate one or more acquisition restrictions, a restricted status, and / or one or more object attributes indicative of a restricted object.
[0277] Additionally or alternatively, the exchange request may include one or more object attributes corresponding to the object, and the exchange platform may identify whether the object is a restricted object based at least in part on a comparison between the one or more object attributes and one or more acquisition restrictions. By way of example, the one or more acquisition restrictions may correspond to one or more object attributes, such as a composition attribute (e.g., percentage of alcohol, etc.), a category attribute (e.g., tobacco, etc.), and / or the like. The one or more object attributes may indicate a restricted object if the object attributes include at least one of the composition attribute and / or category attribute covered by the acquisition restriction.
[0278] If object validation is not required for the object, process 700 may return to step / operation 704 to identify another object from the exchange request. In some examples, process 700 may return to step / operation 704 to determine if each object from the exchange request is a restricted object until each object has been identified. In this manner, the exchange platform may identify one or more restricted objects from the multiple objects of the exchange request.
[0279] If object validation is required (eg, the object is a restricted object), process 700 may proceed to step / action 708 of FIG.
[0280] In some embodiments, process 700 includes determining the validity of the restricted object at step / operation 708. For example, the exchange platform may determine whether the restricted object is a valid object or an invalid object based at least in part on a comparison between one or more user attributes and the acquisition restrictions of the restricted object. In some examples, process 700 may return to step / operation 704 until each object from the exchange request has been identified to determine whether each object is a valid object or an invalid object. In this manner, the exchange platform may identify one or more valid objects and / or one or more invalid objects for the exchange request.
[0281] In some examples, the restricted object may be associated with one or more acquisition restrictions. The exchange platform may determine whether an object is a valid object and / or an invalid object based at least in part on a comparison between one or more user attributes and one or more acquisition restrictions. As one example, the one or more user attributes may indicate the user's age group. The age group may correspond to at least one category defined by the one or more acquisition restrictions. If the age group (e.g., a partial minor age group) reaches a category required by the one or more acquisition restrictions (e.g., 18 to 21 years old), the restricted object may be determined to be a valid object. If the age group (e.g., 18 to 21 years old) does not reach a category required by the one or more acquisition restrictions (e.g., over 21 years old), the restricted object may be determined to be an invalid object. Thus, in some examples, one or more valid objects and / or one or more invalid objects may be based at least in part on the user's age group. The same and / or similar analysis may be performed for each restriction defined by the one or more acquisition restrictions.
[0282] In some examples, the one or more acquisition limits can be based at least in part on an exchange location associated with the value-based exchange. For example, the exchange request may indicate the exchange location. The exchange platform can determine the one or more acquisition limits based at least in part on the exchange location and apply the one or more acquisition limits to user attributes to determine whether the restricted object is a valid object for an invalid object. In this manner, the one or more valid objects and / or one or more invalid objects for the exchange request can be based at least in part on the exchange location.
[0283] In some embodiments, a valid object is an object in a value-based exchange that has been authorized according to one or more acquisition limits (if applicable). A valid object may correspond to, for example, an object identifier and / or one or more object attributes that reach an acquisition limit corresponding to the restricted object, do not correspond to a restricted object in a value-based exchange, and / or correspond to a restricted object. As an example, in a financial value system, a valid object may be a product or service that is eligible for purchase by a user of a service provider instrument at an exchange location. As an example, a product may be one gallon of milk, which may be associated with a SKU code and / or one or more object attributes such as "Category: Dairy," "Quantity: 1 Gallon," and / or the like. A product may be a valid object for a value-based exchange if no acquisition limits apply to the SKU code and / or one or more object attributes such as "Category: Dairy," "Quantity: 1 Gallon," and / or the like.
[0284] In some embodiments, an invalid object is an object in a value-based exchange that is not authorized according to one or more acquisition restrictions (if applicable). An invalid object may correspond to, for example, an object identifier and / or one or more object attributes corresponding to a restricted object in a value-based exchange that does not meet the acquisition restriction corresponding to the restricted object. By way of example, in a financial value system, an invalid object may be a product or service that is ineligible for purchase by a user of a service provider instrument at an exchange location. By way of example, a product may be one liter of alcohol, which may be associated with a SKU code and / or one or more object attributes, such as "Category: Restricted Substance," "Quantity: Liters," and / or the like. A product may become an invalid object for a value-based exchange if the SKU code and / or one or more object attributes "Category: Restricted Substance," "Quantity: 1 Liter" meet the acquisition restrictions and one or more user attributes and / or exchange location do not meet the acquisition restrictions.
[0285] In some embodiments, the exchange platform may increment a count attribute of each recorded data object that corresponds to an activated object. By way of example, the count attribute of each recorded data object may be incremented in response to activation of the object represented by the recorded data object. In some examples, the count attribute may be one of multiple count attributes of an object that allows the exchange platform to aggregate object-level insights across multiple different member platforms, locations, and / or the like.
[0286] In some embodiments, the exchange platform may generate a valid exchange data object for the exchange request. The valid exchange data object may be a data object that indicates one or more valid objects of the value-based exchange. In some examples, the valid exchange data object may be based at least in part on a comparison between the exchange request and / or one or more user attributes corresponding to the exchange request. In some examples, the valid exchange data object may include multiple object identifiers and / or one or more object attributes of one or more valid objects of the value-based exchange.
[0287] In some examples, the valid exchange data objects may represent an exchange value. The exchange value may be an aggregate value of each of the valid data objects. In some examples, the exchange value may be modified from an initial exchange value using some of the techniques of this disclosure to align the exchange value with the valid objects of the value-based exchange.
[0288] In some cases, a valid exchange data object may indicate one or more object statuses of one or more valid objects.
[0289] In some embodiments, the exchange platform may generate an invalid exchange data object for the exchange request. The invalid exchange data object is a data object that indicates one or more invalid objects of the value-based exchange. In some examples, the invalid exchange data object may be based, at least in part, on a comparison between the exchange request and one or more user attributes corresponding to the exchange request. For example, the invalid exchange data object may indicate multiple invalid objects of the value-based exchange. Additionally or alternatively, the invalid exchange data object may be based, at least in part, on the exchange request and the valid exchange data object. For example, the invalid exchange data object may indicate multiple invalid objects of the value-based exchange. For example, the invalid exchange data object may indicate multiple objects of the value-based exchange that are not included in the valid exchange data object.
[0290] The invalid exchange data object may include multiple object identifiers and / or one or more object attributes of one or more invalid objects of a value-based exchange. In some examples, the invalid exchange data object may indicate one or more object statuses of one or more invalid objects.
[0291] 8 provides a message flow diagram illustrating steps / actions for adjudicating a value-based exchange tailored to user attributes associated with the value-based exchange. As will be appreciated, the steps / actions of the message flow diagram may be performed and accomplished by the corresponding steps / actions of FIGS. 6 and 7.
[0292] In step / action 804 , user 802 initiates a value-based exchange to obtain multiple objects from partner platform 420 using a service provider instrument maintained by service provider platform 440 .
[0293] In step / operation 806, the partner platform 420 provides an exchange request to an exchange platform (e.g., its partner service 410, etc.) to perform a value-based exchange. The exchange request includes a UUEK and indicates multiple objects. For example, the partner platform 420 can send an exchange request with a UUEK and multiple object identifiers to the exchange platform (e.g., its partner service 410, etc.). In some examples, the multiple object identifiers can include multiple SKUs.
[0294] In step / operation 808, the exchange platform (e.g., its partner service 410, etc.) provides the UUEK and data indicative of the plurality of objects to the service provider service 412 corresponding to the UUEK. For example, the exchange platform (e.g., its partner service 410, etc.) can invoke the service provider service 412 with the UUEK and the plurality of object identifiers in an exchange request.
[0295] In step / operation 810, the exchange platform (e.g., its service provider service 412, etc.) identifies the service provider instrument and / or user corresponding to the UUEK. For example, the exchange platform (e.g., its service provider service 412, etc.) may search for system user data objects and system instrument data objects associated with the UUEK.
[0296] In step / operation 812, the exchange platform (e.g., its service provider service 412, etc.) determines whether object activation is required for the value-based exchange based at least in part on the user and / or service provider instrument. For example, the exchange platform (e.g., its service provider service 412, etc.) may determine whether object activation is required for the exchange request based at least in part on the UUEK, user, service provider instrument, and / or object identifier of the exchange request.
[0297] In response to determining that object activation is required, in step / act 814, the exchange platform (e.g., its service provider services 412, etc.) provides data indicative of a user and / or multiple objects to the activation service 408. For example, the exchange platform (e.g., its service provider services 412, etc.) can invoke the activation service 408 with multiple object identifiers of the exchange request and the system user data object.
[0298] In step / operation 816, the exchange platform (e.g., its enablement service 408, etc.) identifies one or more acquisition restrictions corresponding to the plurality of objects and / or system user data objects. For example, the exchange platform (e.g., its enablement service 408, etc.) may search the object identifier of the exchange request to identify the one or more acquisition restrictions.
[0299] In step / operation 818, the exchange platform (e.g., its activation service 408, etc.) activates one or more of the plurality of objects based at least in part on a comparison between the system user data object and one or more acquisition restrictions. For example, the exchange platform (e.g., its activation service 408, etc.) may activate one or more of the plurality of objects against one or more acquisition restrictions corresponding to the object.
[0300] In step / operation 820, the exchange platform (e.g., its activation service 408, etc.) provides data indicating a plurality of valid objects to the service provider service 412. In some examples, the exchange platform (e.g., its activation service 408, etc.) can provide a list of invalid object identifiers to the service provider service 412 to identify valid objects (e.g., by distinguishing invalid objects from valid objects). For example, the exchange platform (e.g., its activation service 408, etc.) can return a list of object identifiers that are not eligible for value-based exchange.
[0301] In step / operation 822, the exchange platform (e.g., its service provider service 412, etc.) modifies the exchange value based at least in part on one or more valid objects. For example, the exchange platform (e.g., its service provider service 412, etc.) can adjust the amount of authority of the service provider platform 440 when applicable (e.g., one or more valid objects) or decline the value-based exchange when appropriate (e.g., no valid objects).
[0302] In step / operation 824, the exchange platform (e.g., its service provider service 412, etc.) provides the exchange authorization request to the service provider platform 440. The exchange platform (e.g., its service provider service 412, etc.) can initiate a call (e.g., an API call, etc.) to the service provider platform 440 to request authorization for the total of eligible objects from the multiple objects in the exchange request, for example.
[0303] In step / action 826, the service provider platform 440 provides the exchange authorization response to the exchange platform (e.g., its service provider service 412, etc.). The service provider platform 440 can, for example, return an authorization decision (e.g., approve, deny, etc.).
[0304] In step / operation 828, the exchange platform (e.g., its service provider service 412, etc.) provides an exchange authorization response and / or data indicating one or more valid objects to the partner service 410. In some examples, the exchange platform (e.g., its service provider service 412, etc.) can provide a list of invalid object identifiers to the partner service 410. The exchange platform (e.g., its service provider service 412, etc.) can return, for example, an authorization decision and details of the object identifiers (e.g., of one or more invalid objects) that are ineligible for retrieval.
[0305] In step / operation 830, the exchange platform (e.g., its partner service 410, etc.) provides an exchange response to the partner platform 420. The exchange response may indicate an exchange authorization response and / or data indicating one or more valid objects. In some examples, the exchange platform (e.g., its partner service 410, etc.) can provide a list of invalid object identifiers to the partner platform 420. For example, the partner service 410 can return an authorization decision and details of the object identifiers (e.g., of one or more invalid objects) that are ineligible for acquisition (e.g., $100 approved, remove alcoholic beverages).
[0306] In step / act 832, partner platform 420 provides an indication of the exchange response to user 802. For example, partner platform 420 may return an authorization decision to user 802.
[0307] VI. Conclusion Many modifications and other embodiments will come to mind to one skilled in the art to which this disclosure pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. It is to be understood, therefore, that the disclosure is not limited to the particular embodiments disclosed, and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. receiving, by one or more processors and using a partner interface, an exchange request for conducting a value-based exchange, the exchange request indicating a universally unique ephemeral key (UUEK) comprising an exchange identifier; identifying, by the one or more processors, an exchange data object based at least in part on the exchange identifier, the exchange data object comprising (i) an instrument identifier of a service provider instrument of a member platform, and (ii) a user identifier of a user associated with the service provider instrument; determining, by the one or more processors, one or more valid objects and one or more invalid objects for the exchange request based at least in part on one or more user attributes corresponding to the user; providing, by the one or more processors and using a service provider interface, an exchange authorization request to the member platform, the exchange authorization request indicating the instrument identifier and the one or more valid objects for the exchange request; receiving, by the one or more processors and using the service provider interface, an interchange authorization response indicating at least one of interchange approval or interchange denial; providing, by the one or more processors and using the partner interface, an exchange response based at least in part on the exchange authorization response, the exchange response indicating (i) the exchange approval or the exchange denial, and (ii) the one or more invalid objects for the exchange request; 20. A computer-implemented method comprising:
2. the exchange request indicates a plurality of objects, and determining the one or more valid objects and the one or more invalid objects comprises: identifying one or more restriction objects from the plurality of objects, the one or more restriction objects being associated with one or more capture restrictions; determining the one or more valid objects and the one or more invalid objects based at least in part on a comparison between the one or more user attributes and the one or more capture limits; The computer-implemented method of claim 1 , comprising:
3. The computer-implemented method of claim 2 , wherein the one or more acquisition limits are based at least in part on an exchange location associated with the value-based exchange.
4. 3. The computer-implemented method of claim 2, wherein the one or more user attributes indicate an age group of the user, and the one or more valid objects and the one or more invalid objects are based at least in part on the age group.
5. The computer-implemented method of claim 4 , wherein the age group corresponds to at least one category defined by the one or more acquisition restrictions.
6. the exchange request comprises a plurality of object identifiers corresponding to the plurality of objects, and identifying a restricted object of the one or more restricted objects comprises: identifying a recorded data object for one of the plurality of objects based at least in part on an object identifier of one of the plurality of object identifiers; identifying the restricted object based at least in part on the recorded data object; The computer-implemented method of claim 2 , comprising:
7. 7. The computer-implemented method of claim 6, wherein the object identifier is a stock keeping unit.
8. 3. The computer-implemented method of claim 2, wherein the exchange request comprises a plurality of object attributes corresponding to the plurality of objects, and a restricted object is identified based at least in part on a comparison between one or more object attributes of the plurality of object attributes and the one or more acquisition restrictions.
9. The computer-implemented method of claim 8 , wherein the plurality of object attributes comprises at least one of composition attributes or category attributes.
10. 2. The computer-implemented method of claim 1, wherein the exchange request indicates an exchange location, and the one or more valid objects and the one or more invalid objects for the exchange request are based at least in part on the exchange location.
11. the exchange request comprises a plurality of object values corresponding to a plurality of objects associated with the value-based exchange, and initial exchange values of the plurality of objects; determining an exchange value of the value-based exchange by modifying the initial exchange value based at least in part on one or more of the plurality of object values corresponding to the one or more valid objects; providing the redemption authority request to the member platform using the service provider interface, the redemption authority request indicating the redemption value; The computer-implemented method of claim 1 further comprising:
12. 1. A computing system comprising: a memory; and one or more processors communicatively coupled to the memory, the one or more processors: receiving, using a partner interface, an exchange request for conducting a value-based exchange, the exchange request indicating a universally unique ephemeral key (UUEK) comprising an exchange identifier; identifying an exchange data object based at least in part on the exchange identifier, the exchange data object comprising (i) an instrument identifier of a service provider instrument of a member platform, and (ii) a user identifier of a user associated with the service provider instrument; determining one or more valid objects and one or more invalid objects for the exchange request based at least in part on one or more user attributes corresponding to the user; providing an exchange authorization request to the member platform using a service provider interface, the exchange authorization request indicating the instrument identifier and the one or more valid objects for the exchange request; receiving an exchange authorization response using the service provider interface indicating at least one of an exchange approval or an exchange denial; providing an exchange response based at least in part on the exchange authorization response using the partner interface, the exchange response indicating (i) the exchange approval or the exchange denial, and (ii) the one or more invalid objects for the exchange request; 1. A computing system configured to:
13. the exchange request indicating a plurality of objects, determining the one or more valid objects and the one or more invalid objects; identifying one or more restriction objects from the plurality of objects, the one or more restriction objects being associated with one or more acquisition restrictions; determining the one or more valid objects and the one or more invalid objects based at least in part on a comparison between the one or more user attributes and the one or more capture limits; 13. The computing system of claim 12, comprising:
14. 14. The computing system of claim 13, wherein the one or more acquisition limits are based at least in part on an exchange location associated with the value-based exchange.
15. 14. The computing system of claim 13, wherein the one or more user attributes indicate an age group of the user, and the one or more valid objects and the one or more invalid objects are based at least in part on the age group.
16. 16. The computing system of claim 15, wherein the age group corresponds to at least one category defined by the one or more acquisition restrictions.
17. When executed by one or more processors, receiving, using a partner interface, an exchange request for conducting a value-based exchange, the exchange request indicating a universally unique ephemeral key (UUEK) comprising an exchange identifier; identifying an exchange data object based at least in part on the exchange identifier, the exchange data object comprising (i) an instrument identifier of a service provider instrument of a member platform, and (ii) a user identifier of a user associated with the service provider instrument; determining one or more valid objects and one or more invalid objects for the exchange request based at least in part on one or more user attributes corresponding to the user; providing an exchange authorization request to the member platform using a service provider interface, the exchange authorization request indicating the instrument identifier and the one or more valid objects for the exchange request; receiving an exchange authorization response using the service provider interface indicating at least one of an exchange approval or an exchange denial; providing an exchange response based at least in part on the exchange authorization response using the partner interface, the exchange response indicating (i) the exchange approval or the exchange denial, and (ii) the one or more invalid objects for the exchange request; one or more non-transitory computer-readable storage media comprising instructions that cause the one or more processors to:
18. the exchange request indicating a plurality of objects, determining the one or more valid objects and the one or more invalid objects; identifying one or more restriction objects from the plurality of objects, the one or more restriction objects being associated with one or more acquisition restrictions; determining the one or more valid objects and the one or more invalid objects based at least in part on a comparison between the one or more user attributes and the one or more capture limits; 20. One or more non-transitory computer-readable storage media according to claim 17, comprising:
19. 20. The one or more non-transitory computer-readable storage media of claim 18, wherein the exchange request comprises a plurality of object attributes corresponding to the plurality of objects, and wherein a restricted object is identified based at least in part on a comparison between one or more object attributes of the plurality of object attributes and the one or more acquisition restrictions.
20. 20. The one or more non-transitory computer-readable storage media of claim 19, wherein the plurality of object attributes comprises at least one of composition attributes or category attributes.
Citation Information
Patent Citations
Temporary settling number system, managing device of temporary settling number and computer-readable recording medium
JP2001067396A
Authentication processing method, authentication processing system, settlement method, user device, and storage medium in which program to perform authentication processing is stored
JP2002074223A
Method for electric commerce, settlement proxy method, information issuing method of disposable and post-paying system and settlement requesting method
JP2002342688A
Method and System for Partial Approval of Virtual Card Transactions
US20160335634A1
Real-time merchandising system
US20210295367A1