app.gainforest.organization.donation

gainforest.earth

Documentation

A record of a donation or financial transaction for financial transparency

main record

A record of a donation or financial transaction for financial transparency

Record Key tid Timestamp-based ID

Properties

amount integer Required

Donation amount in the smallest unit of the currency (e.g., cents for USD)

minimum: 0
amountUsd string Optional

Equivalent amount in USD at time of donation

maxGraphemes: 32 graphemes
blockchainNetwork string Optional

Blockchain network the transaction was made on

maxGraphemes: 32 graphemes
Known values: celo, solana, ethereum, polygon, other
createdAt string datetime Required

Record creation timestamp

currency string Required

Currency code (e.g., 'USD', 'EUR', 'CELO', 'SOL')

maxGraphemes: 16 graphemes
donatedAt string datetime Required

When the donation was made

donorDid string did Optional

Donor's ATProto DID if they have an account

donorIdentifier string Required

Unique identifier for the donor (DID, email hash, or anonymous token)

maxGraphemes: 256 graphemes
donorName string Optional

Donor name (may be anonymous)

maxGraphemes: 256 graphemes
isAnonymous boolean Optional

Whether the donor wishes to remain anonymous

notes string Optional

Additional notes

maxGraphemes: 2048 graphemes
paymentMethod string Optional

Payment method used for the donation

maxGraphemes: 64 graphemes
Known values: stripe, bank-transfer, celo, solana, ethereum, polygon, paypal, other
purpose string Optional

What the donation is for (e.g., 'tree planting', 'equipment', 'salaries')

maxGraphemes: 512 graphemes
receiptUrl string uri Optional

URL to donation receipt

maxGraphemes: 512 graphemes
recipientMemberRef string at-uri Optional

AT-URI to the member record who received funds

transactionHash string Optional

Blockchain transaction hash if crypto

maxGraphemes: 256 graphemes
transactionType string Optional

Type of transaction

maxGraphemes: 32 graphemes
Known values: fiat, crypto, grant, in-kind, other
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "donorIdentifier",
      "amount",
      "currency",
      "donatedAt",
      "createdAt"
    ],
    "properties": {
      "notes": {
        "type": "string",
        "description": "Additional notes",
        "maxGraphemes": 2048
      },
      "amount": {
        "type": "integer",
        "minimum": 0,
        "description": "Donation amount in the smallest unit of the currency (e.g., cents for USD)"
      },
      "purpose": {
        "type": "string",
        "description": "What the donation is for (e.g., 'tree planting', 'equipment', 'salaries')",
        "maxGraphemes": 512
      },
      "currency": {
        "type": "string",
        "description": "Currency code (e.g., 'USD', 'EUR', 'CELO', 'SOL')",
        "maxGraphemes": 16
      },
      "donorDid": {
        "type": "string",
        "format": "did",
        "description": "Donor's ATProto DID if they have an account"
      },
      "amountUsd": {
        "type": "string",
        "description": "Equivalent amount in USD at time of donation",
        "maxGraphemes": 32
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "Record creation timestamp"
      },
      "donatedAt": {
        "type": "string",
        "format": "datetime",
        "description": "When the donation was made"
      },
      "donorName": {
        "type": "string",
        "description": "Donor name (may be anonymous)",
        "maxGraphemes": 256
      },
      "receiptUrl": {
        "type": "string",
        "format": "uri",
        "description": "URL to donation receipt",
        "maxGraphemes": 512
      },
      "isAnonymous": {
        "type": "boolean",
        "description": "Whether the donor wishes to remain anonymous"
      },
      "paymentMethod": {
        "type": "string",
        "description": "Payment method used for the donation",
        "knownValues": [
          "stripe",
          "bank-transfer",
          "celo",
          "solana",
          "ethereum",
          "polygon",
          "paypal",
          "other"
        ],
        "maxGraphemes": 64
      },
      "donorIdentifier": {
        "type": "string",
        "description": "Unique identifier for the donor (DID, email hash, or anonymous token)",
        "maxGraphemes": 256
      },
      "transactionHash": {
        "type": "string",
        "description": "Blockchain transaction hash if crypto",
        "maxGraphemes": 256
      },
      "transactionType": {
        "type": "string",
        "description": "Type of transaction",
        "knownValues": [
          "fiat",
          "crypto",
          "grant",
          "in-kind",
          "other"
        ],
        "maxGraphemes": 32
      },
      "blockchainNetwork": {
        "type": "string",
        "description": "Blockchain network the transaction was made on",
        "knownValues": [
          "celo",
          "solana",
          "ethereum",
          "polygon",
          "other"
        ],
        "maxGraphemes": 32
      },
      "recipientMemberRef": {
        "type": "string",
        "format": "at-uri",
        "description": "AT-URI to the member record who received funds"
      }
    }
  },
  "description": "A record of a donation or financial transaction for financial transparency"
}

Lexicon Garden

@