Solrouter
API ReferencePrivate Balance

Shield + unlink — mixer round-trip to a fresh address

Four txs, ~60s. Public balance enters the Umbra mixer, a claim breaks the on-chain link, then withdraw + transfer delivers to a FRESH destination. Source and destination both appear on-chain but with no link between them. Use when you want destination unlinkability without converting tokens.

POST
/agents/v1/wallets/{id}/shield
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/agents/v1/wallets/f47ac10b-58cc-4372-a567-0e02b2c3d479/shield" \  -H "Content-Type: application/json" \  -d '{    "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",    "amount": "1000000",    "destinationPubkey": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"  }'
{
  "sessionId": "b3d9a1e2-5c4f-4a8b-9e7d-1f2a3b4c5d6e",
  "status": "running",
  "estimatedSeconds": 65
}
{
  "error": "missing_required_fields"
}
{
  "error": "missing_required_fields"
}