> For the complete documentation index, see [llms.txt](https://sodex.com/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sodex.com/documentation/for-developers/developers/wealth/quickstart.md).

# Quickstart

Discover a Wealth fund at runtime, then follow the path for its `fundType`. Do not send a vault request to a SoDEX RWA token.

**Mainnet base URL:** `https://mainnet-gw.sodex.dev/api/v1/wealth`

There is no Testnet Wealth API. Contract addresses for vaults are on [Wealth Contracts](/documentation/for-developers/developers/wealth/contracts.md).

## 1. List funds

```bash
curl -sS 'https://mainnet-gw.sodex.dev/api/v1/wealth/asset/list' \
  -H 'Accept: application/json'
```

Select a fund by its case-sensitive `fundId`. Branch on `fundType` before loading contracts or sending a transaction.

| `fundType`     | Product         | Next step                                                                                                                                                                                             |
| -------------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `escrow_vault` | Vault           | Load [Fund Information](/documentation/for-developers/api-reference/wealth-api/funds.md#get-fund-information).                                                                                        |
| `clob`         | SoDEX RWA token | Stop here. Trade on CLOB with [Trading](/documentation/for-developers/developers/trading.md). Do not call `asset/info` expecting vault contracts, and do not call `requestDeposit` / `requestRedeem`. |

`nav` and `aum` are vault valuation fields. They can be empty on a `clob` fund.

## 2. Vault configuration

This step applies only to `escrow_vault`. Replace `CXMT` with the selected `fundId`.

```bash
curl -sS 'https://mainnet-gw.sodex.dev/api/v1/wealth/asset/info?fundId=CXMT' \
  -H 'Accept: application/json'
```

Use `data.contracts` and `data.chainConfig` at runtime. Do not hardcode a per-fund address from an example. An empty `data` object means this `fundId` has no vault configuration — do not infer a vault.

Check `fundStatus` and `chainConfig.paused`. A vault deposit spends the underlying asset on **ValueChain**. If that balance is still on an external network, move it with [Mirror Protocol](/documentation/for-developers/developers/mirror-protocol.md) first. The wallet needs SOSO for gas.

## 3. Choose the vault operation

Encode the referral value first ([Referrals](/documentation/for-developers/developers/wealth/referrals.md)), including `bytes32(0)` when none applies. Then follow [Vault Lifecycle](/documentation/for-developers/developers/wealth/vault-lifecycle.md):

| Situation                                  | Path                                                                                   |
| ------------------------------------------ | -------------------------------------------------------------------------------------- |
| Enter a vault that is accepting deposits   | Approve the underlying asset and submit `requestDeposit`. This is not an instant mint. |
| Exit a vault that is accepting redemptions | Submit `requestRedeem` for vault shares you already hold. Wait for settlement.         |

Direct and signed submission and claims are how-tos under Vault Lifecycle. A CLOB fill for a SoDEX RWA token is not a vault request.

## 4. Confirm the result

A successful submission is not arrival.

For a **vault**, save the request transaction hash and query [User Fund History](/documentation/for-developers/api-reference/wealth-api/user-fund-history.md). Amounts and prices are decimal strings; do not parse them as floating-point JSON numbers.

```bash
curl -sS "https://mainnet-gw.sodex.dev/api/v1/wealth/users/$USER_ADDRESS/fund-details?fundId=$FUND_ID" \
  -H 'Accept: application/json'
```

Match the saved hash and operation kind. Empty entries or `processing` do not confirm credit. Claim only when history and the on-chain request say the result was not automatically delivered. Then check the vault share or underlying balance.

For a **SoDEX RWA token**, confirm the [Spot](/documentation/for-developers/api-reference/trading-api/rest-v1/sodex-rest-spot-api.md) position. Do not use `fund-details` claim flags for that trade.

{% content-ref url="/pages/a1uIUuv4ujFrQ0lk4JjC" %}
[Vault Lifecycle](/documentation/for-developers/developers/wealth/vault-lifecycle.md)
{% endcontent-ref %}

{% content-ref url="/pages/0JPfycqwKsnQ2suYPttG" %}
[Referrals](/documentation/for-developers/developers/wealth/referrals.md)
{% endcontent-ref %}

{% content-ref url="/pages/aQ6Q5f14MXj2NyvjBB9V" %}
[Wealth API](/documentation/for-developers/api-reference/wealth-api.md)
{% endcontent-ref %}
