{
"id": "com.publicdomainrelay.temp.market.submitAccept",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"acceptUri",
"acceptCid"
],
"properties": {
"acceptCid": {
"type": "string",
"description": "CID of the accept record."
},
"acceptUri": {
"type": "string",
"description": "AT-URI of the accept record."
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "InvalidRequest"
},
{
"name": "Forbidden"
}
],
"output": {
"schema": {
"type": "object",
"required": [
"id",
"uri",
"cid",
"submitEvent"
],
"properties": {
"id": {
"type": "string",
"description": "Record key (rkey) of the newly minted receipt."
},
"cid": {
"type": "string",
"description": "CID of the newly minted receipt record."
},
"uri": {
"type": "string",
"description": "AT-URI of the newly minted receipt record."
},
"submitEvent": {
"type": "string",
"description": "Service DID reference (did:web:HOST#compute_event) of the bidder's compute-event service, scoped to this receipt's strongRef. The requester calls com.publicdomainrelay.temp.market.submitEvent via PDS service-proxying using this value as the atproto-proxy target."
}
}
},
"encoding": "application/json"
},
"description": "Submit the AT-URI and CID of an accept record directly to the bidder named in the winning bid's payload, settling the contract: the bidder resolves accept->bid->rfp->vm, provisions the resource, mints a market.receipt record, and returns a strong reference to it plus its submitEvent service DID reference. Must be called via PDS service-proxying (atproto-proxy); the receiver verifies the inter-service auth JWT and requires its issuer to be the DID that authored the referenced accept record. The receiver additionally verifies badge.blue attestations (network.attested.signature) across the contract graph: the accept's inline signature, the bid's and RFP's inline signatures, and the accept payload's remote-attestation binding (receipts.* cid) before provisioning."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}