Wallet
Each Oyster account has an associated Sui wallet address. The Pearl custodial wallet service derives this address from the account's identity. This wallet performs onchain operations for storing blobs on Walrus.
Get wallet address
GET /api/v1/account/wallet
Returns the Sui wallet address associated with your account.
Example:
curl -s -H "Authorization: Bearer $API_KEY" \
"$OYSTER_URL/api/v1/account/wallet" | jq
Response (200 OK):
{
"address": "0x1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890"
}
| Field | Type | Description |
|---|---|---|
address | string | Sui wallet address (hex-encoded) |
Errors:
| Status | Condition |
|---|---|
401 | Missing or invalid API key |
503 | Wallet service unavailable (Pearl not configured or unreachable) |
What is Pearl?
Pearl is the custodial wallet service that runs alongside Oyster as a separate gRPC server. It derives Ed25519 keys through HKDF-SHA256 and signs Sui transaction blocks. Oyster asks Pearl for your account's wallet address, so this endpoint returns 503 when Oyster cannot reach Pearl.
Set the Oyster server address
Set OYSTER_URL to your Oyster server address, for example http://localhost:3000. The curl example already includes the /api/v1 prefix in the request path, so leave it out of the variable. Your operator provides the API key:
export OYSTER_URL="http://localhost:3000"
export API_KEY="your-api-key-here"
You can also explore and test this endpoint in the interactive OpenAPI UI at $OYSTER_URL/api/docs.