{"openapi":"3.1.0","info":{"title":"Ethereum Signatures API","version":"1.0.0","description":"Decode Ethereum smart-contract function and event signatures, keyless. Turn a 4-byte function selector (the first 4 bytes of any transaction calldata, e.g. 0xa9059cbb) into its human-readable function signature (transfer(address,uint256)), decode a 32-byte event topic from a log into its event signature, or search the database by name to find a selector. Many selectors have hash collisions — the API flags the original / canonical signature. Backed by the open 4byte.directory database, live. Essential for transaction decoders, block explorers, wallets, security tools and on-chain analytics — the signature-decoding layer for any EVM tooling.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/ethsignatures-api","description":"oanor gateway"}],"tags":[{"name":"Decode"},{"name":"Search"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/event":{"get":{"operationId":"get_v1_event","tags":["Decode"],"summary":"Decode a 32-byte event topic to its event signature","description":"","parameters":[{"name":"hex","in":"query","required":true,"description":"32-byte event topic (0x + 64 hex chars)","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"All event signatures whose keccak-256 hash equals this 32-byte topic. most_likely (lowest id) is the canonical one.","count":1,"source":"4byte.directory","signatures":[{"id":1,"most_likely":true,"text_signature":"Transfer(address,address,uint256)"}],"most_likely":"Transfer(address,address,uint256)","hex_signature":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"},"meta":{"timestamp":"2026-06-14T08:04:18.614Z","request_id":"03940096-2010-4752-a182-6a4507fa9d94"},"status":"ok","message":"Event signature decoded successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/function":{"get":{"operationId":"get_v1_function","tags":["Decode"],"summary":"Decode a 4-byte function selector to its signature(s)","description":"","parameters":[{"name":"hex","in":"query","required":true,"description":"4-byte function selector (0x + 8 hex chars)","schema":{"type":"string"},"example":"0xa9059cbb"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"All function signatures whose keccak-256 hash starts with this 4-byte selector. most_likely (lowest id) is the original / canonical one; the rest are hash collisions.","count":6,"source":"4byte.directory","signatures":[{"id":145,"most_likely":true,"text_signature":"transfer(address,uint256)"},{"id":31780,"most_likely":false,"text_signature":"many_msg_babbage(bytes1)"},{"id":161159,"most_likely":false,"text_signature":"transfer(bytes4[9],bytes5[6],int48[11])"},{"id":313067,"most_likely":false,"text_signature":"func_2093253501(bytes)"},{"id":844280,"most_likely":false,"text_signature":"join_tg_invmru_haha_fd06787(address,bool)"},{"id":1111734,"most_likely":false,"text_signature":"workMyDirefulOwner(uint256,uint256)"}],"most_likely":"transfer(address,uint256)","hex_signature":"0xa9059cbb"},"meta":{"timestamp":"2026-06-14T08:04:18.714Z","request_id":"89d2c275-2ceb-43a9-a3f2-8f5606f346d8"},"status":"ok","message":"Function signature decoded successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/search":{"get":{"operationId":"get_v1_search","tags":["Search"],"summary":"Search signatures by text and get their selectors","description":"","parameters":[{"name":"text","in":"query","required":true,"description":"Function name or partial text","schema":{"type":"string"},"example":"transfer"},{"name":"limit","in":"query","required":false,"description":"Results (1-100, default 25)","schema":{"type":"string"},"example":"25"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Function signatures matching the text query, each with its 4-byte selector.","count":25,"query":"transfer","total":25787,"source":"4byte.directory","signatures":[{"id":1207759,"hex_signature":"0x069d7896","text_signature":"ScannedTicketCannotBeTransferred()"},{"id":1207712,"hex_signature":"0x5524e9dc","text_signature":"CrossChainTransferCompleted(uint64,uint64,uint256,uint64)"},{"id":1207510,"hex_signature":"0x16d7fd37","text_signature":"bulkTransferFrom(address,address,uint48[])"},{"id":1207492,"hex_signature":"0x234b7ede","text_signature":"transferUserERC20(address,address,uint256,address,address)"},{"id":1207491,"hex_signature":"0xa0531b02","text_signature":"transferSurchargeRecipient(address)"},{"id":1207490,"hex_signature":"0xb2c5c510","text_signature":"transferDAppERC20(address,address,uint256,address,address)"},{"id":1207274,"hex_signature":"0xa8b9e56b","text_signature":"testNotPaused_CompleteTransferAndUnwrapETHWithPayload_RevertsWhenPaused()"},{"id":1207273,"hex_signature":"0xf8847643","text_signature":"testNotPaused_CompleteTransferWithPayload_RevertsWhenPaused()"},{"id":1207272,"hex_signature":"0x5f1a24d6","text_signature":"testNotPaused_CompleteTransferAndUnwrapETH_RevertsWhenPaused()"},{"id":1207271,"hex_signature":"0x0e6c3fcf","text_signature":"testNotPaused_CompleteTransfer_RevertsWhenPaused()"},{"id":1207270,"hex_signature":"0x331382d5","text_signature":"testNotPaused_WrapAndTransferETHWithPayload_RevertsWhenPaused()"},{"id":1207269,"hex_signature":"0x5e4678df","text_signature":"testNotPaused_WrapAndTransferETH_RevertsWhenPaused()"},{"id":1207268,"hex_signature":"0xd0d214f2","text_signature":"testNotPaused_TransferTokensWithPayload_RevertsWhenPaused()"},{"id":1207267,"hex_signature":"0x6607e368","text_signature":"testNotPaused_TransferTokens_RevertsWhenPaused()"},{"id":1206967,"hex_signature":"0x43d0b91a","text_signature":"transferAMD(address,uint256)"},{"id":1206966,"hex_signature":"0xe8560482","text_signature":"transferDIA(address,uint256)"},{"id":1206884,"hex_signature":"0xe827105f","text_signature":"setTransferUnlocked(bool)"},{"id":1206670,"hex_signature":"0xead57e5c","text_signature":"getImportFeeForReserveTransfer(address)"},{"id":1206668,"hex_signature":"0x2ea25b3a","text_signature":"buildReserveTransfer(uint64,uint176,address,uint64,address)"},{"id":1206656,"hex_signature":"0x5f7b88e4","text_signature":"tokenTransfer(uint256,address,address)"},{"id":1206603,"hex_signature":"0x45e14c46","text_signature":"updateTransferLockPeriod(uint256,uint256)"},{"id":1206602,"hex_signature":"0xe6fc6098","text_signature":"transferLockStart()"},{"id":1206601,"hex_signature":"0xecff3a0c","text_signature":"transferLockEnabled()"},{"id":1206595,"hex_signature":"0x12318ac4","text_signature":"NON_TRANSFERABLE_BYPASS_ROLE()"},{"id":1206565,"hex_signature":"0x9773bb71","text_signature":"E_TransferFromFailed(bytes,bytes)"}]},"meta":{"timestamp":"2026-06-14T08:04:19.368Z","request_id":"a92b5686-da33-4f8d-b55b-59886f5395aa"},"status":"ok","message":"Signatures retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata & live sample","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"function takes hex = a 4-byte selector (0x + 8 hex). event takes hex = a 32-byte topic (0x + 64 hex). search takes text (e.g. transfer) and optional limit (1-100). Many selectors have hash collisions; most_likely (lowest id) is the original signature.","sample":{"most_likely":"transfer(address,uint256)","hex_signature":"0xa9059cbb"},"source":"4byte.directory open API (www.4byte.directory/api/v1), live","service":"ethsignatures-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/event":"Decode a 32-byte event topic to its event signature (hex=0xddf252ad...).","GET /v1/search":"Search signatures by text and get their selectors (text=transfer).","GET /v1/function":"Decode a 4-byte function selector to its signature(s) (hex=0xa9059cbb)."},"description":"Decode Ethereum smart-contract function and event signatures, keyless. Turn a 4-byte function selector (first 4 bytes of any transaction's calldata, e.g. 0xa9059cbb) into its human-readable signature (transfer(address,uint256)), decode a 32-byte event topic from a log, or search the database by name. Essential for transaction decoders, block explorers, wallets, security tools and on-chain analytics. Live, nothing stored beyond a short cache. The signature-decoding layer for any EVM tooling.","upstream_status":"ok"},"meta":{"timestamp":"2026-06-14T08:04:19.444Z","request_id":"e9194766-7301-42f2-84e8-96d9ba276790"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":5000,"rps_limit":3,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":950,"monthly_call_quota":120000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3250,"monthly_call_quota":800000,"rps_limit":20,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":9400,"monthly_call_quota":5000000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/ethsignatures-api"}