VaultsResource
Access via urblock.vaults.
Deploy and manage ERC-4626 tokenized vaults: deposit assets, receive shares, withdraw proportionally.
Methods
create(params)
Deploy a new ERC-4626 vault.
const vault = await urblock.vaults.create({
name: "Yield Vault",
symbol: "yMTK",
asset_token_id: "tok_abc123",
network: "polygon_amoy",
idempotency_key: "vault-001",
});
Returns: VaultResponse
list(params?)
List vaults.
const vaults = await urblock.vaults.list({ limit: 10 });
Returns: ListResponse<VaultListItem>
retrieve(id)
Get a vault by ID.
const vault = await urblock.vaults.retrieve("vlt_abc123");
Returns: VaultResponse
getLimits(id, params)
Get deposit/withdraw/mint/redeem limits for an address.
const limits = await urblock.vaults.getLimits("vlt_abc123", {
address: "0x...",
});
Returns: VaultLimitsResponse
preview(id, params)
Preview how many shares or assets a given operation would yield.
const preview = await urblock.vaults.preview("vlt_abc123", {
action: "deposit",
amount: "1000000000000000000",
});
Returns: VaultPreviewResponse
convert(id, params)
Convert between assets and shares.
const result = await urblock.vaults.convert("vlt_abc123", {
direction: "to_shares",
amount: "1000000000000000000",
});
Returns: VaultConvertResponse
deposit(id, params)
Deposit assets into the vault, receiving shares.
const tx = await urblock.vaults.deposit("vlt_abc123", {
depositor: "0x...",
assets: "1000000000000000000",
receiver: "0x...",
idempotency_key: "deposit-001",
});
Returns: TransactionShortResponse
withdraw(id, params)
Withdraw assets from the vault.
const tx = await urblock.vaults.withdraw("vlt_abc123", {
assets: "500000000000000000",
receiver: "0x...",
owner: "0x...",
idempotency_key: "withdraw-001",
});
Returns: TransactionShortResponse
redeem(id, params)
Redeem shares for assets.
const tx = await urblock.vaults.redeem("vlt_abc123", {
shares: "1000000000000000000",
receiver: "0x...",
owner: "0x...",
idempotency_key: "redeem-001",
});
Returns: TransactionShortResponse
mint(id, params)
Mint exact shares by depositing the required assets.
const tx = await urblock.vaults.mint("vlt_abc123", {
minter: "0x...",
shares: "1000000000000000000",
receiver: "0x...",
idempotency_key: "mint-001",
});
Returns: TransactionShortResponse