Topics are 32 bytes. An address in a topic is left-padded with 12 zero bytes:
0x000000000000000000000000 + the 40 hex characters of the address. Passing a 20-byte address
as a topic is a 400.
Event signature hashes are keccak256 of the event signature, e.g.
keccak256("Transfer(address,address,uint256)"). With viem: toEventSelector("Transfer(address,address,uint256)");
with ethers: ethers.id("Transfer(address,address,uint256)"); with web3.py:
Web3.keccak(text="Transfer(address,address,uint256)").hex().
status is applied to the matches, not used to find them: the server finds the transactions
matching the other keys, then drops the ones with the wrong status before counting or sending
anything. Two consequences:
Every transaction object in a request must carry the same status, or none:
[{"status": 1}, {"sighash": [...]}] is a 400.
A filter with onlystatus reads the status of every transaction in the range. Give it a
range or other keys.
Transactions from before Byzantium (Ethereum block 4,370,000) have no receipt status and never
match a status filter.
type is also checked on the matches rather than looked up in an index, but it works like any
other key of its object: it is ANDed with that object’s other keys, and different objects can
ask for different types, or none, as in the example above. It doesn’t apply to the
transactions joinTransactions adds.A filter with onlytype reads the type of every transaction in the range. That costs one
byte per transaction, so it is fast (about 50 ms for 50,000 Robinhood Chain blocks), but other
keys narrow it further.
Hex values are 0x-prefixed, case-insensitive, and must be exactly the field’s width:
40 hex characters for addresses, 64 for topics, 8 for sighashes. A wrong length is a 400
naming the offending value (logs[0].address[0]: …).
Duplicates are fine; the server removes them. Order doesn’t matter.
An address list and an addressSet in the same object are combined (union), not
exclusive. The same goes for every X / XSet pair.
Up to 256 filter objects per row type and 100,000 values per field. For larger lists, use a
set.
Only the fields above can be filtered on. Everything else (value, gasUsed, input beyond the
first four bytes, block miner, log data, …) can be returned but not
filtered on. Filter as narrowly as these fields allow, then filter the rest client-side.Blocks can’t be filtered at all, beyond the range. You get every block in the range (no
logs/transactions filter) or exactly the blocks that contain a match (with one). See
Blocks.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Bloklake","description":"Historical blockchain data over HTTP: filter logs, transactions and blocks across any block range and get them back as Apache Arrow or JSON.","colors":{"primary":"#155DFC","light":"#5B8DEF","dark":"#155DFC"},"logo":{"light":"https://mintcdn.com/my-company-7009db77/AEOzPZjunXHOKyLs/logo/light.svg?fit=max\u0026auto=format\u0026n=AEOzPZjunXHOKyLs\u0026q=85\u0026s=e35836064fc974b118e53f0b9fab7ed5","dark":"https://mintcdn.com/my-company-7009db77/AEOzPZjunXHOKyLs/logo/dark.svg?fit=max\u0026auto=format\u0026n=AEOzPZjunXHOKyLs\u0026q=85\u0026s=ba4d4816883fd716d501f7a04392fa60"},"favicon":"https://mintcdn.com/my-company-7009db77/AEOzPZjunXHOKyLs/favicon.svg?fit=max\u0026auto=format\u0026n=AEOzPZjunXHOKyLs\u0026q=85\u0026s=08187e2c7d019c8676cdf87e91fd19cd","navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Get an API key","href":"https://dashboard.bloklake.com"}},"footer":{"links":[{"header":"Bloklake","items":[{"label":"Dashboard","href":"https://dashboard.bloklake.com"},{"label":"Pricing","href":"/billing/pricing"},{"label":"Support","href":"mailto:[email protected]"}]}]},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Dashboard","icon":"gauge","href":"https://dashboard.bloklake.com"},{"anchor":"Chain status","icon":"signal","href":"https://dashboard.bloklake.com/chains"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"my-company-7009db77","hasAudioNarration":false,"actualSubdomain":"my-company-7009db77","customDomains":["docs.bloklake.com"],"gitSource":{"type":"github","owner":"nikbhintade","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae20e8160416b77ca6b9f99","collectionId":"2fdf09bf-4255-43cb-83dd-8f44c820bec3","liveDeploymentHistoryId":"6ae20e8160416b77ca6b9f99","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ae20e8160416b77ca6b9f99","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Documentation","count":43},{"language":"default","tag":"API reference","count":14},{"language":"default","tag":"Querying","count":12},{"language":"default","tag":"Guides","count":7},{"language":"default","tag":"Billing","count":6},{"language":"default","tag":"Production","count":5},{"language":"default","tag":"Responses","count":5},{"language":"default","tag":"Sets and prepared queries","count":4},{"language":"default","tag":"Get started","count":4},{"language":"default","tag":"Account","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"querying/filters","slug":"/querying/filters","pageMetadata":{"title":"Filters","description":"Select logs by contract and topics, and transactions by sender, recipient, function, status and type.","href":"/querying/filters"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Select logs by contract and topics, and transactions by sender, recipient, function, status and type.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`logs`}),` and `,_jsx(_components.code,{children:`transactions`}),` are each a list of `,_jsx(_components.strong,{children:`filter objects`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Within one object, every field you set must match (`,_jsx(_components.strong,{children:`AND`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`A row is returned if it matches `,_jsx(_components.strong,{children:`any`}),` object in the list (`,_jsx(_components.strong,{children:`OR`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`Within one field, the row’s value must be `,_jsx(_components.strong,{children:`one of`}),` the listed values (`,_jsx(_components.strong,{children:`IN`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`An object with no fields set (`,_jsx(_components.code,{children:`{}`}),`) matches every row of that type in the range.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`log-filters`,children:`Log filters`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Key`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Matches`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`address`})}),_jsx(_components.td,{children:`array of 20-byte hex`}),_jsx(_components.td,{children:`the contract that emitted the log`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`topic0`})}),_jsx(_components.td,{children:`array of 32-byte hex`}),_jsx(_components.td,{children:`the event signature hash`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`topic1`}),`, `,_jsx(_components.code,{children:`topic2`}),`, `,_jsx(_components.code,{children:`topic3`})]}),_jsx(_components.td,{children:`array of 32-byte hex`}),_jsx(_components.td,{children:`the indexed event arguments`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`addressSet`})}),_jsx(_components.td,{children:`set id`}),_jsxs(_components.td,{children:[`like `,_jsx(_components.code,{children:`address`}),`, from a `,_jsx(_components.a,{href:`/querying/sets`,children:`set`})]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`topic0Set`}),` … `,_jsx(_components.code,{children:`topic3Set`})]}),_jsx(_components.td,{children:`set id`}),_jsxs(_components.td,{children:[`like `,_jsx(_components.code,{children:`topicN`}),`, from a set`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`examples`,children:`Examples`}),`\n`,_jsxs(_components.p,{children:[`Every `,_jsx(_components.code,{children:`Transfer`}),` and `,_jsx(_components.code,{children:`Approval`}),` of two tokens:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"logs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"address\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0xdac17f958d2ee523a2206206994597c13d831ec7\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"topic0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Every `,_jsx(_components.code,{children:`Transfer`}),` of any token `,_jsx(_components.strong,{children:`to`}),` one wallet (the recipient is `,_jsx(_components.code,{children:`topic2`}),`):`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"logs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"topic0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"topic2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0x000000000000000000000000d8da6bf26964af9d7eed9e49c3e2f8d4c3c7c1c9\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Transfers `,_jsx(_components.strong,{children:`from or to`}),` a wallet: two objects, because a row matches if either one does:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"logs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"topic0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0xddf252ad…b3ef\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`], `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"topic1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0x000000000000000000000000d8da6bf2…\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"topic0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0xddf252ad…b3ef\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`], `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"topic2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0x000000000000000000000000d8da6bf2…\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Topics are 32 bytes.`}),` An address in a topic is left-padded with 12 zero bytes:\n`,_jsx(_components.code,{children:`0x000000000000000000000000`}),` + the 40 hex characters of the address. Passing a 20-byte address\nas a topic is a `,_jsx(_components.code,{children:`400`}),`.`]})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Event signature hashes are `,_jsx(_components.code,{children:`keccak256`}),` of the event signature, e.g.\n`,_jsx(_components.code,{children:`keccak256(\"Transfer(address,address,uint256)\")`}),`. With viem: `,_jsx(_components.code,{children:`toEventSelector(\"Transfer(address,address,uint256)\")`}),`;\nwith ethers: `,_jsx(_components.code,{children:`ethers.id(\"Transfer(address,address,uint256)\")`}),`; with web3.py:\n`,_jsx(_components.code,{children:`Web3.keccak(text=\"Transfer(address,address,uint256)\").hex()`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`transaction-filters`,children:`Transaction filters`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Key`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Matches`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`from`})}),_jsx(_components.td,{children:`array of 20-byte hex`}),_jsx(_components.td,{children:`the sender`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`to`})}),_jsx(_components.td,{children:`array of 20-byte hex`}),_jsxs(_components.td,{children:[`the recipient (contract creations have no `,_jsx(_components.code,{children:`to`}),` and never match)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`sighash`})}),_jsx(_components.td,{children:`array of 4-byte hex`}),_jsxs(_components.td,{children:[`the function selector: the first 4 bytes of `,_jsx(_components.code,{children:`input`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`status`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`0`}),` or `,_jsx(_components.code,{children:`1`})]}),_jsxs(_components.td,{children:[`the receipt status: `,_jsx(_components.code,{children:`1`}),` succeeded, `,_jsx(_components.code,{children:`0`}),` reverted`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:`array of integers 0–255`}),_jsxs(_components.td,{children:[`the transaction type: `,_jsx(_components.code,{children:`0`}),` legacy, `,_jsx(_components.code,{children:`1`}),` access list, `,_jsx(_components.code,{children:`2`}),` EIP-1559, `,_jsx(_components.code,{children:`3`}),` blob, `,_jsx(_components.code,{children:`4`}),` EIP-7702, and chain-specific types (Arbitrum’s `,_jsx(_components.code,{children:`100`}),`–`,_jsx(_components.code,{children:`106`}),` and `,_jsx(_components.code,{children:`120`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`fromSet`}),`, `,_jsx(_components.code,{children:`toSet`})]}),_jsx(_components.td,{children:`set id`}),_jsxs(_components.td,{children:[`like `,_jsx(_components.code,{children:`from`}),` / `,_jsx(_components.code,{children:`to`}),`, from a `,_jsx(_components.a,{href:`/querying/sets`,children:`set`})]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`examples-2`,children:`Examples`}),`\n`,_jsxs(_components.p,{children:[`Every `,_jsx(_components.code,{children:`transfer(address,uint256)`}),` call (selector `,_jsx(_components.code,{children:`0xa9059cbb`}),`) to USDC:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"transactions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"to\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sighash\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0xa9059cbb\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Everything a wallet sent or received:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"transactions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0xd8da6bf26964af9d7eed9e49c3e2f8d4c3c7c1c9\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"to\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0xd8da6bf26964af9d7eed9e49c3e2f8d4c3c7c1c9\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Only the reverted calls to a contract:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"transactions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [{`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"to\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0x7a250d5630b4cf539739df2c5dacb4c659f2488d\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`], `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}]}`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Every blob transaction, and every legacy transaction to a contract:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"transactions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"to\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0x7a250d5630b4cf539739df2c5dacb4c659f2488d\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`], `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Heading,{level:`3`,id:`how-status-works`,children:[`How `,_jsx(_components.code,{children:`status`}),` works`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`status`}),` is applied to the matches, not used to find them: the server finds the transactions\nmatching the other keys, then drops the ones with the wrong status before counting or sending\nanything. Two consequences:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Every transaction object in a request must carry the same `,_jsx(_components.code,{children:`status`}),`, or none:\n`,_jsx(_components.code,{children:`[{\"status\": 1}, {\"sighash\": [...]}]`}),` is a `,_jsx(_components.code,{children:`400`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`A filter with `,_jsx(_components.strong,{children:`only`}),` `,_jsx(_components.code,{children:`status`}),` reads the status of every transaction in the range. Give it a\nrange or other keys.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Transactions from before Byzantium (Ethereum block 4,370,000) have no receipt status and never\nmatch a `,_jsx(_components.code,{children:`status`}),` filter.`]}),`\n`,_jsxs(Heading,{level:`3`,id:`how-type-works`,children:[`How `,_jsx(_components.code,{children:`type`}),` works`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`type`}),` is also checked on the matches rather than looked up in an index, but it works like any\nother key of its object: it is ANDed with that object’s other keys, and different objects can\nask for different types, or none, as in the example above. It doesn’t apply to the\ntransactions `,_jsx(_components.a,{href:`/querying/join-transactions`,children:_jsx(_components.code,{children:`joinTransactions`})}),` adds.`]}),`\n`,_jsxs(_components.p,{children:[`A filter with `,_jsx(_components.strong,{children:`only`}),` `,_jsx(_components.code,{children:`type`}),` reads the type of every transaction in the range. That costs one\nbyte per transaction, so it is fast (about 50 ms for 50,000 Robinhood Chain blocks), but other\nkeys narrow it further.`]}),`\n`,_jsx(Heading,{level:`2`,id:`value-rules`,children:`Value rules`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Hex values are `,_jsx(_components.code,{children:`0x`}),`-prefixed, case-insensitive, and must be exactly the field’s width:\n40 hex characters for addresses, 64 for topics, 8 for sighashes. A wrong length is a `,_jsx(_components.code,{children:`400`}),`\nnaming the offending value (`,_jsx(_components.code,{children:`logs[0].address[0]: …`}),`).`]}),`\n`,_jsx(_components.li,{children:`Duplicates are fine; the server removes them. Order doesn’t matter.`}),`\n`,_jsxs(_components.li,{children:[`An `,_jsx(_components.code,{children:`address`}),` list and an `,_jsx(_components.code,{children:`addressSet`}),` in the same object are combined (union), not\nexclusive. The same goes for every `,_jsx(_components.code,{children:`X`}),` / `,_jsx(_components.code,{children:`XSet`}),` pair.`]}),`\n`,_jsxs(_components.li,{children:[`Up to 256 filter objects per row type and 100,000 values per field. For larger lists, use a\n`,_jsx(_components.a,{href:`/querying/sets`,children:`set`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-you-can’t-filter-on`,children:`What you can’t filter on`}),`\n`,_jsxs(_components.p,{children:[`Only the fields above can be filtered on. Everything else (`,_jsx(_components.code,{children:`value`}),`, `,_jsx(_components.code,{children:`gasUsed`}),`, `,_jsx(_components.code,{children:`input`}),` beyond the\nfirst four bytes, block `,_jsx(_components.code,{children:`miner`}),`, log `,_jsx(_components.code,{children:`data`}),`, …) can be `,_jsx(_components.a,{href:`/querying/fields`,children:`returned`}),` but not\nfiltered on. Filter as narrowly as these fields allow, then filter the rest client-side.`]}),`\n`,_jsxs(_components.p,{children:[`Blocks can’t be filtered at all, beyond the range. You get every block in the range (no\n`,_jsx(_components.code,{children:`logs`}),`/`,_jsx(_components.code,{children:`transactions`}),` filter) or exactly the blocks that contain a match (with one). See\n`,_jsx(_components.a,{href:`/querying/blocks`,children:`Blocks`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Filters","description":"Select logs by contract and topics, and transactions by sender, recipient, function, status and type.","href":"/querying/filters"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Log filters","slug":"log-filters","depth":2,"children":[{"title":"Examples","slug":"examples","depth":3,"children":[]}]},{"title":"Transaction filters","slug":"transaction-filters","depth":2,"children":[{"title":"Examples","slug":"examples-2","depth":3,"children":[]},{"title":"How status works","slug":"how-status-works","depth":3,"children":[]},{"title":"How type works","slug":"how-type-works","depth":3,"children":[]}]},{"title":"Value rules","slug":"value-rules","depth":2,"children":[]},{"title":"What you can’t filter on","slug":"what-you-can’t-filter-on","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"my-company-7009db77","siteName":"Bloklake","title":"Filters - Bloklake","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T08:44:10.973Z","originalFileLocation":"querying/filters.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Select logs by contract and topics, and transactions by sender, recipient, function, status and type.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Bloklake\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/my-company-7009db77/ZZq8wWyTTsLus1zT/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/my-company-7009db77/ZZq8wWyTTsLus1zT/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/my-company-7009db77/ZZq8wWyTTsLus1zT/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/my-company-7009db77/ZZq8wWyTTsLus1zT/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/my-company-7009db77/ZZq8wWyTTsLus1zT/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/my-company-7009db77/ZZq8wWyTTsLus1zT/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/my-company-7009db77/ZZq8wWyTTsLus1zT/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/my-company-7009db77/ZZq8wWyTTsLus1zT/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/my-company-7009db77/ZZq8wWyTTsLus1zT/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Filters - Bloklake\">\u003cmeta data-mint-head property=\"og:description\" content=\"Select logs by contract and topics, and transactions by sender, recipient, function, status and type.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Bloklake\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.bloklake.com/querying/filters\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://my-company-7009db77.mintlify.app/_mintlify/api/og/v2?division=Querying\u0026amp;title=Filters\u0026amp;description=Select+logs+by+contract+and+topics%2C+and+transactions+by+sender%2C+recipient%2C+function%2C+status+and+type.\u0026amp;theme=20a4be7d56b4aeb125dec394\u0026amp;signature=9a6ab6511ed3cd5b0849c74593a4fd209294aa463e40e0eb26f6ef0179d742b3\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Filters - Bloklake\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Select logs by contract and topics, and transactions by sender, recipient, function, status and type.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://my-company-7009db77.mintlify.app/_mintlify/api/og/v2?division=Querying\u0026amp;title=Filters\u0026amp;description=Select+logs+by+contract+and+topics%2C+and+transactions+by+sender%2C+recipient%2C+function%2C+status+and+type.\u0026amp;theme=20a4be7d56b4aeb125dec394\u0026amp;signature=9a6ab6511ed3cd5b0849c74593a4fd209294aa463e40e0eb26f6ef0179d742b3\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/my-company-7009db77/ZZq8wWyTTsLus1zT/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Bloklake\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#155DFC\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.bloklake.com/querying/filters\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/querying/filters.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.bloklake.com/#organization\",\"name\":\"Bloklake\",\"url\":\"https://docs.bloklake.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/my-company-7009db77/AEOzPZjunXHOKyLs/logo/light.svg?fit=max\u0026auto=format\u0026n=AEOzPZjunXHOKyLs\u0026q=85\u0026s=e35836064fc974b118e53f0b9fab7ed5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.bloklake.com#website\",\"name\":\"Bloklake\",\"url\":\"https://docs.bloklake.com\",\"publisher\":{\"@id\":\"https://docs.bloklake.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.bloklake.com/querying/filters#webpage\",\"url\":\"https://docs.bloklake.com/querying/filters\",\"name\":\"Filters\",\"description\":\"Select logs by contract and topics, and transactions by sender, recipient, function, status and type.\",\"dateModified\":\"2026-10-22T08:44:10.973Z\",\"isPartOf\":{\"@id\":\"https://docs.bloklake.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.bloklake.com/querying/filters#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.bloklake.com/querying/filters#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Querying\",\"item\":\"https://docs.bloklake.com/querying/request-body\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Filters\",\"item\":\"https://docs.bloklake.com/querying/filters\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.bloklake.com/querying/filters#article\",\"headline\":\"Filters\",\"name\":\"Filters\",\"description\":\"Select logs by contract and topics, and transactions by sender, recipient, function, status and type.\",\"url\":\"https://docs.bloklake.com/querying/filters\",\"mainEntityOfPage\":{\"@id\":\"https://docs.bloklake.com/querying/filters#webpage\"},\"dateModified\":\"2026-10-22T08:44:10.973Z\",\"publisher\":{\"@id\":\"https://docs.bloklake.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.bloklake.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Bloklake\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Bloklake","nav":{"global":{"anchors":[{"anchor":"Dashboard","icon":"gauge","href":"https://dashboard.bloklake.com"},{"anchor":"Chain status","icon":"signal","href":"https://dashboard.bloklake.com/chains"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Get started","pages":[{"title":"Bloklake","mode":"wide","href":""},{"title":"Quickstart","href":"/quickstart"},{"title":"Client libraries","href":"/clients"},{"title":"Core concepts","href":"/concepts"}]},{"group":"Chains","pages":[{"title":"Chains","href":"/chains/overview"},{"title":"Ethereum","href":"/chains/ethereum"},{"title":"Robinhood Chain","href":"/chains/robinhood-chain"}]},{"group":"Querying","pages":[{"title":"Request body","description":"Every key of a query, what it does, and the rules the server enforces.","href":"/querying/request-body"},{"title":"Filters","href":"/querying/filters"},{"title":"Selecting fields","description":"Choose exactly the columns you need. Fewer columns means smaller, faster and cheaper responses.","href":"/querying/fields"},{"title":"Blocks","href":"/querying/blocks"},{"title":"Joining logs to transactions","href":"/querying/join-transactions"},{"title":"Pagination","href":"/querying/pagination"},{"title":"Sets","href":"/querying/sets"},{"title":"Prepared queries","href":"/querying/prepared-queries"},{"title":"Finality and reorgs","href":"/querying/finality-and-reorgs"},{"title":"Fields a chain doesn't have","href":"/querying/unavailable-fields"}]},{"group":"Responses","pages":[{"title":"Arrow vs JSON","href":"/responses/arrow-vs-json"},{"title":"Reading Arrow","href":"/responses/reading-arrow"},{"title":"The JSON format","href":"/responses/json"},{"title":"Response metadata","href":"/responses/metadata"},{"title":"Data types","href":"/responses/data-types"}]},{"group":"Guides","pages":[{"title":"Index ERC-20 transfers","href":"/guides/erc20-transfers"},{"title":"Wallet activity","href":"/guides/wallet-activity"},{"title":"Factory contracts","href":"/guides/factory-contracts"},{"title":"Following the head","href":"/guides/follow-the-head"},{"title":"Decoding logs","href":"/guides/decode-logs"},{"title":"Export to Parquet and DuckDB","href":"/guides/export-to-parquet"},{"title":"Sampling blocks","href":"/guides/sampling-blocks"}]},{"group":"Account","pages":[{"title":"Projects and the dashboard","href":"/account/projects"},{"title":"API keys","href":"/account/api-keys"},{"title":"Team and roles","href":"/account/team"}]},{"group":"Billing","pages":[{"title":"Pricing","href":"/billing/pricing"},{"title":"How billing works","href":"/billing/how-billing-works"},{"title":"Estimating costs","href":"/billing/estimating-costs"},{"title":"Pay-as-you-go","href":"/billing/pay-as-you-go"},{"title":"Subscriptions","href":"/billing/subscriptions"},{"title":"Statements and receipts","href":"/billing/statements-and-receipts"}]},{"group":"Production","pages":[{"title":"Production checklist","href":"/production/best-practices"},{"title":"Rate limits","href":"/production/rate-limits"},{"title":"Errors and retries","href":"/production/errors-and-retries"},{"title":"Limits","href":"/production/limits"},{"title":"Troubleshooting and FAQ","href":"/production/troubleshooting"}]}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"Filters - Bloklake","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}