{"address":"0x65efdf8cce99b53c925df878df275df21cb6e8cc","chain":"robinhood","chainName":"Robinhood Chain","chains":["robinhood"],"name":"Clanker Dynamic Fee Hook (V2)","listed":true,"description":"A dynamic fee hook for Clanker pools that adjusts LP fees based on realized volatility. It simulates each swap to estimate the post-swap tick, computes a volatility accumulator from tick displacement relative to a reference tick, and calls updateDynamicLPFee with a fee that scales quadratically with volatility, bounded by configurable base and max fee parameters.","deployer":null,"creationTx":null,"codeBytes":20230,"implementation":null,"verified":true,"audit":null,"upgradeable":false,"swapAccess":"none","dynamicFee":true,"customData":false,"flags":["beforeInitialize","beforeAddLiquidity","beforeSwap","afterSwap","beforeSwapReturnsDelta","afterSwapReturnsDelta"],"flagBits":10444,"lines":[{"key":"afterSwapReturnsDelta","level":"red","text":"Can take a fee from your output","detail":"After the pool fills your swap, the hook can keep part of what you were about to receive."},{"key":"beforeSwapReturnsDelta","level":"red","text":"Can change the price you get","detail":"Before your swap runs, the hook can take or add tokens, so the amount you get is set by its code as well as the pool."},{"key":"beforeSwap","level":"amber","text":"Runs code before your swap and can block it","detail":"The hook is called before every swap. It can revert, which makes your swap fail."},{"key":"afterSwap","level":"amber","text":"Runs code after your swap and can block it","detail":"The hook is called after every swap. It can revert, which undoes your swap."},{"key":"beforeAddLiquidity","level":"grey","text":"Can block people from adding liquidity","detail":"Called before each deposit into the pool."},{"key":"beforeInitialize","level":"grey","text":"Runs code when a pool is created","detail":"Called once, when someone creates a pool with this hook."},{"key":"dynamicFee","level":"amber","text":"Can charge a different fee on each swap","detail":"The pool's LP fee is dynamic: the hook sets it, swap by swap."}],"score":65,"scoreItems":[{"label":"Can change swap amounts","points":-25},{"label":"Dynamic fee","points":-10}],"pools":7,"activePools":2,"swaps24":1,"swaps7":14,"volume24Usd":0,"volume7Usd":5,"firstSeenBlock":48868133,"firstSeen":1787977594,"ageDays":58.454340277777774,"poolList":[{"id":"0x1394faeaf69d93e9a1ac9445d47371ef80fdf35c2bb3a058415d0d3f95f861a2","t0":{"a":"0x5fc5360d0400a0fd4f2af552add042d716f1d168","s":"USDG","d":6,"usd":1},"t1":{"a":"0xcebc0cfbc5dd0893a9e3b9d0f75b211ddf5934a0","s":"CLAN","d":18,"usd":0.000017176382175124775},"fee":8388608,"ts":2,"b":50144749,"t":1788106570,"s7":8,"s24":1,"v7":3,"u":2},{"id":"0x0e98811a0d844581ff8d9930e16df61251f9fdec4e544874bb8a995979de8f39","t0":{"a":"0x18e674231a58c239dc7daedcffe15ec3a24cff5c","s":"HOOKR","d":18,"usd":0.015648210619886027},"t1":{"a":"0x5fc5360d0400a0fd4f2af552add042d716f1d168","s":"USDG","d":6,"usd":1},"fee":8388608,"ts":1,"b":48868133,"t":1787977594,"s7":6,"s24":0,"v7":2,"u":3},{"id":"0xec46c5d5f5ad0baf2057184b1a12160c8eb4a2d9860516119d96a5da22a7f812","t0":{"a":"0x5fc5360d0400a0fd4f2af552add042d716f1d168","s":"USDG","d":6,"usd":1},"t1":{"a":"0xa26992c4268a8a78a4d872fe4bdad2ed03ac287d","s":"MANY","d":18,"usd":0.00007956453241083349},"fee":8388608,"ts":1,"b":52457070,"t":1788340711,"s7":0,"s24":0,"v7":0,"u":0},{"id":"0xbdf40f28c95d2f211f5d71f4a57730fc4cc5d021575e5291463476e8f30d3d64","t0":{"a":"0x5a8625d314fdd298101d87932a784b756a401e18","s":"AGI","d":18,"usd":null},"t1":{"a":"0x5fc5360d0400a0fd4f2af552add042d716f1d168","s":"USDG","d":6,"usd":1},"fee":8388608,"ts":1,"b":51497836,"t":1788243322,"s7":0,"s24":0,"v7":0,"u":0},{"id":"0xb7a0a8a04d97d17eff12f0036d9aae92a246e77bfef0e408a5032d7d5d032d7d","t0":{"a":"0x5fc5360d0400a0fd4f2af552add042d716f1d168","s":"USDG","d":6,"usd":1},"t1":{"a":"0x844fd586514fa776411728aea92f64e305a07238","s":"PONSDAQ","d":18,"usd":null},"fee":8388608,"ts":1,"b":50156687,"t":1788107776,"s7":0,"s24":0,"v7":0,"u":0},{"id":"0xa3235ce7666983c82a7392f6732fc610c8e835b7502879f9f123d51ce045877b","t0":{"a":"0x5fc5360d0400a0fd4f2af552add042d716f1d168","s":"USDG","d":6,"usd":1},"t1":{"a":"0xcebc0cfbc5dd0893a9e3b9d0f75b211ddf5934a0","s":"CLAN","d":18,"usd":0.000017176382175124775},"fee":8388608,"ts":1,"b":50136605,"t":1788105747,"s7":0,"s24":0,"v7":0,"u":0},{"id":"0x76654fa5c0be5af16b45540270a0363b861d3081635e978144b7926f65cafba0","t0":{"a":"0x5fc5360d0400a0fd4f2af552add042d716f1d168","s":"USDG","d":6,"usd":1},"t1":{"a":"0x96b2ad575f44c3e92c8db5399c855d6f22cd6357","s":"Horst Staley","d":18,"usd":null},"fee":8388608,"ts":1,"b":49975972,"t":1788089512,"s7":0,"s24":0,"v7":0,"u":0}],"daily":{"s":[1,1,2,3,3,2,2],"v":[0,0,1,1,1,1,1]},"days":7,"probe":{"pool":"0x1394faeaf69d93e9a1ac9445d47371ef80fdf35c2bb3a058415d0d3f95f861a2","t":1793047950,"dir":[{"zf1":true,"inRaw":"75","outRaw":"4945101637743077550","expRaw":"4798481075275379631","takeBps":-306,"gas":186894,"reverted":false},{"zf1":false,"inRaw":"5069370576121417723","outRaw":"75","expRaw":"71","takeBps":-563,"gas":184482,"reverted":false}],"lpFee":42597,"takeBps":-306,"reverted":false,"gas":186894,"pair":"USDG / CLAN"},"snapshot":{"block":98513114,"ts":1793028049}}