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": "c3d4e5f6-0000-4000-8000-000000000001",
  "allocations": [
    {
      "yieldSourceId": "cash",
      "pct": 20
    },
    {
      "yieldSourceId": "morpho-gauntlet-usdc",
      "pct": 50
    },
    {
      "yieldSourceId": "morpho-steakhouse-usdc",
      "pct": 30
    }
  ]
}
'
{
  "id": "b1c2d3e4-0000-4000-8000-000000000001",
  "label": "Corporate Treasury",
  "createdAt": "2025-09-01T00:00:00Z",
  "status": "idle",
  "failureReason": null,
  "depositAddresses": {
    "arbitrum": "0xAbC1230000000000000000000000000000000001",
    "base": "0xAbC1230000000000000000000000000000000001",
    "ethereum": "0xAbC1230000000000000000000000000000000001",
    "polygon": "0xAbC1230000000000000000000000000000000001",
    "solana": "7vFgKxM3bP4oEFbqkPmA5E2rYJ8HqKz8abc1"
  },
  "balance": {
    "totalUsd": "100.000000",
    "withdrawableUsd": "100.000000",
    "reservedUsd": "0.000000",
    "earnedUsd": "5.000000"
  },
  "positions": [
    {
      "id": "syrup-usdc",
      "kind": "yield_source",
      "label": "Syrup USDC",
      "valueUsd": "40.000000",
      "pct": 40
    },
    {
      "id": "morpho-gauntlet-usdc",
      "kind": "yield_source",
      "label": "Morpho Gauntlet USDC Prime",
      "valueUsd": "30.000000",
      "pct": 30
    },
    {
      "id": "morpho-steakhouse-usdc",
      "kind": "yield_source",
      "label": "Morpho Steakhouse USDC Prime",
      "valueUsd": "30.000000",
      "pct": 30
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.groundtech.co/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string<uuid>
required

Wallet ID

Body

application/json
requestId
string<uuid>
required

Client-generated idempotency key (UUID v4).

allocations
object[]
required

New strategy allocations; pct values must sum to 100.

Response

Strategy updated successfully

id
string<uuid>
label
string | null
createdAt
string<date-time>
status
enum<string>

Compact wallet lifecycle and active-workflow status.

Available options:
creating,
idle,
withdrawal_active,
rebalance_active,
withdrawal_and_rebalance_active,
failed
failureReason
string | null
depositAddresses
object

Deposit addresses keyed by chain name.

Example:
{
  "arbitrum": "0xAbC1230000000000000000000000000000000001",
  "base": "0xAbC1230000000000000000000000000000000001",
  "ethereum": "0xAbC1230000000000000000000000000000000001",
  "polygon": "0xAbC1230000000000000000000000000000000001",
  "solana": "7vFgKxM3bP4oEFbqkPmA5E2rYJ8HqKz8abc1"
}
balance
object
positions
object[]