# First request

Create a separate wallet for a treasury, strategy, or customer balance. This request needs a bearer key and a unique idempotency key.

~~~bash POST /v1/wallets
curl https://starswap.cc/api/v1/wallets \
  -X POST \
  -H "Authorization: Bearer $STARSWAP_API_KEY" \
  -H "Idempotency-Key: wallet-$(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name":"Treasury"}'
~~~

## Response

The new wallet includes chain-qualified EVM and Solana addresses with an independent stablecoin balance.

~~~json 200 OK
{
  "id": "wlt_treasury",
  "ownerAccountId": "usr_example",
  "depositRecipientId": "1234567890",
  "kind": "subwallet",
  "name": "Treasury",
  "state": "active",
  "addresses": [
    {
      "family": "evm",
      "address": "0x7A18d4F951B0134436A1b17854F171Aa05E0F32b"
    },
    {
      "family": "solana",
      "address": "HAgk14JpMQLgt6rVgv7cBQFJWFto5Dqxi472uT3DKpqk"
    }
  ],
  "balance": {
    "availableMicros": "0",
    "reservedMicros": "0",
    "gasReservedMicros": "0",
    "pendingSettlementMicros": "0"
  },
  "createdAt": "2026-08-07T09:24:00.000Z"
}
~~~

`pendingSettlementMicros` is confirmed EVM sell value that is already part of
the wallet's account value but is not spendable until its vault deposit reaches
the chain's required finality.

Save the wallet `id`. Trading, transfers, portfolio reads, exports, and settlement tickets use it explicitly.

The identifiers and addresses above are illustrative. `depositRecipientId` is the wallet's onchain vault-deposit identifier. Read its actual value from the wallet response when building a deposit transaction.
