← Registry
Denylist Guard
denylist-guard@1.1.0 · by Sentinel Compliance
Blocks transfers to or from denylisted wallets.
KnownUpgradeableMock program
Identity
- Name
- Denylist Guard
- Program ID
- DnyGTuoh…EPTtxXHM
- Version
- 1.1.0
- Source
- not published
- Upgrade authority
- BGUd…vxiU
- Last upgrade slot
- 385,619,143
- Verification
- manifest-reviewed
- Audit status
- none
- CPI behaviour
- known
Trust labels
- KnownRecognised program with a published manifest; source not independently verified.
- UpgradeableAn upgrade authority can change this hook’s rules at any time.
Usage
- Tokens using it
- 1
- Transfers (30d, mock)
- 14.2K
- Transaction success rate
- 91.7%
Success rate = HOOKAWAY-built transactions that confirmed ÷ submitted. Blocks by the hook's own rules are not failures.
Compatibility
- Direct transfer●
- Meridian AMM●
- Orbit CLMMHook needs 5 extra accounts; Orbit CLMM forwards at most 4.×
- Relay AggregatorHook needs 5 extra accounts; Relay Aggregator forwards at most 3.×
- Basin Legacy AMMBasin Legacy AMM cannot forward transfer-hook accounts.×
- HOOKAWAY Launch Curve●
Config schema
- authorityDenylist managerpubkey
Extra account schema
| Account | Derivation | W | S |
|---|---|---|---|
config Per-mint hook configuration. | pda(hook, ["config", acct[1]:mint]) | · | · |
sender-entry deny record for the source owner. | pda(hook, ["deny", acct[1]:mint, acct[3]:source owner]) | · | · |
recipient-entry deny record for the destination. | pda(hook, ["deny", acct[1]:mint, acct[2]:destination]) | · | · |
Errors & restrictions
- 6020Sender or recipient is on this token’s denylist.
- —Neither party may have a denylist entry.
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": "denylist-guard",
"version": "1.1.0",
"program": "DnyGTuohJmsnhHNy7cKJsP5zeQ88pUdujHEAEPTtxXHM",
"programAuthority": "BGUdZ1ZdNpFt1Lh5CWRENPX5ibtghLp61g3BEFKwvxiU",
"description": "Blocks transfers to or from denylisted wallets.",
"source": {
"verifiedBuild": false
},
"config": {
"fields": [
{
"key": "authority",
"type": "pubkey",
"description": "Denylist manager"
}
]
},
"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": "sender-entry",
"derivation": {
"kind": "pda",
"programId": "hook",
"seeds": [
{
"kind": "literal",
"value": "deny"
},
{
"kind": "account",
"index": 1,
"label": "mint"
},
{
"kind": "account",
"index": 3,
"label": "source owner"
}
]
},
"writable": false,
"signer": false,
"description": "deny record for the source owner."
},
{
"name": "recipient-entry",
"derivation": {
"kind": "pda",
"programId": "hook",
"seeds": [
{
"kind": "literal",
"value": "deny"
},
{
"kind": "account",
"index": 1,
"label": "mint"
},
{
"kind": "account",
"index": 2,
"label": "destination"
}
]
},
"writable": false,
"signer": false,
"description": "deny record for the destination."
}
],
"compatibility": {
"transfer": true,
"venues": "any-hook-aware",
"maxExtraAccounts": 3
},
"transaction": {
"computeUnits": 22500,
"requiresLookupTable": false,
"cpi": "known"
},
"simulation": {
"adapter": "denylist"
},
"explain": {
"6020": "Sender or recipient is on this token’s denylist."
},
"restrictions": [
"Neither party may have a denylist entry."
]
}Tokens using it (1)