dev.malpercio.cards.give
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"cardIssue": {
"description": "A single card instance.",
"properties": {
"assetCid": {
"description": "Copied from the set manifest; the canonical fingerprint owner copies must match.",
"format": "cid",
"type": "string"
},
"cardId": {
"maxLength": 64,
"type": "string"
},
"fromPack": {
"description": "The pack give this card was opened from, if any.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"iconCid": {
"format": "cid",
"type": "string"
},
"serial": {
"description": "1-based print number, unique per (set, cardId, variantId).",
"minimum": 1,
"type": "integer"
},
"variantId": {
"maxLength": 64,
"type": "string"
}
},
"required": [
"cardId",
"serial",
"assetCid"
],
"type": "object"
},
"main": {
"description": "Issuance of a single card instance or a sealed pack, written by the provider into its own repo. This record is the root of a card's provenance chain and its at-URI is the card's permanent identity. The rkey is a TID, so issuance order is implicit.",
"key": "tid",
"record": {
"properties": {
"context": {
"description": "Why it was issued, e.g. 'Opened from pack at://...'.",
"maxLength": 512,
"type": "string"
},
"givenAt": {
"format": "datetime",
"type": "string"
},
"issue": {
"description": "What was issued: a single card or a sealed pack.",
"refs": [
"#cardIssue",
"#packIssue"
],
"type": "union"
},
"recipient": {
"description": "The DID this give was issued to.",
"format": "did",
"type": "string"
},
"revokedAt": {
"description": "Set to invalidate this give. Verifiers must treat the whole downstream chain as void.",
"format": "datetime",
"type": "string"
},
"set": {
"description": "The dev.malpercio.cards.set manifest this was printed from.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"source": {
"description": "The record that triggered issuance, e.g. the like on a pack post. For packs, the seed is derived from it.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"set",
"recipient",
"givenAt",
"issue"
],
"type": "object"
},
"type": "record"
},
"packIssue": {
"description": "A sealed pack. Contents are drawn and reserved against supply caps at creation, committed by CID, and revealed on open.",
"properties": {
"assetCid": {
"format": "cid",
"type": "string"
},
"cardCount": {
"description": "Number of card gives reserved by this pack.",
"minimum": 1,
"type": "integer"
},
"contentsCid": {
"description": "CID of the DAG-CBOR object {seed, cards:[{cardId, variantId?}]} drawn at creation. Proves the pull was fixed before opening.",
"format": "cid",
"type": "string"
},
"openedAt": {
"format": "datetime",
"type": "string"
},
"packId": {
"maxLength": 64,
"type": "string"
},
"produced": {
"description": "The card gives minted when this pack was opened.",
"items": {
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"type": "array"
},
"seed": {
"description": "Revealed on open so anyone can rebuild the contents object and recompute contentsCid.",
"maxLength": 128,
"type": "string"
},
"serial": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"packId",
"cardCount",
"contentsCid"
],
"type": "object"
}
},
"id": "dev.malpercio.cards.give",
"lexicon": 1
}
Metadata
- DID
-
did:plc:kmg2eqexpdefljft34crzesc - CID
-
bafyreih5bdtfhtqjwzmviftaojucdtbhcyzfor6wm3gehsclcdvjqxgbfa - Indexed At
- 2026-10-20 23:53 UTC
- AT-URI
-
at://did:plc:kmg2eqexpdefljft34crzesc/com.atproto.lexicon.schema/dev.malpercio.cards.give
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
dev.malpercio.cards.item record
A card (or sealed pack) held by the repo owner. Not authoritative on its own: validity comes from the chain of strongRefs back to a provider give whose recipient matches the current owner at each hop. Blobs are the owne…
-
dev.malpercio.cards.set record
A card set manifest, published by a provider. Declares every card in the set with its rarity, supply cap, and canonical art. Print runs are auditable against this record.