There is no shopping cart in this story, and no "Buy Now" button β because there never was one. Commerce here is a status code and a document: 402 when you haven't paid, 200 when you have. This ~5:19 field test asks what happens when an AI agent tries to read on a human principal's behalf, across both the ACP and UCP protocols β and shows, live, exactly where that works and where it rightly doesn't.
Every "Principal" and "Agent" in the diagrams below is a real, cryptographically-verified WebID-TLS identity β not a placeholder. Cert moduli re-checked against each identity's published profile.ttl immediately before this document was written.
DE:9B:0F:1E:83:DB:2F:0E:A1:70:E5:35:05:29:CB:95:D4:E6:81:07profile.ttl (c71938...)
B9:58:40:EF:17:45:B7:5E:FE:B9:1F:8B:CD:11:47:DE:98:6A:19:CDprofile.ttl (da2b89...)
Delegation β
corroborated on both sides: the principal's profile.ttl declares oplcert:hasIdentityDelegate β the agent's WebID, and the agent's own profile.ttl declares oplcert:onBehalfOf β the principal's WebID, consistent across Turtle, JSON-LD, RDFa, and the POSH link in index.html.
Every scene below is a live outcome against one of these two real, protected files on linkeddata.uriburner.com β not synthetic examples.
No cart. No login form. No "Buy Now" button. Just a URL β and HTTP.
Request a protected resource without entitlement and the server responds: 402 Payment Required. Complete the purchase, retry the request, and the resource becomes readable.
That suggests a powerful model for agentic commerce: if buying ultimately establishes the right to access a resource, can an AI agent exercise that right on your behalf β without becoming you? That is what we're going to test.
We'll use two commerce protocols. UCP discovers the offer and initiates checkout. ACP supports cart-and-order purchasing. Their transaction models differ.
But ultimately, both arrive at the same protected resource and the same MPP-controlled 402 boundary. That distinction matters.
Commerce establishes entitlement. The resource enforces it. So delegation can be tested independently of whether the purchase originated through UCP or ACP.
First, the baseline: how does the gate behave when the principal shows up as themselves β no agent, no On-Behalf-Of header at all?
.../daas_paid/food-bookmark-collection-snapshot-2026-09-08.htmlFirst, the control case. The principal authenticates with its own certificate and requests the Food Bookmark Collection on URIBurner. It has never purchased this resource.
The result: 402 Payment Required. The response carries the information required to purchase access. Complete the payment. Retry the same URL. 200 OK. The resource is returned.
We have now established our baseline: this principal is entitled to this resource.
Now request exactly the same URL again using exactly the same principal identity. 200 OK. No checkout. No second payment.
This isn't merely a completed transaction. The server now recognizes a persistent relationship: this principal has standing to access this resource. That is the relationship we are about to delegate.
Now the agent shows up instead β presenting its own certificate, with an On-Behalf-Of header naming the principal.
Now change only the requester. The AI agent authenticates with its own certificate and requests the same resource. The principal is entitled. The agent is not.
Result: 402 Payment Required. That is important. The agent's possession of the URL conveys nothing. Its relationship with the principal conveys nothing implicitly. And its own authenticated identity does not inherit the principal's rights.
Authentication answers who the agent is. It does not answer on whose authority it is acting.
.../daas_paid/food-bookmark-collection-snapshot-2026-09-08.htmlNow we add the delegation signal: On-Behalf-Of. The agent continues authenticating with its own certificate. But the request explicitly identifies the principal on whose behalf the agent is acting. Same agent. Same resource. Same agent certificate. One additional relationship.
Result: 200 OK. We repeated this eleven times and verified it three ways: raw HTTP, the UCP client, and the ACP client. The agent made no new purchase. It did not impersonate the principal.
The principal's existing entitlement was exercised through an explicitly delegated agent.
.../daas_paid/trackloaded-premium-knowledge-inventory-snapshot-2026-09-08.ttl (a different file β never purchased by anyone)But delegation must have limits. So we point the same delegated agent at another protected resource: the Trackloaded Premium Knowledge Inventory. The principal has never purchased it.
Result: 402 Payment Required. Exactly what we want. On-Behalf-Of does not give the agent a wallet. It does not authorize arbitrary purchases. And it does not manufacture entitlements.
Delegation extends an existing right. It does not create one.
Now the important security test. What happens if the agent simply lies? Use the agent itself as the On-Behalf-Of identity. 402. Use an unrelated identity. 402. Omit the delegation identity. 402. Use a different header entirely. 402.
Only the correctly identified principal with an existing entitlement produces: 200 OK. So the header isn't functioning as a bypass.
The server is evaluating an authenticated agent, a delegated principal, and an existing entitlement relationship.
And that is the architectural point. The principal has one identity. The agent has another. The resource has its own identity.
Authentication establishes who is making the request. On-Behalf-Of establishes the delegation relationship. And the resource's authorization layer determines whether that relationship carries sufficient entitlement.
UCP or ACP can establish the commerce transaction. MPP can enforce the 402 boundary. But the agent never needs to become the principal. And it doesn't need unrestricted access to the principal's wallet.
Identity remains distinct. Delegation remains explicit. Authorization remains with the resource. That's a foundation on which agentic commerce can scale.
Continuous read-through for recording, without scene chrome.