Skip to main content

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