com.publicdomainrelay.temp.market.bids.x402

johnandersen777.bsky.social

Schema Diff

+7 -1

From

CID
bafyreid23tdbvr5...
Indexed At
2026-06-08 06:09 UTC
View this version

To

CID
bafyreia2us4lzbl...
Indexed At
2026-06-11 14:13 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@