Univers V-Commerce Protocol · UVCP
Basket
An assistant finds something the person would want and sets it aside. It waits in their own account. Nothing is reserved, nothing is charged, and the person decides.
- Capability
com.univershq.vcommerce.basket- Version
2026-09-25- Schema
https://vcommerce.univershq.com/2026-09-25/schemas/basket.json- Builds on
- Universal Commerce Protocol 2026-08-25, over MCP
- Permission
com.univershq.vcommerce.basket:write, through Identity
Why it exists
A commerce protocol can describe a cart. It has no word for the thing a house actually wants an assistant to do, which is to choose well and then stop.
This capability is that stop, made explicit. An assistant may put a piece where the person will find it. It may not buy it, price it, reserve it, or decide for them. What the person meets when they next open their account is a small number of pieces somebody thought were right, and a decision that is still entirely theirs.
What it is not
It is not a cart the assistant owns. The basket belongs to the person, it is the same one they would fill themselves, and an assistant with this permission adds to it rather than keeping one of its own.
It is not a reservation. Nothing is held back from anybody else, and a store that sold the last one in the meantime is telling the truth rather than breaking a promise.
It is not a purchase, and no extension of it ever becomes one. Completing a purchase is a separate matter a house decides separately, and the answer in a UVCP store is that the person returns to the store's own checkout to pay.
Whose basket
The basket comes from the permission, never from the request. There is no argument anywhere in this capability that names a person, which is why one person's basket cannot be reached from another's: not because it is defended, but because there is no way to ask.
The answer
{
"ok": true,
"item": { "id": "al-buraq", "name": "Al Buraq", "quantity": 1 },
"already": false,
"message": "Set aside. It waits in their account for them to decide. Nothing was charged."
}already is true when the piece was waiting before. Setting a thing aside twice does not make it two, and an assistant that repeats itself has not changed anything.
The message is written to be repeated to a person. It says that nothing was charged, because that is the first thing anybody asks.
Taking it back out
The same capability takes a piece back out. An assistant that put something there may remove it, and the answer says plainly when there was nothing of its to take.
What a store must hold to offer it
| The person | A permission they gave, carrying com.univershq.vcommerce.basket:write. See Identity. |
|---|---|
| The house | Its own rule, applied to every act and not only when the permission was made. A house may deny this capability while a person has permitted it, and the narrower wins. |
| The record | Every act attributed to the permission that caused it, so a house can say who acted, for whom, and what they left behind. |