---
title: "Add a new vault"
method: POST
path: "/vault"
tags: ["Vault"]
---

# Add a new vault

`POST /vault`

Add a new vault to Superform.

## Request body

- AddVaultInputBody
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `analytics` VaultAnalytic[]
    - `chart_title` string
    - `chart_url` string
    - `id` string
    - `is_deleted` boolean
    - `vault_id` string
  - `assets` Asset[]
    - `contract_address` string
    - `decimals` integer
    - `id` integer
    - `image` string
    - `name` string
    - `symbol` string
  - `audits` VaultAudit[]
    - `audit_date` string, date-time
    - `audit_link` string
    - `audit_name` string
    - `id` string
    - `is_deleted` boolean
    - `vault_id` string
  - `availability` 'available' | 'unavailable' | 'paused' | 'withdraw_only' | 'deposit_only' | '' — Availability on the Superform platform
  - `chain` Chain
    - `id` integer
    - `logo_url` string
    - `name` string
    - `short_name` string
    - `wrapped_token_id` string
  - `contract_address` string — This comes from on-chain data, it is the address of the vault contract.
  - `created_at` string, date-time
  - `decimals` integer — This comes from on-chain data, decimals of the vault.
  - `deploy_date` string, date-time — The date the vault was deployed on-chain.
  - `description` string — The description of the vault. Required when creating vault.
  - `exploits` VaultExploit[]
    - `amount` string
    - `date` string, date-time
    - `id` string
    - `is_deleted` boolean
    - `title` string
    - `url` string
    - `vault_id` string
  - `external_url` string — The external URL of the vault.
  - `faq` VaultFAQ[]
    - `answer` string
    - `id` string
    - `is_deleted` boolean
    - `question` string
    - `vault_id` string
  - `fees` VaultFee[]
    - `fee_amount` number, double
    - `fee_description` string
    - `fee_name` string
    - `id` string
    - `is_deleted` boolean
    - `vault_id` string
  - `form_implementation_id` string, required — This is the formImplementationID of the vault
  - `friendly_name` string — The friendly name of the vault.
  - `has_aerc_20_registered` boolean — Whether the vault has an AERC20 registered.
  - `has_rewards` boolean, nullable
  - `has_timelock` boolean, nullable — Whether the vault has a timelock.
  - `id` string — This is the unique identifier for this vault.
  - `is_authenticated` boolean
  - `is_supervault` boolean
  - `kyc` VaultKYC[]
    - `id` string
    - `is_deleted` boolean
    - `issuer` string
    - `issuer_link` string
    - `provider` string
    - `vault_id` string
  - `name` string, required — This is the name of the vault.
  - `num_depositors` integer — The number of Superform depositors in the vault.
  - `other` VaultOther[]
    - `additional_description` string
    - `additional_info` string
    - `id` string
    - `is_deleted` boolean
    - `vault_id` string
  - `protocol` Protocol
    - `$schema` string, uri — A URL to the JSON Schema for this object.
    - `analytics` ProtocolAnalytic[]
      - `chart_title` string, required
      - `chart_url` string, required
      - `id` string, required
      - `is_deleted` boolean, required
      - `protocol_id` string, required
    - `audits` ProtocolAudit[]
      - `audit_date` string, date-time, required
      - `audit_link` string, required
      - `audit_name` string, required
      - `created_at` string, date-time, required
      - `id` string, required
      - `is_deleted` boolean, required
      - `protocol_id` string, required
      - `updated_at` string, date-time, required
    - `chain_ids` integer[]
    - `created_at` string, date-time, required
    - `defillama_id` string, required
    - `deploy_date` string, date-time, required
    - `deployers` Deployer[]
      - `address` string, required
      - `created_at` string, date-time, required
      - `id` string, required
      - `name` string, required
      - `status` string, required
      - `type` string, required
      - `updated_at` string, date-time, required
      - `vault_count` integer, required
    - `description` string, required
    - `exploits` ProtocolExploit[]
      - `amount` string, required
      - `created_at` string, date-time, required
      - `date` string, date-time, required
      - `id` string, required
      - `is_deleted` boolean, required
      - `protocol_id` string, required
      - `title` string, required
      - `updated_at` string, date-time, required
      - `url` string, required
    - `faq` ProtocolFAQ[]
      - `answer` string, required
      - `created_at` string, date-time, required
      - `id` string, required
      - `is_deleted` boolean, required
      - `protocol_id` string, required
      - `question` string, required
      - `updated_at` string, date-time, required
    - `graphics` ProtocolGraphics, required
      - `avatar` string, required
      - `header` string, required
      - `icon` string, required
      - `watermark` string, required
    - `id` string, required
    - `is_authenticated` boolean, required
    - `is_hidden` boolean, required
    - `links` ProtocolLinks, required
      - `discord` string, required
      - `telegram` string, required
      - `twitter` string, required
      - `website` string, required
    - `name` string, required
    - `num_depositors` integer, required
    - `primary_color` string, required
    - `status` string, nullable, required
    - `status_message` string, nullable, required
    - `tagline` string, required
    - `tvl` number, double, required
    - `tvl_day_change` number, double, required
    - `tvl_month_change` number, double, required
    - `tvl_week_change` number, double, required
    - `type` string, required
    - `updated_at` string, date-time, required
    - `users` User[]
      - `address` string, required
      - `created_at` string, date-time, required
      - `dynamic_id` string, required
      - `dynamic_wallet_id` string, required
      - `id` string, required
      - `name` string, required
      - `protocol_id` string, required
      - `role` string, required
      - `updated_at` string, date-time, required
    - `vanity_url` string, required
    - `vaults_amount` integer, required
  - `protocol_id` string, nullable — Optional. This is the unique identifier for the protocol that this vault belongs to.
  - `recommend_vault_share_withdrawal` boolean, nullable
  - `rewards` VaultRewardRates[] — Array of rewards that are live for this vault.
    - `address` string
    - `chain_id` integer
    - `is_configurable` boolean
    - `logo` string
    - `rate_type` string
    - `remarks` string
    - `remarks_url` string
    - `reward_multiplier` number, double
    - `reward_rate` number, double
    - `reward_source` string
    - `symbol` string
    - `total_supply` integer, nullable
    - `type` string
  - `risk_data` VaultRiskData
    - `assets` VaultRiskDataAssetsStruct
      - `rating` string
      - `rating_color` string
      - `underlying` VaultRiskDataUnderlying[]
        - `name` string
        - `rating` string
        - `rating_color` string
        - `url` string, nullable
    - `chain` VaultRiskDataChainStruct
      - `rating` string
      - `rating_color` string
      - `underlying` VaultRiskDataUnderlying[]
        - `name` string
        - `rating` string
        - `rating_color` string
        - `url` string, nullable
    - `pool_design` VaultRiskDataPoolDesignStruct
      - `rating` string
      - `rating_color` string
    - `pool_rating` string
    - `pool_rating_color` string
    - `pool_rating_description` string
    - `pool_url` string
    - `protocols` VaultRiskDataProtocolsStruct
      - `rating` string
      - `rating_color` string
      - `underlying` VaultRiskDataUnderlying[]
        - `name` string
        - `rating` string
        - `rating_color` string
        - `url` string, nullable
  - `risk_data_last_updated` string, date-time — The last time the risk data was updated.
  - `super_pools` integer[] — Array of chainIDs on which there is a liquidity pool for this vault
  - `superform_address` string, nullable — This comes from on-chain data, it is the address of the superform contract.
  - `superform_id` string, nullable — This comes from on-chain data, it is the unique identifier for this superform.
  - `symbol` string — This comes from on-chain data, symbol of the vault.
  - `timelock_duration` integer, nullable — The duration of the timelock.
  - `timelock_unit` 'hours' | 'days' | 'weeks' | 'months' | 'years' | '', nullable — The unit of the timelock duration.
  - `underlying_wrapper_vaults` ERC5115To4626WrapperVault[]
    - `chain_id` integer, required
    - `contract_address` string, required
    - `from_token_address` string, required
    - `id` string, required
    - `superform_address` string, required
    - `superform_id` string, required
    - `to_token_address` string, required
  - `updated_at` string, date-time
  - `vault_lister` string — The address of the user who listed the vault.
  - `vault_statistics` VaultStatistic
    - `apy_day` number, double, nullable, required — APY calculated over a 24 hour time frame and scaled to a year.
    - `apy_day_change` number, double, nullable, required — APY change over the past day, in percent.
    - `apy_month` number, double, nullable, required — APY calculated over a 30 day time frame and scaled to a year.
    - `apy_month_change` number, double, nullable, required — APY change over the past month, in percent.
    - `apy_now` number, double, nullable, required — APY.
    - `apy_week` number, double, nullable, required — APY calculated over a 7 day time frame and scaled to a year.
    - `apy_week_change` number, double, nullable, required — APY change over the past week, in percent.
    - `pps` number, double, nullable, required — Price per share.
    - `pps_usd` number, double, nullable, required — Price per share in USD.
    - `reward_rate` number, double, nullable, required — Reward rate.
    - `sharpe_day` number, double, nullable, required — Sharpe ratio calculated over a 24 hour time frame.
    - `sharpe_month` number, double, nullable, required — Sharpe ratio calculated over a 30 day time frame.
    - `superform_id` string, required
    - `tvl_day_change` number, double, nullable, required — TVL change over the past day, in percent.
    - `tvl_month_change` number, double, nullable, required — TVL change over the past month, in percent.
    - `tvl_now` number, double, nullable, required — Total Value Locked.
    - `tvl_week_change` number, double, nullable, required — TVL change over the past week, in percent.
    - `vault_id` string, required
  - `vault_status_message` string, nullable — Optional. The status message of the vault.
  - `visibility` 'listed' | 'unlisted' | 'hidden' | 'featured' | '' — Visibility on the Superform platform
  - `withdraw_to_vault_asset_only` boolean, nullable — If confidence score falls below a threshold, the vault will only allow withdrawals to the vault asset to minimize crosschain withdrawal failure rate.
  - `withdrawal_confidence_score` number, double, nullable — This confidence score is based on revent withdrwawal failure rate
  - `withdrawal_link` string
  - `yield_source` string — The yield source of the vault.
  - `yield_type` 'Yield' | 'Liquid Staking' | 'Liquid Restaking' | 'Lending' | 'Basis Trading' | 'RWA' | 'Dexes' | 'Derivatives' | 'Yield Aggregator' | 'Leveraged Farming' | 'Insurance' | 'Intelligent' | 'Onchain Capital Allocator' — The yield type of the vault. Required when creating vault.

## Response `200`

OK

- AddVaultOutputBody
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `id` string, required — The ID of the new vault
  - `result` string, required — The status of the call

## Other responses

- `default` — Error

---

[API](https://skmtc.net/superform/apis/superform-api.md) · [All operations](https://skmtc.net/superform/apis/superform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/superform/superform-api/revisions/6eb27ced1c96/schema)
