AccountableVaultMetadata

Documentation for eth_defi.erc_4626.vault_protocol.accountable.offchain_metadata.AccountableVaultMetadata Python class.

class AccountableVaultMetadata

Bases: TypedDict

Metadata about an Accountable vault from offchain source.

Fetched from the Accountable yield app API at yield.accountable.capital. Discovered by reverse-engineering the React SPA JavaScript bundles.

  • Listing endpoint: GET /api/loan

  • Detail endpoint: GET /api/loan/{id}

The detail endpoint returns vault_strategy and company_info fields that provide strategy and company descriptions.

Attributes summary

name

Vault name from Accountable's app, e.g.

description

Full vault strategy description (may contain markdown formatting)

short_description

First sentence of the full vault strategy description

company_name

Company/manager name, e.g.

company_url

Company website URL

net_apy

Net APY as percentage, e.g.

performance_fee

Performance fee as fraction, e.g.

yield_source

Source of yield, or None if not specified

loan_address

Loan/strategy contract address used in the yield app URL (distinct from the ERC-4626 vault/share token address)

Methods summary

__init__(*args, **kwargs)

clear()

Remove all items from the dict.

copy()

Return a shallow copy of the dict.

fromkeys([value])

Create a new dictionary with keys from iterable and values set to value.

get(key[, default])

Return the value for key if key is in the dictionary, else default.

items()

Return a set-like object providing a view on the dict's items.

keys()

Return a set-like object providing a view on the dict's keys.

pop(k[,d])

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem()

Remove and return a (key, value) pair as a 2-tuple.

setdefault(key[, default])

Insert key with a value of default if key is not in the dictionary.

update([E, ]**F)

If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()

Return an object providing a view on the dict's values.

name: str

Vault name from Accountable’s app, e.g. Aegis Yield Vault

description: Optional[str]

Full vault strategy description (may contain markdown formatting)

short_description: Optional[str]

First sentence of the full vault strategy description

company_name: Optional[str]

Company/manager name, e.g. Aegis

company_url: Optional[str]

Company website URL

net_apy: Optional[float]

Net APY as percentage, e.g. 12.43

performance_fee: Optional[float]

Performance fee as fraction, e.g. 0.20 for 20%

yield_source: Optional[str]

Source of yield, or None if not specified

loan_address: Optional[str]

Loan/strategy contract address used in the yield app URL (distinct from the ERC-4626 vault/share token address)

__init__(*args, **kwargs)
__new__(**kwargs)
clear()

Remove all items from the dict.

copy()

Return a shallow copy of the dict.

fromkeys(value=None, /)

Create a new dictionary with keys from iterable and values set to value.

get(key, default=None, /)

Return the value for key if key is in the dictionary, else default.

items()

Return a set-like object providing a view on the dict’s items.

keys()

Return a set-like object providing a view on the dict’s keys.

pop(k[, d]) v, remove specified key and return the corresponding value.

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem()

Remove and return a (key, value) pair as a 2-tuple.

Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.

setdefault(key, default=None, /)

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

update([E, ]**F) None.  Update D from mapping/iterable E and F.

If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()

Return an object providing a view on the dict’s values.