com.publicdomainrelay.temp.market.bids.x402
Schema Diff
+7 -1
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 3 non-breaking changes.
Breaking Changes (1)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.publicdomainrelay.temp.market.bids.x402:body", src: "com.publicdomainrelay.temp.market.bids.x402:body", tgt: "com.publicdomainrelay.temp.market.bids.x402:body.signatures", kind: "prop", name: Some("signatures") }
Non-Breaking Changes (3)
- AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.bids.x402:body.signatures" }
- AddedVertex AddedVertex { vertex_id: "network.attested.signature#signatures" }
- AddedEdge AddedEdge { src: "com.publicdomainrelay.temp.market.bids.x402:body.signatures", tgt: "network.attested.signature#signatures", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.bids.x402:body.signatures" }AddedVertex { vertex_id: "network.attested.signature#signatures" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "com.publicdomainrelay.temp.market.bids.x402:body", src: "com.publicdomainrelay.temp.market.bids.x402:body", tgt: "com.publicdomainrelay.temp.market.bids.x402:body.signatures", kind: "prop", name: Some("signatures") }
- Non-breaking: AddedEdge { src: "com.publicdomainrelay.temp.market.bids.x402:body.signatures", tgt: "network.attested.signature#signatures", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Includes pricing/payment terms and x402 endpoint for issuing a receipt against an accept.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"cost": {
10
10
"description": "Numeric price (integer or float) per the chosen frequency.",
11
11
"type": "unknown"
12
12
},
13
13
"currency": {
14
14
"description": "Currency code, e.g. 'USDC'.",
15
15
"type": "string"
16
16
},
17
17
"frequency": {
18
18
"description": "Billing frequency, e.g. 'monthly', 'hourly', 'one-time'.",
19
19
"type": "string"
20
20
},
21
21
"prepay": {
22
22
"description": "Whether payment is required before compute starts.",
23
23
"type": "boolean"
24
24
},
25
+
"signatures": {
26
+
"description": "badge.blue attestations over these payment terms. Must include the bidder's inline signature, attached at creation, so the advertised price and payment endpoint are non-repudiable.",
27
+
"ref": "network.attested.signature#signatures",
28
+
"type": "ref"
29
+
},
25
30
"url": {
26
31
"description": "x402 payment endpoint URL. To settle payment the requester first mints a com.publicdomainrelay.temp.market.accepts.x402 record, then issues an x402-gated GET to `{url}/{accepts.x402 AT-URI}/{accepts.x402 CID}`; on payment the bidder mints and returns a com.publicdomainrelay.temp.market.receipts.x402 proof-of-payment record. That receipt is then used as the payload of the higher-level com.publicdomainrelay.temp.market.accept.",
27
32
"type": "string"
28
33
}
29
34
},
30
35
"required": [
31
36
"cost",
32
37
"currency",
33
38
"frequency",
34
39
"prepay",
35
-
"url"
40
+
"url",
41
+
"signatures"
36
42
],
37
43
"type": "object"
38
44
},
39
45
"type": "record"
40
46
}
41
47
},
42
48
"id": "com.publicdomainrelay.temp.market.bids.x402",
43
49
"lexicon": 1
44
50
}