> ## Documentation Index
> Fetch the complete documentation index at: https://docs.derive.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# private/get_chat_rooms

> Returns the caller's chat access and username. tier is the best fee tier the wallet holds across options, perps and spot, where 0 is the best and null means no fee tier; RFQ discount tiers do not count. banned reports a chat ban. rooms lists the rooms the wallet may join: general is open to every wallet that is not banned, and fee_tier also needs a fee tier. Rooms are unavailable while the account is disabled, so rooms is then empty. concierge_unlocked reports whether the wallet may message the concierge: it needs a fee tier, or a message from the concierge. A ban or a disabled account does not close the concierge. username is the name rooms show in place of the wallet's address, such as greenpanda123. It is assigned the first time the wallet calls this method or private/send_room_message, and never changes.



## OpenAPI

````yaml /openapi.json post /private/get_chat_rooms
openapi: 3.1.0
info:
  title: Derive v3 API
  version: 0.2.0
  description: JSON-RPC 2.0 methods, served over WebSocket and HTTP POST.
servers:
  - url: https://api.derive.xyz/v3
    description: Production (HTTP POST base)
  - url: https://testnet.api.derive.xyz/v3
    description: Testnet (HTTP POST base)
security: []
tags:
  - name: Subaccounts
    description: >-
      List, inspect, and label subaccounts, portfolios, positions, and
      collateral.
  - name: Session Keys
    description: Register, edit, and list delegated signing keys.
  - name: Account
    description: Wallet-level account information and settings.
  - name: Orderbook
    description: Place, replace, cancel, and query orders, trigger orders, and algos.
  - name: RFQ
    description: 'Request-for-quote: send RFQs, quote, and execute block trades.'
  - name: Liquidations
    description: >-
      Open a Dutch auction against a breaching subaccount, quote the auctions
      running right now, bid on them, and review past ones.
  - name: Vault Shareholders
    description: >-
      Deposit into and withdraw from vaults, and track shares, requests, and
      performance.
  - name: Vault Curators
    description: >-
      Create and operate curated vaults: settle deposit and withdrawal requests,
      and manage vault metadata.
  - name: History
    description: >-
      Per-account historical records: orders, trades, transfers, and
      settlements.
  - name: Market Maker Protection
    description: Configure, read, and reset market-maker protection.
  - name: Transfers & Withdrawals
    description: Move collateral between subaccounts, to other wallets, and on-chain.
  - name: Onchain Actions
    description: >-
      L1 onchain actions submitted via OnchainActionManager: register deposit
      addresses, list pending deposits, and inspect onchain action history.
  - name: System
    description: Rate limits, transaction lookups, and live incidents.
  - name: Market Data
    description: Instruments, currencies, tickers, and market-wide feeds.
  - name: Maker Scoring
    description: Maker programs, score breakdowns, and detailed scoring snapshots.
  - name: Referrals
    description: Referral codes and program performance.
  - name: Chat
    description: Anonymous chat rooms and conversations with the concierge.
  - name: Other
    description: Uncategorized.
paths:
  /private/get_chat_rooms:
    post:
      tags:
        - Chat
      summary: private/get_chat_rooms
      description: >-
        Returns the caller's chat access and username. tier is the best fee tier
        the wallet holds across options, perps and spot, where 0 is the best and
        null means no fee tier; RFQ discount tiers do not count. banned reports
        a chat ban. rooms lists the rooms the wallet may join: general is open
        to every wallet that is not banned, and fee_tier also needs a fee tier.
        Rooms are unavailable while the account is disabled, so rooms is then
        empty. concierge_unlocked reports whether the wallet may message the
        concierge: it needs a fee tier, or a message from the concierge. A ban
        or a disabled account does not close the concierge. username is the name
        rooms show in place of the wallet's address, such as greenpanda123. It
        is assigned the first time the wallet calls this method or
        private/send_room_message, and never changes.
      operationId: private_get_chat_rooms
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetChatRoomsParams'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetChatRoomsResponse'
        default:
          description: JSON-RPC error (see Error Codes)
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    $ref: '#/components/schemas/RPCError'
      security:
        - DeriveWallet: []
          DeriveTimestamp: []
          DeriveSignature: []
components:
  schemas:
    GetChatRoomsParams:
      type: object
      required:
        - wallet
      properties:
        wallet:
          description: The session's wallet.
          type: string
    GetChatRoomsResponse:
      type: object
      required:
        - banned
        - concierge_unlocked
        - rooms
        - username
      properties:
        banned:
          description: A banned wallet joins no room. The ban does not close the concierge.
          type: boolean
        concierge_unlocked:
          description: >-
            The wallet may message the concierge: it holds a fee tier, or the
            concierge has messaged it.
          type: boolean
        rooms:
          description: Rooms the wallet may join.
          type: array
          items:
            $ref: '#/components/schemas/ChatRoom'
        tier:
          description: >-
            Best fee tier the wallet holds, 0 being the best. `null` while
            untiered.
          type:
            - integer
            - 'null'
          format: uint8
          minimum: 0
        username:
          description: >-
            The wallet's name in every room. Assigned on first use; never
            changes.
          type: string
    RPCError:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int64
        data:
          type:
            - string
            - 'null'
        message:
          type: string
    ChatRoom:
      description: >-
        Every wallet not banned from chat may join `general`; `fee_tier` also
        needs a fee tier.
      type: string
      enum:
        - general
        - fee_tier
  securitySchemes:
    DeriveWallet:
      type: apiKey
      in: header
      name: X-DeriveWallet
      description: The wallet the request acts for.
    DeriveTimestamp:
      type: apiKey
      in: header
      name: X-DeriveTimestamp
      description: The current time in milliseconds, as a decimal string.
    DeriveSignature:
      type: apiKey
      in: header
      name: X-DeriveSignature
      description: >-
        EIP-191 signature of the timestamp, by the wallet or one of its session
        keys.

````

## Related topics

- [Chat room](https://docs.derive.xyz/api-reference/channels/chatroom.md)
- [private/get_room_messages](https://docs.derive.xyz/api-reference/chat/privateget_room_messages.md)
- [private/send_room_message](https://docs.derive.xyz/api-reference/chat/privatesend_room_message.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.