First request
Create a separate wallet for a treasury, strategy, or customer balance. This request needs a bearer key and a unique idempotency key.
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.
{
"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.
