Skip to content
This repository was archived by the owner on Jun 2, 2026. It is now read-only.

feat: Add Alphix hook identification for Base and Arbitrum#406

Open
yanisepfl wants to merge 2 commits into
propeller-heads:mainfrom
yanisepfl:feat/alphix-hook-integration
Open

feat: Add Alphix hook identification for Base and Arbitrum#406
yanisepfl wants to merge 2 commits into
propeller-heads:mainfrom
yanisepfl:feat/alphix-hook-integration

Conversation

@yanisepfl

Copy link
Copy Markdown

Summary

Add substreams modules to identify and tag Alphix Uniswap V4 hook pools on Base and Arbitrum. Alphix is a Dynamic Fee Hook with JIT liquidity rehypothecation through ERC-4626 vaults (Aave, Sky).

  • store_alphix_hooks: Stores known hook addresses from YAML params
  • map_alphix_enriched_block_changes: Tags matching pools with hook_identifier: "alphix_v1"
  • New chain YAML configs for Base and Arbitrum

Pools

Chain Hook Address Pool
Base 0x831CfDf7c0E194f5369f204b3DD2481B843d60c0 ETH/USDC
Base 0x0e4b892Df7C5Bcf5010FAF4AA106074e555660C0 USDS/USDC
Arbitrum 0x5e645C3D580976Ca9e3fe77525D954E73a0Ce0C0 USDC/USDT

Note on Liquidity Model

Alphix pools hold no liquidity in the PoolManager — all liquidity is rehypothecated into ERC-4626 yield sources and minted JIT on every swap via beforeSwap/afterSwap hooks. The Generator/Parser will need to query available liquidity per token via getAmountInYieldSource(Currency) on the hook contract. No hookData is needed — Alphix hooks are composable with standard Uniswap V4 entrypoint encoding.

Let me know if you have any questions — happy to help with anything needed on our side.

Thanks!

Add substreams modules to identify and tag Alphix V4 hook pools on Base
and Arbitrum chains. Alphix is a Uniswap V4 Dynamic Fee Hook with JIT
liquidity rehypothecation through ERC-4626 vaults.

New modules:
- store_alphix_hooks: stores known hook addresses from params
- map_alphix_enriched_block_changes: tags pools with hook_identifier

New chain configs:
- base-uniswap-v4-with-hooks.yaml (2 hooks)
- arbitrum-uniswap-v4-with-hooks.yaml (1 hook)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@tanayjain14 tanayjain14 requested a review from zach030 March 13, 2026 05:59
@zach030

zach030 commented Mar 16, 2026

Copy link
Copy Markdown
Contributor

Hey! Thanks for your PR! For Uniswap v4 hooks integration, we cover it in our documentation here. You can also refer to the EulerSwap integration case study as an example.
Since Alphix pools don’t hold liquidity in the PoolManager, you’ll need to follow the guide and implement the integration on the indexer side.

Addresses review feedback: since hook addresses are already configured
in params, the intermediate store is unnecessary. The map handler now
takes params directly and checks pool hooks against the configured
address list.

Companion indexer-side PR: propeller-heads/tycho#878
@yanisepfl

Copy link
Copy Markdown
Author

Thanks for the feedback @zach030! I've made both changes:

1. Removed store_alphix_hooks — the map handler now takes the hook addresses directly from params and checks them inline. No more intermediate store.

2. Indexer-side integration — since Alphix pools hold liquidity externally (ERC-4626 vaults, not in the PoolManager), I've opened a companion PR on tycho-indexer implementing MetadataRequestGenerator + MetadataResponseParser for Alphix: propeller-heads/tycho-indexer#878

It fetches vault balances via getAmountInYieldSource(bool) for each token, registered under hook_identifier: "alphix_v1".

Let me know if anything else needs adjusting!

@yanisepfl yanisepfl requested a review from zach030 March 17, 2026 09:49
@yanisepfl

Copy link
Copy Markdown
Author

@zach030 any thing I can do to help accelerate the process?

Note: we already are integrated in Kyberswap

@zach030

zach030 commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

@zach030 any thing I can do to help accelerate the process?

Note: we already are integrated in Kyberswap

Hey! I finished the review, looks good! I still need to sync it locally and run the integration tests, I'll keep you posted.

@zach030

zach030 commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

Hey @yanisepfl! I noticed Alphix Hook is deployed on Base and Arbitrum. Unfortunately, due to node provider restrictions (we require debug_storageRangeAt), we only support Uniswap hooks on Ethereum and Unichain right now. If you have plans to deploy on either of those, we'd be happy to continue with the integration!

@yanisepfl

Copy link
Copy Markdown
Author

Hey @yanisepfl! I noticed Alphix Hook is deployed on Base and Arbitrum. Unfortunately, due to node provider restrictions (we require debug_storageRangeAt), we only support Uniswap hooks on Ethereum and Unichain right now. If you have plans to deploy on either of those, we'd be happy to continue with the integration!

Hi @zach030, thanks for letting me know and apologies for missing that requirement completely! We don't have a deployment on Ethereum or Unichain currently, but we're open to expanding to Unichain. Realistically though, it probably wouldn't happen in the next couple of weeks.

Out of curiosity, are there any plans on your side to support other chains (such as Base and Arbitrum) in the future? Happy to revisit this PR whenever there's alignment on either end.

@zach030

zach030 commented Mar 22, 2026

Copy link
Copy Markdown
Contributor

Hey @yanisepfl! I noticed Alphix Hook is deployed on Base and Arbitrum. Unfortunately, due to node provider restrictions (we require debug_storageRangeAt), we only support Uniswap hooks on Ethereum and Unichain right now. If you have plans to deploy on either of those, we'd be happy to continue with the integration!

Hi @zach030, thanks for letting me know and apologies for missing that requirement completely! We don't have a deployment on Ethereum or Unichain currently, but we're open to expanding to Unichain. Realistically though, it probably wouldn't happen in the next couple of weeks.

Out of curiosity, are there any plans on your side to support other chains (such as Base and Arbitrum) in the future? Happy to revisit this PR whenever there's alignment on either end.

Hey! Tycho currently supports Ethereum, Base, and Unichain — you can check the full list in this doc. We have a chain scaling roadmap in the works and are planning to expand to Arbitrum, BSC, Polygon, and more.

@yanisepfl

Copy link
Copy Markdown
Author

Hey! Tycho currently supports Ethereum, Base, and Unichain — you can check the full list in this doc. We have a chain scaling roadmap in the works and are planning to expand to Arbitrum, BSC, Polygon, and more.

Well then I don't understand, it seems our Base pools should already be supported no?

As for Arbitrum, we don't mind waiting for you to expand.

Thanks!

@zach030

zach030 commented Mar 22, 2026

Copy link
Copy Markdown
Contributor

Hey! Tycho currently supports Ethereum, Base, and Unichain — you can check the full list in this doc. We have a chain scaling roadmap in the works and are planning to expand to Arbitrum, BSC, Polygon, and more.

Well then I don't understand, it seems our Base pools should already be supported no?

As for Arbitrum, we don't mind waiting for you to expand.

Thanks!

We do support Base, but hook support requires debug_storageRangeAt, which isn't available on the node provider side. So on Base we only support standard protocols like Uniswap v2/v3/v4 — without hooks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants