← Registry

Holder Cap

holder-cap@1.0.0 · by HOOKAWAY Labs

Limits the number of distinct holders.

KnownMock program
Identity
Name
Holder Cap
Program ID
HCpDB3vS…mHiAMmY1
Version
1.0.0
Source
not published
Upgrade authority
none (immutable)
Verification
manifest-reviewed
Audit status
none
CPI behaviour
none
Trust labels
  • KnownRecognised program with a published manifest; source not independently verified.
Usage
Tokens using it
2
Transfers (30d, mock)
76.7K
Transaction success rate
85.5%

Success rate = HOOKAWAY-built transactions that confirmed ÷ submitted. Blocks by the hook's own rules are not failures.

Compatibility
  • Direct transfer●
  • Meridian AMM●
  • Orbit CLMM●
  • Relay AggregatorHook needs 4 extra accounts; Relay Aggregator forwards at most 3.×
  • Basin Legacy AMMBasin Legacy AMM cannot forward transfer-hook accounts.×
  • HOOKAWAY Launch Curve●
Config schema
  • maxHoldersMaximum holder countu32
Extra account schema
AccountDerivationWS
config
Per-mint hook configuration.
pda(hook, ["config", acct[1]:mint])··
holder-counter
holders record for the mint.
pda(hook, ["holders", acct[1]:mint, acct[1]:mint])✓·
Errors & restrictions
  • 6090Token has reached its maximum holder count.
  • —New holders cannot be added once the cap is reached.
Manifest
cross-check passed
  • ✓ Schema valid (manifest v0.1)
  • ✓ Program ID matches mint’s TransferHook extension
  • ✓ Upgrade authority matches declared authority
  • ✓ Declared accounts match on-chain ExtraAccountMetaList
  • ✓ All accounts derivable without off-chain input
{
  "$schema": "https://hookaway.dev/schema/manifest/v0.1.json",
  "manifestVersion": "0.1",
  "name": "holder-cap",
  "version": "1.0.0",
  "program": "HCpDB3vSySuFt3gaKY32oPZ4fQax6CrQv9fNmHiAMmY1",
  "programAuthority": null,
  "description": "Limits the number of distinct holders.",
  "source": {
    "verifiedBuild": false
  },
  "config": {
    "fields": [
      {
        "key": "maxHolders",
        "type": "u32",
        "description": "Maximum holder count"
      }
    ]
  },
  "accounts": [
    {
      "name": "config",
      "derivation": {
        "kind": "pda",
        "programId": "hook",
        "seeds": [
          {
            "kind": "literal",
            "value": "config"
          },
          {
            "kind": "account",
            "index": 1,
            "label": "mint"
          }
        ]
      },
      "writable": false,
      "signer": false,
      "description": "Per-mint hook configuration."
    },
    {
      "name": "holder-counter",
      "derivation": {
        "kind": "pda",
        "programId": "hook",
        "seeds": [
          {
            "kind": "literal",
            "value": "holders"
          },
          {
            "kind": "account",
            "index": 1,
            "label": "mint"
          },
          {
            "kind": "account",
            "index": 1,
            "label": "mint"
          }
        ]
      },
      "writable": true,
      "signer": false,
      "description": "holders record for the mint."
    }
  ],
  "compatibility": {
    "transfer": true,
    "venues": "any-hook-aware",
    "maxExtraAccounts": 2
  },
  "transaction": {
    "computeUnits": 19000,
    "requiresLookupTable": false,
    "cpi": "none"
  },
  "simulation": {
    "adapter": "holder-cap"
  },
  "explain": {
    "6090": "Token has reached its maximum holder count."
  },
  "restrictions": [
    "New holders cannot be added once the cap is reached."
  ]
}
Tokens using it (2)