← The evidence ledger
Evidence row 17765
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://getnightshift.tech/api/v1/hook/:address
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- cc2203d168c4898bb83d6824158786f41860bd1aa1971c3b68a6016e3b56affb
- Leaf
- 0xb5435c7c5e0b462c0df304426d267f83784c58a1b36a21cdbe52f3ea9f786c08
What was observed
{
"endpoints": [
[
"x402",
"https://getnightshift.tech/api/v1/hook/:address"
]
],
"name": "NIGHTSHIFT Services",
"owner_address": "0x989d0e896961f02b62f491a329d1ad3554355a36",
"raw": {
"accepts": [
{
"amount": "50000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:8453",
"payTo": "0x989D0E896961F02B62F491a329D1ad3554355a36",
"scheme": "exact"
}
],
"description": "Use when an agent needs to know what a Uniswap v4 hook on Ethereum can do before trading or providing liquidity through it: permission bits from the address, which callbacks it implements, fee logic and recipients, owner and admin functions with their caps, upgradeability and known templates (IMD launch hooks, NightshiftHook), from verified source or bytecode. Run by NIGHTSHIFT.",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"pathParams": {
"address": "0x42ebcf86e3ab0445ba0362f911a7e8fad6ace0cc"
},
"queryParams": {},
"type": "http"
},
"output": {
"example": {
"address": "0x42ebcf86e3ab0445ba0362f911a7e8fad6ace0cc",
"callbacks": [
{
"implemented": true,
"name": "beforeSwap"
},
{
"implemented": true,
"name": "afterSwap"
},
{
"implemented": true,
"name": "beforeInitialize"
}
],
"evidence": [
{
"kind": "source",
"url": "https://sourcify.dev/server/repo-ui/1/0x42ebcf86e3ab0445ba0362f911a7e8fad6ace0cc"
}
],
"fees": {
"hookFee": "takes its own fee: beforeSwapReturnsDelta and afterSwapReturnsDelta set and it moves pool currency out with PoolManager.take/mint (settings: MAX_FEE_BPS = 250, ethFeeBps = 250, shiftFeeBps = 250), to feeSplitter 0x1119…2d44",
"swapFee": "125 bps static"
},
"flags": {
"hex": "0x20cc",
"valid": true
},
"powers": [
{
"level": "low",
"text": "the owner can change fees (setFees), capped by MAX_FEE_BPS = 250"
}
],
"risk": "low",
"service": "hook-inspector",
"summary": "NightshiftHook. The PoolManager calls beforeInitialize, beforeSwap, afterSwap (with beforeSwapReturnsDelta, afterSwapReturnsDelta). Takes its own fee … to feeSplitter 0x1119…2d44. Owner: wallet 0x6c4c…19b5. Not a proxy and no DELEGATECALL: the code cannot change.",
"template": {
"match": "exact address",
"name": "NightshiftHook"
}
},
"type": "json"
}
},
"routeTemplate": "/api/v1/hook/:address",
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object"
},
"queryParams": {
"properties": {
"explain": {
"description": "1: add the written explanation and the source lines behind every power ($0.50)",
"enum": [
"0",
"1"
],
"type": "string"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"adminFunctions": {
"type": "array"
},
"callbacks": {
"type": "array"
},
"evidence": {
"type": "array"
},
"explanation": {
"description": "explain=1 only: text and source excerpts",
"type": "object"
},
"fees": {
"type": "object"
},
"flags": {
"properties": {
"hex": {
"type": "string"
},
"permissions": {
"type": "array"
},
"valid": {
"type": "boolean"
}
},
"type": "object"
},
"owner": {
"type": "object"
},
"pools": {
"type": "array"
},
"powers": {
"type": "array"
},
"risk": {
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"source": {
"type": "object"
},
"summary": {
"type": "string"
},
"template": {
"type": [
"object",
"null"
]
},
"upgradeable": {
"type": "object"
}
},
"required": [
"summary",
"risk",
"flags",
"callbacks",
"powers",
"evidence"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1792533341/bazaar-icons/df269fa5f85dc312.png",
"lastUpdated": "2026-10-26T07:54:49.595Z",
"quality": {
"l30DaysTotalCalls": 2,
"l30DaysUniquePayers": 1,
"lastCalledAt": "2026-10-26T07:55:08.079Z"
},
"resource": "https://getnightshift.tech/api/v1/hook/:address",
"serviceName": "NIGHTSHIFT Services",
"tags": [
"nightshift",
"tool",
"hook",
"inspector"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Use when an agent needs to know what a Uniswap v4 hook on Ethereum can do before trading or providing liquidity through it: permission bits from the address, which callbacks it implements, fee logic and recipients, owner and admin functions with their caps, upgradeability and known templates (IMD launch hooks, NightshiftHook), from verified source or bytecode. Run by NIGHTSHIFT."
}What the leaf hashes
{"body":"cc2203d168c4898bb83d6824158786f41860bd1aa1971c3b68a6016e3b56affb","id":17765,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793025327295133,"prev":null,"subject":"x402_bazaar:https://getnightshift.tech/api/v1/hook/:address","subject_kind":"source_record"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xb543f41cc632f4051e30b4d1ea51d17ed6ced357f13a39f56ae8588078b29f2f
- 0xcd6d6260c5215d348d1e9c0de3a6de1c69f56f3cff90d3fab5bf7ffd37f605d9
- 0xd298cfc6edc39f7b139b2999029a2acaa5d1ffa5f329ee5ae3ac88e6ef4ecde4
- 0xf447d95eeec44c70283842c6e4354dde642be046b926f11730fc8bc6c5cc8ef7
- 0x51da0daa8f8547856d6d0d5f2dc919d62832c3796847a34965a4f2e0a31c6a46
- 0xeeaeaa1b81cf097d8a9f0f37df1d3adc6329bc83d6ca553b9d33386952bfb577
- 0xcc50b93ce68cb83b977489fea579186a892dbdaff8b06b097f320e034594741b
- 0xc182cd9003376b19b591885af8319dd1a4fb77f1e4c8307a94816411d881ac51
- 0x4a395832b96531e5dad890a69b905731226c55bcaecd7094b9976c1e1861cde9
- 0x29d8926a104518c165350885a541887278c9813fe33bc83e56dff05bb21358ce
- 0x0f199646652e20987f8f0e4e8bd21993538b0737cd758d5cbc6ebcaaa02763a3
- 0x7a0f1751de1946feff7d8c8afc737dcc4d35f110809c15aa0fdb8363a9e31b2b
- 0x0d86419ca1dd0b62fd8b22ea2e8c74d441312cec3116a467bea429b43e026565
- 0x083427e39db4dd470662401f6db5db8fadf084fc4274cf8621b368416952b78b
- 0x1a74ed3b3756b9cd946da49701bcec120ec88645013da99fa9eea60b39e1a570
- 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
- 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae