# com.publicdomainrelay.temp.market.receipts.x402

> Published by [johnandersen777.bsky.social](https://lexicon.garden/identity/did:plc:5svqtrhheairglgiiyvutzik)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:5svqtrhheairglgiiyvutzik/com.publicdomainrelay.temp.market.receipts.x402)
- [Documentation](https://lexicon.garden/lexicon/did:plc:5svqtrhheairglgiiyvutzik/com.publicdomainrelay.temp.market.receipts.x402/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:5svqtrhheairglgiiyvutzik/com.publicdomainrelay.temp.market.receipts.x402/examples)

## Definitions

### `com.publicdomainrelay.temp.market.receipts.x402`

**Type**: `record`

Proof-of-payment receipt minted by the bidder in response to a successful x402-gated GET against the bids.x402 url. Returned (by AT-URI + CID) to the requester, which uses it as the payload of the higher-level com.publicdomainrelay.temp.market.accept so the bidder can verify payment before provisioning.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes | badge.blue attestation CID over the referenced accepts.x402 record, making this receipt a remote attestation proof: computed from the accepts.x402 record (signatures stripped), this receipt's metadata (cid/signatures stripped, repository = requester's repo DID added) as $sig, via DAG-CBOR + SHA-256 + CIDv1. Re-binding the proof-of-payment to a copy of the accepts.x402 in another repository fails verification — badge.blue's replay-attack prevention applied to payment receipts. |
| `accept` | `ref` → `com.atproto.repo.strongRef` | Yes | Strong reference to the com.publicdomainrelay.temp.market.accepts.x402 record that this payment settles. |
| `signatures` | `ref` → `network.attested.signature#signatures` | Yes | badge.blue attestations over this receipt. Must include the bidder's inline signature, attached at creation, so the proof-of-payment is non-repudiable. |

## Raw Schema

```json
{
  "id": "com.publicdomainrelay.temp.market.receipts.x402",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "accept",
          "cid",
          "signatures"
        ],
        "properties": {
          "cid": {
            "type": "string",
            "format": "cid",
            "description": "badge.blue attestation CID over the referenced accepts.x402 record, making this receipt a remote attestation proof: computed from the accepts.x402 record (signatures stripped), this receipt's metadata (cid/signatures stripped, repository = requester's repo DID added) as $sig, via DAG-CBOR + SHA-256 + CIDv1. Re-binding the proof-of-payment to a copy of the accepts.x402 in another repository fails verification — badge.blue's replay-attack prevention applied to payment receipts."
          },
          "accept": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref",
            "description": "Strong reference to the com.publicdomainrelay.temp.market.accepts.x402 record that this payment settles."
          },
          "signatures": {
            "ref": "network.attested.signature#signatures",
            "type": "ref",
            "description": "badge.blue attestations over this receipt. Must include the bidder's inline signature, attached at creation, so the proof-of-payment is non-repudiable."
          }
        }
      },
      "description": "Proof-of-payment receipt minted by the bidder in response to a successful x402-gated GET against the bids.x402 url. Returned (by AT-URI + CID) to the requester, which uses it as the payload of the higher-level com.publicdomainrelay.temp.market.accept so the bidder can verify payment before provisioning."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
