Skip to main content
Creating a MicroVault deploys a non-upgradeable vault with its own ERC-20 share token. The vault contract address is also the share-token address.

Prerequisites

  • MicroVaults enabled for your organization
  • A base asset returned by GET /v2/microvaults/yield-sources?chainId=11155111
  • A fee recipient address

1. Submit the vault settings

Fees use basis points: 100 is 1%. Use 0 for no fee.
The response describes the asynchronous creation task. Save task.id to identify this creation attempt.

2. Track provisioning

  1. Find the entry in provisionings whose id equals the saved task.id.
  2. Save that entry’s chainId, customerId, and customerVaultNonce.
  3. Find the active vault in items with the same chainId and customerVaultNonce, and with onchainCustomerId equal to that customerId. Follow nextCursor to check later pages.
  4. Verify its address against the confirmed creation transaction receipt before saving its API id.
For example, a provisioning entry with chainId: 11155111, customerId: "7", and customerVaultNonce: "2" matches an active item on chain 11155111 with onchainCustomerId: "7" and customerVaultNonce: "2". It must also match the address in the confirmed receipt. Share names are not unique identifiers. If the provisioning entry has already disappeared, use its creation transaction receipt and the deployed factory ABI to obtain the created vault address. Match that address in items. Keep the task ID and transaction hashes if you need Ground to investigate an unresolved creation.

Confirm creation

Creation is complete when the vault appears in items with status: "active". Save its id for API calls. Its address is both the vault contract address and the ERC-20 share-token address. If the provisioning entry reports failed, do not create a duplicate vault with the same settings. Record its task ID and error, correct the reported cause, and retry with a new idempotency key.