dev.cocore.compute.settlement

cocore.dev

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "key": "tid",
      "record": {
        "properties": {
          "amountCharged": {
            "description": "Amount charged to the requester. MUST equal receipt.price for status=settled.",
            "ref": "dev.cocore.compute.defs#money",
            "type": "ref"
          },
          "exchangeAttestation": {
            "description": "Strong-ref to the dev.cocore.compute.exchangeAttestation pinning the software / signing-key combination that produced this settlement.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "exchangeFee": {
            "description": "Exchange's retained fee. amountCharged = providerPayout + exchangeFee.",
            "ref": "dev.cocore.compute.defs#money",
            "type": "ref"
          },
          "policy": {
            "description": "Strong-ref to the dev.cocore.compute.exchangePolicy this settlement was computed under. Lets a verifier re-run the fee math against the same policy that produced the record.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "processorReference": {
            "description": "Opaque processor transaction id (e.g. Stripe PaymentIntent id), encrypted to the involved parties (requester, provider, exchange) so the public record does not leak processor metadata. Verifiers without keys treat this as opaque.",
            "maxLength": 1024,
            "type": "bytes"
          },
          "providerPayout": {
            "description": "Amount paid out to the provider after fees.",
            "ref": "dev.cocore.compute.defs#money",
            "type": "ref"
          },
          "receipt": {
            "description": "Strong-ref to the dev.cocore.compute.receipt being settled.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "refundOf": {
            "description": "When status=refunded, strong-ref to the prior settled settlement record this refund reverses.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "requesterAuthorization": {
            "description": "Strong-ref to the dev.cocore.compute.paymentAuthorization in the requester's repo. Verifiers MUST check it names this exchange's DID and that ceiling >= amountCharged.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "settledAt": {
            "format": "datetime",
            "type": "string"
          },
          "sig": {
            "description": "ES256 signature (base64url, no padding) over the canonical JSON of every other field. Verified against the verificationMethod publicKeyMultibase in the exchange's did document. Optional for v0.3.x exchanges that haven't enabled signing; required for trust-tier=hardware-attested exchanges.",
            "maxLength": 256,
            "type": "string"
          },
          "status": {
            "ref": "dev.cocore.compute.defs#settlementStatus",
            "type": "ref"
          }
        },
        "required": [
          "receipt",
          "requesterAuthorization",
          "amountCharged",
          "providerPayout",
          "exchangeFee",
          "processorReference",
          "status",
          "settledAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "An exchange's signed proof of payment for a receipt. Published by the exchange in its own repo. Strong-refs both the receipt being settled and the requester's payment authorization, so the full chain is independently verifiable.",
  "id": "dev.cocore.compute.settlement",
  "lexicon": 1
}

Validate Record

Validate a record against dev.cocore.compute.settlement

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:5quuhkmwe2q4k3azfsgg7kdz
CID
bafyreihbkcra4dw3fz2xgwmlc45rcromr24l7oacxtgdronnjwjbal3anq
Indexed At
2026-06-17 21:16 UTC
AT-URI
at://did:plc:5quuhkmwe2q4k3azfsgg7kdz/com.atproto.lexicon.schema/dev.cocore.compute.settlement

Referenced Schemas (2)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • An exchange-signed adjudication of a complaint about a settled receipt. Published in the exchange's repo. The exchange's DID is the only DID permitted to publish a record at this NSID for a given settlement; any record …

  • An exchange's self-published statement of operating posture: software commit, public signing key fingerprint, fee policy in effect, audit posture. The provider/requester analog of `dev.cocore.compute.attestation` for th…

  • 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.publi…

  • A requester's signed authorization permitting a named exchange to charge them up to a ceiling for a specific job. Published in the requester's repo before any work runs. Settlement records strong-ref this authorization …

  • A signed receipt of a single completed compute job. Published by the provider in its own repo. Strong-refs the requester's job and the active attestation. Carries an additional Secure-Enclave-bound signature so it remai…

Lexicon Garden

@