Asseto
Asseto issues tokenised investment products. The integration maps every EVM product returned by Asseto’s current public registry on chains supported by the shared vault pipeline. This presently includes Ethereum, BNB Chain and Avalanche products. Asseto fund shares are ERC-20 tokens, but they are not ERC-4626 or ERC-7540 vaults: their permissioned subscriptions and redemptions are administered separately.
The backfill discovers product addresses from the registry on every run and combines on-chain token supply with Asseto’s published NAV/share history. Products remain present in vault metadata even when they currently have zero supply or Asseto has not published a price history.
IP Vault on Soneium
IP Vault is represented by
eth_defi.tokenised_fund.asseto.royalty.AssetoRoyaltyVault under the
Asseto protocol label. It is still under verification. The sole supported
deployment is Soneium proxy 0x2Ba3FC5BDbBE7BE2630fB71e759739625246bCd9;
classification uses this chain and address only, without protocol probes.
This variant reads totalAssets(), totalSupply() and
convertToAssets() onchain. It is separate from the Asseto API registry
reader and is scanned through the ordinary EVM price pipeline. Its historical
reader omits unsupported maxDeposit calls and rejects stale or unavailable
oraclesFresh() results. Reported assets can still include in-flight fund
settlements and must not be treated as immediately redeemable liquidity.
The adapter carries review_needed, an explicit unknown risk assessment and
no certified deposit manager. Standard ERC-4626 transaction methods revert;
the PreDeposit and RedeemQueue lifecycle requires a separate integration.
The published contract disclosures
differ from the observed governance configuration: at block 29979401 the delay
was 180 seconds, the admin could change it, and execution required an admin or
operator. The product must not inherit AoABT’s technical-risk assessment.
Normal discovery injects the verified deployment at block 29828010 without inventing flow-event counts. For an existing metadata database, stop the persistent scanner and review a dry run before applying:
source .local-test.env && DRY_RUN=true poetry run python scripts/erc-4626/migrate-asseto-royalty-vault.py
Set DRY_RUN=false to apply. The script backs up the metadata pickle and
changes only the IP Vault record. Reader state and price Parquet files remain
untouched; it does not start a historical price scan.
Historical prices
For each sampled block, the historical reader obtains:
the product ERC-20
totalSupply()for outstanding sharesPricer.getLatestPrice()for the hardcoded AoABT deployment, or the product’s full public daily NAV history for registry-discovered products
TVL is calculated as totalSupply * NAV/share. Registry stoken products
omit a collateral-token address but publish USD fund-unit values, so they are
exported with a synthetic USD accounting denomination. HKD-denominated products
are converted to USD using the shared historical currency-rate database before
they enter cleaned live-feed history. The backfill stops with an error if any
active supported-chain registry product lacks price history or positive,
USD-compatible current metadata.
Fees
The adapter reads the manager’s live mintFee() and redemptionFee()
settings as basis points. Its verified source applies each fee as
amount * fee / BPS_DENOMINATOR, where BPS_DENOMINATOR is 10,000.
AoABT’s underlying fund documentation also
states a 1% annual management fee, a 20% performance fee above a 6% hurdle,
and a redemption fee that falls from 1% during the first year to 0% after the
lock-up. The latter conditions are exposed through has_custom_fees() rather
than being reduced to a misleading single scalar withdrawal fee.
Limitations
The deposit manager is deliberately blocked. Asseto subscription and redemption requests are KYC-gated and follow a bespoke request, price assignment and claim lifecycle, so the generic vault deposit and redemption APIs cannot safely operate them. The adapter provides read-only discovery, NAV/share and historical metrics instead.
Off-chain product metadata
The eth_defi.tokenised_fund.asseto.offchain_api module reads descriptions,
displayed TVL/APY, product registry data and the complete available NAV history
from the public Asseto web-application API. Asseto does not document this as a
stable, versioned developer API, so production runs validate current active
products rather than silently accepting a coverage gap.
Chain coverage
The live pipeline requires both a project chain mapping and cache-aware HyperSync timestamp support. Asseto EVM products on HashKey Chain and Pharos are therefore reported but skipped until those chains are supported. XRPL products are outside the EVM scope of this library.
Partner roles and curators
The same public application API exposes partner role labels and logo assets.
The adapter’s fetch_roles() method returns AssetoRoleInfo values and
resolves an organisation only for known official logo assets. It treats an
Investment Manager as the vault curator where present, otherwise an
Investment Advisor; generic advisor, legal, custody and administration
roles do not create a curator attribution.
Asseto tokenised fund vault adapter. |
|
Historical reader for Asseto tokenised fund products. |
|
Read public Asseto product metadata from its web-application API. |
|
Backfill historical Asseto vault data into the shared vault pipeline. |