Skip to main content
PATCH
/
v2
/
wallets
/
{id}
/
strategy
Update wallet strategy
curl --request PATCH \
  --url https://sandbox.groundtech.co/v2/wallets/{id}/strategy \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "positions": [
    {
      "positionKey": "<string>",
      "targetWeightBps": 5000
    }
  ]
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "label": "<string>",
  "status": "active",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "depositAddresses": {
    "ethereum": "0xabc...",
    "arbitrum": "0xabc...",
    "base": "0xabc...",
    "polygon": "0xabc...",
    "optimism": "0xabc...",
    "avalanche": "0xabc..."
  },
  "totalBalanceUsd": 123,
  "withdrawableBalanceUsd": 123,
  "pendingWithdrawalsAmountUsd": 123,
  "grossAssetsUsd": 123,
  "breakdownUsd": {
    "cashUsd": 123,
    "inTransitUsd": 123,
    "positionClaimsUsd": 123
  },
  "byBridgeDomain": {},
  "observedBalances": [
    {}
  ],
  "transitIntents": [
    {}
  ],
  "positionClaims": [
    {}
  ]
}

Authorizations

Authorization
string
header
required

API keys are prefixed ground_sandbox_ (sandbox) or ground_prod_ (production). Pass the key as a Bearer token in the Authorization header.

Path Parameters

id
string<uuid>
required

Portfolio wallet ID

Body

application/json
requestId
string<uuid>
required

Client-generated idempotency key.

positions
object[]
required

New target allocation. Weights must sum to 10000 bps.

Response

Strategy updated

id
string<uuid>
requestId
string<uuid>
label
string | null
status
enum<string>
Available options:
active
createdAt
string<date-time>
updatedAt
string<date-time>
depositAddresses
object

Map of chain name to deposit address.

Example:
{
  "ethereum": "0xabc...",
  "arbitrum": "0xabc...",
  "base": "0xabc...",
  "polygon": "0xabc...",
  "optimism": "0xabc...",
  "avalanche": "0xabc..."
}
totalBalanceUsd
number

Net assets in USD (gross assets minus encumbrances).

withdrawableBalanceUsd
number

Amount available for withdrawal in USD.

pendingWithdrawalsAmountUsd
number

Total USD reserved by pending withdrawals.

grossAssetsUsd
number

Total gross assets in USD before encumbrances.

breakdownUsd
object
byBridgeDomain
object

Balance breakdown per bridge domain.

observedBalances
object[]

Raw observed on-chain balances.

transitIntents
object[]

CCTP transit intents currently in flight.

positionClaims
object[]

Claims on yield protocol positions.