← Registry
Cooldown
cooldown@2.1.0 · by HOOKAWAY Labs
Enforces a minimum interval between transfers per sender.
VerifiedMock program
Identity
- Name
- Cooldown
- Program ID
- CoolMDwy…sBm2Fzrw
- Version
- 2.1.0
- Source
- hookaway-mock/cooldown@wkctvud
- Upgrade authority
- none (immutable)
- Verification
- source-verified
- Audit status
- none
- CPI behaviour
- none
Trust labels
- VerifiedSource verified against the deployed program and manifest reviewed by HOOKAWAY.
Usage
- Tokens using it
- 2
- Transfers (30d, mock)
- 54.3K
- Transaction success rate
- 87.4%
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
- secondsMinimum seconds between transfersu32 = 60
Extra account schema
| Account | Derivation | W | S |
|---|---|---|---|
config Per-mint hook configuration. | pda(hook, ["config", acct[1]:mint]) | · | · |
sender-clock clock record for the source owner. | pda(hook, ["clock", acct[1]:mint, acct[3]:source owner]) | ✓ | · |
Errors & restrictions
- 6030Sender must wait {remaining}s before the next transfer.
- —One outgoing transfer per sender per cooldown window.
Manifest
cross-check failed- × schema: program
{
"$schema": "https://hookaway.dev/schema/manifest/v0.1.json",
"manifestVersion": "0.1",
"name": "cooldown",
"version": "2.1.0",
"program": "CoolMDwytxCPSGMr7jyb6aAwZhaiAi15zb43sBm2Fzrw",
"programAuthority": null,
"description": "Enforces a minimum interval between transfers per sender.",
"source": {
"repo": "https://github.com/hookaway-mock/cooldown",
"commit": "wkctvud",
"verifiedBuild": true
},
"config": {
"fields": [
{
"key": "seconds",
"type": "u32",
"description": "Minimum seconds between transfers",
"default": 60
}
]
},
"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-clock",
"derivation": {
"kind": "pda",
"programId": "hook",
"seeds": [
{
"kind": "literal",
"value": "clock"
},
{
"kind": "account",
"index": 1,
"label": "mint"
},
{
"kind": "account",
"index": 3,
"label": "source owner"
}
]
},
"writable": true,
"signer": false,
"description": "clock record for the source owner."
}
],
"compatibility": {
"transfer": true,
"venues": "any-hook-aware",
"maxExtraAccounts": 2
},
"transaction": {
"computeUnits": 19000,
"requiresLookupTable": false,
"cpi": "none"
},
"simulation": {
"adapter": "cooldown"
},
"explain": {
"6030": "Sender must wait {remaining}s before the next transfer."
},
"restrictions": [
"One outgoing transfer per sender per cooldown window."
]
}Tokens using it (2)