{
"id": "b1c2d3e4-0000-4000-8000-000000000001",
"label": "Operating Treasury",
"createdAt": "2025-09-01T00:00:00Z",
"status": "idle",
"failureReason": null,
"depositAddresses": {
"arbitrum": "0xAbC1230000000000000000000000000000000001",
"base": "0xAbC1230000000000000000000000000000000001",
"ethereum": "0xAbC1230000000000000000000000000000000001",
"polygon": "0xAbC1230000000000000000000000000000000001",
"solana": "7vFgKxM3bP4oEFbqkPmA5E2rYJ8HqKz8abc1",
"stellar": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF",
"tron": "TBXSw8fM4jpQkGc6zZjsVABFpVN7UvXPdV"
},
"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,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc",
"withdrawableUsd": "40.000000"
},
{
"id": "morpho-gauntlet-usdc",
"kind": "yield_source",
"label": "Morpho Gauntlet USDC Prime",
"valueUsd": "30.000000",
"pct": 30,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc",
"withdrawableUsd": "30.000000"
},
{
"id": "morpho-steakhouse-usdc",
"kind": "yield_source",
"label": "Morpho Steakhouse USDC Prime",
"valueUsd": "30.000000",
"pct": 30,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc",
"withdrawableUsd": "30.000000"
}
],
"autoRebalance": true,
"strategyAllocations": {
"usdc": [
{
"yieldSourceId": "syrup-usdc",
"targetWeightBps": 4000,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc"
},
{
"yieldSourceId": "morpho-gauntlet-usdc",
"targetWeightBps": 3000,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc"
},
{
"yieldSourceId": "morpho-steakhouse-usdc",
"targetWeightBps": 3000,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc"
}
],
"usdt": [
{
"yieldSourceId": "cash",
"targetWeightBps": 10000,
"token": "usdt",
"chain": "ethereum",
"allocationGroup": "usdt"
}
],
"usdt:tron": [
{
"yieldSourceId": "cash",
"targetWeightBps": 10000,
"token": "usdt",
"chain": "tron",
"allocationGroup": "usdt:tron"
}
]
}
}{
"error": "label is required",
"code": "validation_error"
}{
"error": "Unauthenticated request",
"message": "Missing or invalid bearer token"
}{
"error": "Wallet not found",
"code": "wallet_not_found"
}{
"error": "Rate limit exceeded",
"code": "rate_limited"
}{
"error": "Internal server error",
"code": "internal_error"
}Update a portfolio wallet
Updates the wallet label.
{
"id": "b1c2d3e4-0000-4000-8000-000000000001",
"label": "Operating Treasury",
"createdAt": "2025-09-01T00:00:00Z",
"status": "idle",
"failureReason": null,
"depositAddresses": {
"arbitrum": "0xAbC1230000000000000000000000000000000001",
"base": "0xAbC1230000000000000000000000000000000001",
"ethereum": "0xAbC1230000000000000000000000000000000001",
"polygon": "0xAbC1230000000000000000000000000000000001",
"solana": "7vFgKxM3bP4oEFbqkPmA5E2rYJ8HqKz8abc1",
"stellar": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF",
"tron": "TBXSw8fM4jpQkGc6zZjsVABFpVN7UvXPdV"
},
"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,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc",
"withdrawableUsd": "40.000000"
},
{
"id": "morpho-gauntlet-usdc",
"kind": "yield_source",
"label": "Morpho Gauntlet USDC Prime",
"valueUsd": "30.000000",
"pct": 30,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc",
"withdrawableUsd": "30.000000"
},
{
"id": "morpho-steakhouse-usdc",
"kind": "yield_source",
"label": "Morpho Steakhouse USDC Prime",
"valueUsd": "30.000000",
"pct": 30,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc",
"withdrawableUsd": "30.000000"
}
],
"autoRebalance": true,
"strategyAllocations": {
"usdc": [
{
"yieldSourceId": "syrup-usdc",
"targetWeightBps": 4000,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc"
},
{
"yieldSourceId": "morpho-gauntlet-usdc",
"targetWeightBps": 3000,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc"
},
{
"yieldSourceId": "morpho-steakhouse-usdc",
"targetWeightBps": 3000,
"chain": "ethereum",
"token": "usdc",
"allocationGroup": "usdc"
}
],
"usdt": [
{
"yieldSourceId": "cash",
"targetWeightBps": 10000,
"token": "usdt",
"chain": "ethereum",
"allocationGroup": "usdt"
}
],
"usdt:tron": [
{
"yieldSourceId": "cash",
"targetWeightBps": 10000,
"token": "usdt",
"chain": "tron",
"allocationGroup": "usdt:tron"
}
]
}
}{
"error": "label is required",
"code": "validation_error"
}{
"error": "Unauthenticated request",
"message": "Missing or invalid bearer token"
}{
"error": "Wallet not found",
"code": "wallet_not_found"
}{
"error": "Rate limit exceeded",
"code": "rate_limited"
}{
"error": "Internal server error",
"code": "internal_error"
}label field is required; send null or an empty string to clear it. The response is HTTP 200 with the full updated wallet. See Update a Wallet for an example.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Wallet ID
Body
Human-readable wallet label. Send null or an empty string to clear the label.
Response
Wallet updated
Whether Ground automatically deploys deposits and maintains the wallet's percentage targets.
Compact wallet lifecycle and active-workflow status.
creating, idle, withdrawal_active, rebalance_active, withdrawal_and_rebalance_active, failed Deposit addresses keyed by chain. Sandbox wallets use ethereum_sepolia and solana_devnet, plus tron_shasta and stellar_testnet; production wallets use arbitrum, base, ethereum, polygon, and solana, plus tron and stellar. New wallets prepare Stellar automatically in the background; only ready addresses are returned. Production wallets also prepare tempo (USDC.e); its address is returned only after setup and deposit monitoring are ready. The Tempo address can differ from the Ethereum address. Tempo is not available in sandbox.
Show child attributes
Show child attributes
{ "arbitrum": "0xAbC1230000000000000000000000000000000001", "base": "0xAbC1230000000000000000000000000000000001", "ethereum": "0xAbC1230000000000000000000000000000000001", "polygon": "0xAbC1230000000000000000000000000000000001", "solana": "7vFgKxM3bP4oEFbqkPmA5E2rYJ8HqKz8abc1", "stellar": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF", "tron": "TBXSw8fM4jpQkGc6zZjsVABFpVN7UvXPdV" }
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Percentage targets when automatic rebalancing is enabled. Always null when it is disabled.
Show child attributes
Show child attributes