You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move AuthorizationRequired from TAIP-15 to TAIP-4 as standard authorization message
- Add AuthorizationRequired message specification to TAIP-4 as core authorization protocol
- Include optional 'from' field to specify party type (customer, principal, originator) required to open URL
- Update TypeScript interface with enhanced documentation and TAIP-4 reference
- Document AuthorizationRequired in messages.md as part of authorization flow
- Update TAIP-15 to reference TAIP-4 for complete AuthorizationRequired specification
- Add comprehensive test case example and update action list in TAIP-4
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: TAIPs/taip-15.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ status: Review
5
5
type: Standard
6
6
author: Pelle Braendgaard <pelle@notabene.id>
7
7
created: 2024-03-21
8
-
updated: 2025-06-23
8
+
updated: 2025-08-03
9
9
description: Establishes a protocol for creating secure, authorized connections between TAP agents with predefined transaction constraints and OAuth-style authorization flows. Enables persistent B2B integrations with transaction limits, purpose restrictions, and user control mechanisms for ongoing business relationships while maintaining robust risk management.
10
10
requires: [2, 4, 6, 9, 13]
11
11
---
@@ -70,12 +70,15 @@ A message sent by an agent requesting connection to another agent:
70
70
71
71
### AuthorizationRequired Message
72
72
73
-
A message sent in response to a Connect request when interactive authorization is needed:
73
+
A message sent in response to a Connect request when interactive authorization is needed. This message follows the specification defined in [TAIP-4] for interactive authorization flows.
74
74
75
75
-`@context` - REQUIRED the JSON-LD context `https://tap.rsvp/schema/1.0`
76
76
-`@type` - REQUIRED the JSON-LD type `https://tap.rsvp/schema/1.0#AuthorizationRequired`
77
-
-`authorization_url` - REQUIRED string URL where the user can authorize the connection
77
+
-`authorizationUrl` - REQUIRED string URL where the user can authorize the connection
78
78
-`expires` - REQUIRED string ISO 8601 timestamp when the authorization URL expires
79
+
-`from` - OPTIONAL the party type (e.g., `customer`, `principal`, or `originator`) that is required to open the URL
80
+
81
+
For the complete specification of this message type, see [TAIP-4].
79
82
80
83
### Authorize Message
81
84
@@ -359,7 +362,7 @@ The following are example plaintext messages. See [TAIP-2] for how to sign the m
description: A protocol framework enabling off-chain authorization of blockchain transactions through DID-based agents before settlement. Separates transaction ordering, authorization, and settlement into distinct phases to address compliance, risk management, and operational challenges without changing permissionless blockchain characteristics.
@@ -89,8 +89,9 @@ Messages implement [TAIP-2] and are sent between [TAIP-5 Agents][TAIP-5] after a
89
89
90
90
It is essential to understand that this is, strictly speaking, a messaging standard. No shared state is implied between agents except the ultimate settlement on a blockchain.
91
91
92
-
There are three primary actions an agent can take:
92
+
There are four primary actions an agent can take:
93
93
94
+
-`AuthorizationRequired` - Request that an end user opens an authorization URL to approve the transaction.
94
95
-`Settle` - They announce they will send the transaction to the blockchain.
95
96
-`Authorize` - Authorize or signal to other agents that they are free to `settle` a transaction.
96
97
-`Cancel` - Signal to other agents that they are canceling the transaction.
@@ -99,6 +100,16 @@ There are three primary actions an agent can take:
99
100
100
101
All messages are sent as replies to an initial request by specifying the `id` of the original request in the `thid` attribute.
101
102
103
+
### AuthorizationRequired
104
+
105
+
Any agent can require that an end user opens up an authorization URL in a web browser or app before proceeding with the transaction. An agent may require this to ensure that the end user authorizes a payment. The following shows the attributes of the `body` object:
106
+
107
+
-`@context` - REQUIRED the JSON-LD context `https://tap.rsvp/schema/1.0`
108
+
-`@type` - REQUIRED the JSON-LD type `https://tap.rsvp/schema/1.0#AuthorizationRequired`
109
+
-`authorizationUrl` - REQUIRED string URL where the user can authorize the transaction
110
+
-`expires` - REQUIRED string ISO 8601 timestamp when the authorization URL expires
111
+
-`from` - OPTIONAL the party type (e.g., `customer`, `principal`, or `originator`) that is required to open the URL
112
+
102
113
### Authorize
103
114
104
115
Any agent can authorize the transaction by replying as a thread to the initial message. The following shows the attributes of the `body` object:
@@ -364,6 +375,24 @@ It is very important to understand that messages are just messages. Agents may o
364
375
<!--Please add diverse test cases here if applicable. Any normative definition of an interface requires test cases to be implementable. -->
365
376
The following are example plaintext messages. See [TAIP-2] for how to sign the messages.
@@ -423,6 +424,40 @@ Requests an agent to hold assets in escrow on behalf of parties, enabling paymen
423
424
424
425
## Authorization Flow Messages
425
426
427
+
### AuthorizationRequired
428
+
[TAIP-4] - Review
429
+
430
+
An agent can require that an end user opens up an authorization URL in a web browser or app before proceeding with the transaction. An agent may require this to ensure that the end user authorizes a payment.
431
+
432
+
| Attribute | Type | Required | Status | Description |
0 commit comments