getWallet
Read one safe wallet projection with authority and policy assignments.
Status
Proposed target SDK behavior for implementation. It is not an available SDK or evidence of backend support.
Business action#
Read one authorized wallet together with the authority that currently governs it.
Proposed call#
getWallet(
input: GetWalletInput,
options?: CallOptions,
): Promise<Wallet>
GetWalletInput has the camel-case field walletId. The returned Wallet is the safe authority snapshot described below.
async def get_wallet(
input: GetWalletInput,
*,
options: CallOptions | None = None,
) -> Wallet: ...
The Python DTO uses wallet_id; a mapping example is {"wallet_id": wallet_id}, not the set expression {wallet_id}.
GetWallet(
ctx context.Context,
input *GetWalletInput,
) (*Wallet, error)
The Go DTO uses WalletID with the stable wallet_id JSON name. A missing result and a denied/foreign result remain typed failures, never a nil, nil wallet.
The wallet identifier is required. Tenant and owner scope come from the authenticated actor context and are independently enforced by the backend, not inferred from possession of the identifier or a browser session.
Result#
The result contains:
- wallet ID, immutable
controlMode, network, address and public signing metadata; - embedded owner identity or server service identity;
- server-wallet transaction limits when applicable;
- current grants, including who may sign, export and change restrictions;
- effective policy assignments and their scope;
- version or equivalent change identity needed by
updateWallet.
These are safe authority summaries only. No credential, signing material, authorization proof or reusable handler response is returned. Internal owner records, authorization-key registration, rule storage and rule evaluation are hidden.
Effects and failures#
This call is read-only. Missing, foreign and denied wallets are non-disclosing. Transport or authorization failure is not an empty wallet, zero balance or unrestricted policy state. Returned authority is a snapshot and must not be treated as permission for a later mutation without that mutation's own authorization check.
Acceptance#
- Positive: an authorized caller can identify control mode, controlling owner/service identity, current grants, limits and effective policies.
- Negative: a foreign identifier reveals no wallet or authority details; omitted policy data is not interpreted as allow-all; the read creates no grant or policy assignment.