privy_get_wallet
Get a single wallet by id. Hits `GET /v1/wallets/{wallet_id}`. The handler does an ownership check after the fetch: a wallet whose `owner_id` is `null` or does not match the caller's DID returns a 403-style isError so the agent cannot read other users' wallets. The Putty embedded wallets, which are user-owned, return the full `PrivyWallet` shape including the linked-account metadata (wallet_client, connector_type, ...).
Get a single wallet by id. Hits GET /v1/wallets/{wallet_id}. The handler does an ownership check after the fetch: a wallet whose owner_id is null or does not match the caller's DID returns a 403-style isError so the agent cannot read other users' wallets.
Endpoint
GET /v1/wallets/{wallet_id}
Input
The tool takes a single JSON object. Every field, its type, and an example are on the generated reference at GET /mcp/tools, under this tool's name.
Calling it
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": { "name": "privy_get_wallet", "arguments": {} }
}Put your arguments in place of the empty object. A call that fails comes back as a normal result carrying isError: true and a message naming what went wrong, not as a JSON-RPC protocol error.
Notes
The Putty embedded wallets, which are user-owned, return the full PrivyWallet shape including the linked-account metadata (wallet_client, connector_type, ...).
The full request and response shape, and a live playground, live on the generated reference at GET /mcp/tools.
privy_list_my_wallets
List every wallet the authenticated user owns. Hits `GET /v1/wallets?user_id={callerDID}` (the `user_id` filter is set server-side from the auth context — callers cannot enumerate other users' wallets). Returns `{ data: PrivyWallet[], next_cursor: string | null }`. The list is cursor-paginated: pass the previous page's `next_cursor` as the `cursor` arg to fetch the next page. The tool is the right starting point for a `what wallets do I have?` view; for a single wallet by id, use `privy_get_wallet`; for an address lookup, use `privy_get_wallet_by_address`.
privy_get_wallet_by_address
Resolve an on-chain address to a Privy wallet. Hits `POST /v1/wallets/address` with `{ address, chain_type }`. Returns a single `PrivyWallet` on a hit, a 404 on a miss. The handler does the same ownership check as `privy_get_wallet`: a wallet whose `owner_id` is `null` or does not match the caller's DID returns a 403-style isError. Use this when you have an address and need to confirm the wallet exists in Putty and is owned by the caller; for the inverse direction (a wallet id and the address), use `privy_get_wallet`.