{ "lexicon": 1, "id": "com.publicdomainrelay.temp.market.rfp", "defs": { "main": { "type": "record", "description": "Top-level Request For Proposal (RFP). Envelope that strongRefs a domain-specific payload (e.g. compute.vm).", "key": "tid", "record": { "type": "object", "required": [ "payload", "signatures" ], "properties": { "payload": { "type": "ref", "ref": "com.atproto.repo.strongRef", "description": "Strong reference to the domain-specific payload record (for example a com.publicdomainrelay.temp.compute.vm)." }, "submitBid": { "type": "string", "description": "Service DID reference (did:web:HOST#temp_market) of the RFP issuer's market service. Optional; bypasses the need for bids to be seen in the firehose. The bidder calls com.publicdomainrelay.temp.market.submitBid via PDS service-proxying using this value as the atproto-proxy target." }, "policies": { "type": "array", "items": { "type": "ref", "ref": "com.atproto.repo.strongRef" }, "description": "Strong references to fulfillment policy records (for example com.publicdomainrelay.temp.market.policies.builtin). Declares admission criteria: who may bid on and fulfill this RFP. Empty/absent means no policy restriction — open to all bidders, backward compatible. Carries downstream through subcontracting chains." }, "signatures": { "type": "ref", "ref": "network.attested.signature#signatures", "description": "badge.blue attestations over this RFP. Must include the issuer's inline signature, attached at creation (before any bid strongRefs this record); post-hoc third-party attestations use remote network.attested.signature proof records instead, so the RFP's CID stays stable." }, "onBehalfOf": { "type": "ref", "ref": "com.atproto.repo.strongRef", "description": "Set when the issuer is acting for someone else, naming the record that authorizes it (for a gateway, the session it opened). A fulfillment policy can then evaluate the original party instead of the issuer." } } } } } }