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`.
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).
Endpoint
GET /v1/wallets?user_id={callerDID}
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_list_my_wallets", "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
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.
The full request and response shape, and a live playground, live on the generated reference at GET /mcp/tools.
Wallets
The caller's own wallets: the list, one wallet by id, one by address, its
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, ...).