Skip to content

Conversation

@shankars99
Copy link
Collaborator

Composer that activates addresses on hypercore by collecting a Fee in the asset token that is sent across (ex: USDe, ENA, PENGU) for tokens that are NOT FeeTokens (USDT0).

The composer has a pre-funding of X USDT/USDC which it spends to activate accounts. There is a minimum balance, and if we ever go under it then we simply revert and give the user tokens on HyperEVM.

The AssetTokens that have been collected as the Fee can be withdrawn by the RecoveryAddress.

Deployments (not latest but functionally equivalent except for reverting)

Composer deployed:
https://hyperevmscan.io/address/0x745D6DE83F4E09A8677723645f9C959d3cf9A107#code
With overhead fee of 1.5 USD-stable ($2.5 per activation - $1 to hyperliquid + $1.5 fee)

https://layerzeroscan.com/tx/0xb477c34b42b0b9ae737bb09233b2943706d7cd3e8fb4b494af452007b75a06a3

Composer (evm -> core)
https://app.hyperliquid.xyz/explorer/tx/0xf45b426eba070c6af5d4042d09970b0101005a54550a2b3d9823edc1790ae655

Composer -> User (core -> core)
https://app.hyperliquid.xyz/explorer/tx/0xa72eb909d3984ee6a8a8042d09970b010200d0ef6e9b6db84af7645c929c28d1

Pre lzCompose composer balances:

npx @layerzerolabs/hyperliquid-composer get-core-balances -u 0x745D6DE83F4E09A8677723645f9C959d3cf9A107 -n mainnet
info:    [sdk-hyperliquid-composer] 
Balances:
┌──────┬───────┬─────────────┬──────┬───────────┐
│ Coin │ Token │       Total │ Hold │ Entry Ntl │
├──────┼───────┼─────────────┼──────┼───────────┤
│ USDC │     0 │ 10.00000000 │  0.0 │       0.0 │
└──────┴───────┴─────────────┴──────┴───────────┘

Showing 2 balances (2 non-zero out of 2 total)

Post lzCompose composer balances

$ npx @layerzerolabs/hyperliquid-composer get-core-balances -u 0x745D6DE83F4E09A8677723645f9C959d3cf9A107 -n mainnet   
info:    [sdk-hyperliquid-composer] 
Balances:
┌──────┬───────┬────────────┬──────┬───────────┐
│ Coin │ Token │      Total │ Hold │ Entry Ntl │
├──────┼───────┼────────────┼──────┼───────────┤
│ USDC │     0 │ 9.00000001 │  0.0 │       0.0 │
├──────┼───────┼────────────┼──────┼───────────┤
│ USDE │   235 │   2.500025 │  0.0 │       2.5 │
└──────┴───────┴────────────┴──────┴───────────┘

Showing 2 balances (2 non-zero out of 2 total)

Pre lzCompose account activation:

npx @layerzerolabs/hyperliquid-composer is-account-activated -u 0x3fBEE4E0546d8AaaF7c8B34D069064CdccDc8DBc -n mainnet
info:    [sdk-hyperliquid-composer] Account activated: false

Post lzCompose account activation:

$ npx @layerzerolabs/hyperliquid-composer is-account-activated -u 0x3fBEE4E0546d8AaaF7c8B34D069064CdccDc8DBc -n mainnet
info:    [sdk-hyperliquid-composer] Account activated: true

Post lzCompose balances of user:

npx @layerzerolabs/hyperliquid-composer get-core-balances -u 0x3fBEE4E0546d8AaaF7c8B34D069064CdccDc8DBc -n mainnet
info:    [sdk-hyperliquid-composer] 
Balances:
┌──────┬───────┬──────────┬──────┬───────────┐
│ Coin │ Token │    Total │ Hold │ Entry Ntl │
├──────┼───────┼──────────┼──────┼───────────┤
│ USDE │   235 │ 0.499975 │  0.0 │   0.49997 │
└──────┴───────┴──────────┴──────┴───────────┘

@shankars99 shankars99 changed the title Hlp/asset activation composer hyperliquid - asset fee abstraction composer Oct 7, 2025
@shankars99 shankars99 force-pushed the hlp/asset-activation-composer branch from a37e461 to a9bf305 Compare October 14, 2025 23:16
Signed-off-by: shankar <[email protected]>
@shankars99 shankars99 requested a review from tinom9 October 15, 2025 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants