app.gainforest.organization.donation
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "A record of a donation or financial transaction for financial transparency",
"key": "tid",
"record": {
"properties": {
"amount": {
"description": "Donation amount in the smallest unit of the currency (e.g., cents for USD)",
"minimum": 0,
"type": "integer"
},
"amountUsd": {
"description": "Equivalent amount in USD at time of donation",
"maxGraphemes": 32,
"type": "string"
},
"blockchainNetwork": {
"description": "Blockchain network the transaction was made on",
"knownValues": [
"celo",
"solana",
"ethereum",
"polygon",
"other"
],
"maxGraphemes": 32,
"type": "string"
},
"createdAt": {
"description": "Record creation timestamp",
"format": "datetime",
"type": "string"
},
"currency": {
"description": "Currency code (e.g., 'USD', 'EUR', 'CELO', 'SOL')",
"maxGraphemes": 16,
"type": "string"
},
"donatedAt": {
"description": "When the donation was made",
"format": "datetime",
"type": "string"
},
"donorDid": {
"description": "Donor's ATProto DID if they have an account",
"format": "did",
"type": "string"
},
"donorIdentifier": {
"description": "Unique identifier for the donor (DID, email hash, or anonymous token)",
"maxGraphemes": 256,
"type": "string"
},
"donorName": {
"description": "Donor name (may be anonymous)",
"maxGraphemes": 256,
"type": "string"
},
"isAnonymous": {
"description": "Whether the donor wishes to remain anonymous",
"type": "boolean"
},
"notes": {
"description": "Additional notes",
"maxGraphemes": 2048,
"type": "string"
},
"paymentMethod": {
"description": "Payment method used for the donation",
"knownValues": [
"stripe",
"bank-transfer",
"celo",
"solana",
"ethereum",
"polygon",
"paypal",
"other"
],
"maxGraphemes": 64,
"type": "string"
},
"purpose": {
"description": "What the donation is for (e.g., 'tree planting', 'equipment', 'salaries')",
"maxGraphemes": 512,
"type": "string"
},
"receiptUrl": {
"description": "URL to donation receipt",
"format": "uri",
"maxGraphemes": 512,
"type": "string"
},
"recipientMemberRef": {
"description": "AT-URI to the member record who received funds",
"format": "at-uri",
"type": "string"
},
"transactionHash": {
"description": "Blockchain transaction hash if crypto",
"maxGraphemes": 256,
"type": "string"
},
"transactionType": {
"description": "Type of transaction",
"knownValues": [
"fiat",
"crypto",
"grant",
"in-kind",
"other"
],
"maxGraphemes": 32,
"type": "string"
}
},
"required": [
"donorIdentifier",
"amount",
"currency",
"donatedAt",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "app.gainforest.organization.donation",
"lexicon": 1
}
Metadata
- DID
-
did:plc:qoti4acfmc5wg6zzmtix6hse - CID
-
bafyreiea47vvt4ia3a4f2arycptkemulkbx7jkwwm3zltgbza6qg3ph2ni - Indexed At
- 2026-03-27 15:24 UTC
- AT-URI
-
at://did:plc:qoti4acfmc5wg6zzmtix6hse/com.atproto.lexicon.schema/app.gainforest.organization.donation
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
blue.registry.donation record
A record indicating a user has donated to a donation item.
-
Records a funding receipt for a payment from one user to another user. It may be recorded by the recipient, by the sender, or by a third party. The sender may remain anonymous.
-
A statement by the account that runs Flushes that the subject gave to the charity fundraiser Flushes hosts. Modelled on app.bsky.graph.verification: one record per verified account, written by one repo, read by everybod…
-
A record that represents the funding / donations configuration for a given bumicert. It shares the same rkey as the claim.activity (bumicert) record.