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

# Get multisig details (Safe / Squads / Altitude / Realms)

> Stateless read of a multisig: config + members, balances, and pending proposals. Mirrors the data an account-connection exposes, so it can be used whether or not the wallet is a saved connection. `network` is required for `safe` (EVM chain) and rejected for `squads`/`altitude`/`realms` (Solana-only).



## OpenAPI

````yaml /api-reference/data-api.json get /v2/multisig/details
openapi: 3.0.0
info:
  title: Range Data API
  description: >-
    The Range Data API for crypto addresses, networks, transactions, and
    entities.
  version: 1.7.13
  contact: {}
servers:
  - url: https://api.range.org
    description: Range API Server
security:
  - Authorization: []
tags:
  - name: Entity Information
    description: Get information about entities.
  - name: Network Information
    description: Get information about networks.
  - name: Protocols
    description: Get information about cross-chain protocols.
  - name: Token transfers
    description: Get information about token transfers.
paths:
  /v2/multisig/details:
    get:
      tags:
        - Multisig
      summary: Get multisig details (Safe / Squads / Altitude / Realms)
      description: >-
        Stateless read of a multisig: config + members, balances, and pending
        proposals. Mirrors the data an account-connection exposes, so it can be
        used whether or not the wallet is a saved connection. `network` is
        required for `safe` (EVM chain) and rejected for
        `squads`/`altitude`/`realms` (Solana-only).
      operationId: getDetails
      parameters:
        - name: address
          required: true
          in: query
          description: >-
            Multisig address. For Squads, a vault address is also accepted and
            resolved to its multisig. For Altitude, a smart-account deposit
            address is also accepted and resolved to its Settings account.
          schema:
            example: '0xfF501B324DC6d78dC9F983f140B9211c3EdB4dc7'
            type: string
        - name: type
          required: true
          in: query
          description: Multisig provider.
          schema:
            type: string
            enum:
              - safe
              - squads
              - altitude
              - realms
            example: safe
        - name: network
          required: false
          in: query
          description: >-
            EVM chain — REQUIRED for `safe`, and rejected for
            `squads`/`altitude`/`realms` (Solana-only).
          schema:
            type: string
            example: ethereum
            enum:
              - ethereum
              - arbitrum
              - base
              - optimism
              - polygon
              - bnb
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MultisigDetailsResponseDto'
components:
  schemas:
    MultisigDetailsResponseDto:
      type: object
      properties:
        address:
          type: string
          description: >-
            Canonical address: resolved multisig for Squads, checksummed for
            Safe.
          example: '0xfF501B324DC6d78dC9F983f140B9211c3EdB4dc7'
        network:
          type: string
          example: ethereum
        type:
          type: string
          example: multisig
        provider:
          type: string
          enum:
            - safe
            - squads
            - altitude
            - realms
          example: safe
        balances:
          type: array
          items:
            $ref: '#/components/schemas/AccountBalance'
        details:
          $ref: '#/components/schemas/MultisigDetailsBodyDto'
      required:
        - address
        - network
        - type
        - provider
        - balances
        - details
    AccountBalance:
      type: object
      properties:
        asset:
          type: string
          example: USDC
        amount:
          type: string
          example: '100.50'
          description: Raw quantity reported by the provider, in asset units.
        usd:
          type: string
          nullable: true
          example: '100.50'
          description: >-
            USD equivalent of `amount`. `null` when no USD price is available.
            For fiat accounts, equals `amount`.
        updated_at:
          type: string
          example: '2024-01-01T00:00:00.000Z'
      required:
        - asset
        - amount
        - updated_at
    MultisigDetailsBodyDto:
      type: object
      properties:
        safe:
          $ref: '#/components/schemas/AccountConnectionSafePublicDataDto'
        multisig:
          $ref: '#/components/schemas/AccountConnectionSquadsPublicDataDto'
        altitude:
          $ref: '#/components/schemas/AccountConnectionAltitudePublicDataDto'
        realms:
          $ref: '#/components/schemas/AccountConnectionRealmsPublicDataDto'
    AccountConnectionSafePublicDataDto:
      type: object
      properties:
        safe_address:
          type: string
          example: '0xfF501B324DC6d78dC9F983f140B9211c3EdB4dc7'
          description: EIP-55 checksummed Safe address
        network:
          type: string
          example: ethereum
          enum:
            - ethereum
            - arbitrum
            - base
            - optimism
            - polygon
            - bnb
        version:
          type: string
          example: 1.4.1
          description: Safe contract version (e.g. 1.3.0, 1.4.1)
        threshold:
          type: number
          example: 2
        nonce:
          type: number
          example: 42
        owners:
          type: array
          example:
            - 0xabc...
            - 0xdef...
          items:
            type: string
        pending_proposals:
          type: array
          items:
            $ref: '#/components/schemas/AccountConnectionSafePendingProposalDto'
      required:
        - safe_address
        - network
        - version
        - threshold
        - nonce
        - owners
        - pending_proposals
    AccountConnectionSquadsPublicDataDto:
      type: object
      properties:
        multisig_address:
          type: string
          example: BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG
        resolved_from_address:
          type: string
          example: BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG
          description: Original address provided by the customer (may be a vault)
        resolved_vault_index:
          type: number
          example: 0
          description: Vault index if input was a vault address
        threshold:
          type: number
          example: 2
        version:
          type: string
          example: v4
          enum:
            - v3
            - v4
        program_id:
          type: string
          example: SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf
        create_key:
          type: string
          example: BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG
        config_authority:
          type: string
          nullable: true
          example: null
          description: V4 only
        time_lock:
          type: number
          example: 0
          description: V4 only — seconds
        members:
          type: array
          items:
            type: object
        pending_proposals:
          type: array
          items:
            $ref: '#/components/schemas/AccountConnectionSquadsPendingProposalDto'
        vaults:
          type: array
          items:
            type: object
      required:
        - multisig_address
        - resolved_from_address
        - threshold
        - version
        - program_id
        - create_key
        - members
        - pending_proposals
        - vaults
    AccountConnectionAltitudePublicDataDto:
      type: object
      properties:
        settings_address:
          type: string
          example: DzHZF6ZYAWqor1hxeaKmCwDoS5q1ZqBKKgNQVetxE69x
          description: Settings account of the smart account (the canonical config PDA)
        resolved_from_address:
          type: string
          example: H8sdnTKCRKiyrDT8g9pMTzeoihUcEoTNdybakNT81xyQ
          description: >-
            Original address provided by the customer (may be a smart-account
            deposit address)
        resolved_account_index:
          type: number
          example: 0
          description: >-
            Smart-account index if the input was a smart-account (deposit)
            address
        is_altitude:
          type: boolean
          example: true
          description: >-
            Whether the smart account is Altitude-managed (Altitude's
            operational key fee-pays its transactions) vs a generic smart
            account.
        program_id:
          type: string
          example: SMRTzfY6DfH5ik3TKiyLFfXexV8uSG3d2UksSCYdunG
        settings_seed:
          type: string
          example: '88888'
          description: u128 global-counter seed of the Settings PDA
        settings_authority:
          type: string
          nullable: true
          example: null
          description: null = autonomous (settings changes go through signers)
        threshold:
          type: number
          example: 1
        time_lock:
          type: number
          example: 0
          description: Seconds
        transaction_index:
          type: number
          example: 34
        stale_transaction_index:
          type: number
          example: 12
        signers:
          type: array
          items:
            type: object
        policies:
          type: array
          items:
            $ref: '#/components/schemas/AccountConnectionAltitudePolicyDto'
        policies_truncated:
          type: boolean
          example: true
          description: >-
            Present (true) only in the edge case where the account has cycled
            through more than 2048 policies over its lifetime (the scan cap) —
            policies with seeds above 2048 are then missing from the list.
        pending_proposals:
          type: array
          items:
            $ref: '#/components/schemas/AccountConnectionSquadsPendingProposalDto'
        smart_accounts:
          type: array
          items:
            $ref: '#/components/schemas/AccountConnectionAltitudeSmartAccountDto'
      required:
        - settings_address
        - resolved_from_address
        - is_altitude
        - program_id
        - settings_seed
        - threshold
        - time_lock
        - transaction_index
        - stale_transaction_index
        - signers
        - policies
        - pending_proposals
        - smart_accounts
    AccountConnectionRealmsPublicDataDto:
      type: object
      properties:
        realm_address:
          type: string
          example: DA5G7QQbFioZ6K33wQcH8fVdgFcnaDjLD7DLQkapZg5X
        resolved_from_address:
          type: string
          example: DA5G7QQbFioZ6K33wQcH8fVdgFcnaDjLD7DLQkapZg5X
        program_id:
          type: string
          example: AEauWRrpn9Cs6GXujzdp1YhMmv2288kBt3SdEcPYEerr
        version:
          type: string
          example: v2
          enum:
            - v2
        realm_name:
          type: string
          example: Metaplex
        community_mint:
          type: string
          example: METAewgxyPbgwsseH8T16a39CQ5VyVxZi9zXiDPY18m
        council_mint:
          type: string
          nullable: true
          example: null
        authority:
          type: string
          nullable: true
          example: null
        min_community_weight_to_create_governance:
          type: string
          example: '1'
        council_members:
          type: array
          items:
            type: object
        community_members_count:
          type: number
          example: 42
        governances:
          type: array
          items:
            type: object
        treasuries:
          type: array
          items:
            $ref: '#/components/schemas/AccountConnectionRealmsTreasuryDto'
        latest_active_proposal:
          nullable: true
          description: >-
            Most recently created proposal currently in Draft, SigningOff, or
            Voting state. null when no active proposals exist.
          type: object
          allOf:
            - $ref: >-
                #/components/schemas/AccountConnectionRealmsLatestActiveProposalDto
      required:
        - realm_address
        - resolved_from_address
        - program_id
        - version
        - realm_name
        - community_mint
        - min_community_weight_to_create_governance
        - council_members
        - community_members_count
        - governances
        - treasuries
    AccountConnectionSafePendingProposalDto:
      type: object
      properties:
        safe_tx_hash:
          type: string
          example: 0xabcdef1234...
        nonce:
          type: number
          example: 42
        destination_address:
          type: string
          example: 0xabc...
        value:
          type: string
          example: '0.5'
          description: Native asset amount, human-readable (raw wei divided by 10^18).
        data_payload:
          type: string
          nullable: true
          example: null
        operation:
          type: number
          example: 0
          description: 0 = call, 1 = delegatecall
        confirmations_required:
          type: number
          example: 2
        confirmations:
          type: array
          items:
            $ref: '#/components/schemas/AccountConnectionSafeConfirmationDto'
        submission_date:
          type: string
          nullable: true
          example: '2026-01-01T00:00:00.000Z'
      required:
        - safe_tx_hash
        - nonce
        - destination_address
        - value
        - operation
        - confirmations_required
        - confirmations
    AccountConnectionSquadsPendingProposalDto:
      type: object
      properties:
        address:
          type: string
          example: BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG
        transaction_index:
          type: number
          example: 42
        status:
          type: string
          example: active
          enum:
            - draft
            - active
            - executeReady
            - approved
            - executing
            - executed
            - rejected
            - cancelled
            - unknown
          description: >-
            V3: draft/active/executeReady/executed/rejected/cancelled. V4 adds:
            approved/executing.
        approved_count:
          type: number
          example: 2
        rejected_count:
          type: number
          example: 0
        approved:
          type: array
          items:
            type: string
          description: >-
            Signer pubkeys that approved (per-signer confirmation). Absent on
            connections persisted before this field existed, until next refresh.
          example:
            - BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG
        rejected:
          type: array
          items:
            type: string
          description: >-
            Signer pubkeys that rejected. Absent on connections persisted before
            this field existed, until next refresh.
          example: []
        timestamp:
          type: number
          nullable: true
          example: 1712345678
      required:
        - address
        - transaction_index
        - status
        - approved_count
        - rejected_count
    AccountConnectionAltitudePolicyDto:
      type: object
      properties:
        address:
          type: string
          example: 8VRXxPosEMFphTeQPLShJQhVeigjuV7mfRzm9UqVwWJx
        seed:
          type: number
          example: 2
      required:
        - address
        - seed
    AccountConnectionAltitudeSmartAccountDto:
      type: object
      properties:
        account_index:
          type: number
          example: 0
          description: Smart-account (vault) index
        address:
          type: string
          example: H8sdnTKCRKiyrDT8g9pMTzeoihUcEoTNdybakNT81xyQ
        lamports:
          type: string
          example: '0'
        token_accounts:
          type: array
          items:
            type: object
      required:
        - account_index
        - address
        - lamports
        - token_accounts
    AccountConnectionRealmsTreasuryDto:
      type: object
      properties:
        governance:
          type: string
          example: 8cEhQQm3MW5YQiiZ7sB6YkmFHcLXPAFSp7i4e48Kt4PK
        native_treasury:
          type: string
          example: BHkk3RTd4Ue6JnqXpa9QHTXbn575ycR8hxVmYx4E254k
        lamports:
          type: string
          example: '131992814522'
        token_accounts:
          type: array
          items:
            $ref: '#/components/schemas/AccountConnectionRealmsTokenAccountDto'
      required:
        - governance
        - native_treasury
        - lamports
        - token_accounts
    AccountConnectionRealmsLatestActiveProposalDto:
      type: object
      properties:
        pubkey:
          type: string
          example: F7xP...abc
        governance:
          type: string
          example: 8cEhQQm3MW5YQiiZ7sB6YkmFHcLXPAFSp7i4e48Kt4PK
        governing_token_mint:
          type: string
          example: METAewgxyPbgwsseH8T16a39CQ5VyVxZi9zXiDPY18m
        track:
          type: string
          example: community
          enum:
            - community
            - council
        name:
          type: string
          example: Increase staking rewards to 8%
        state:
          type: string
          example: Voting
        draft_at:
          type: number
          example: 1700000000
      required:
        - pubkey
        - governance
        - governing_token_mint
        - track
        - name
        - state
        - draft_at
    AccountConnectionSafeConfirmationDto:
      type: object
      properties:
        owner:
          type: string
          example: 0xabc...
        submission_date:
          type: string
          example: '2026-01-01T00:00:00.000Z'
      required:
        - owner
        - submission_date
    AccountConnectionRealmsTokenAccountDto:
      type: object
      properties:
        pubkey:
          type: string
          example: 8iD9rdetvTqb9ooxrYbMESi9nRsGReYSBpCXqaj8G3r
        owner:
          type: string
          example: BHkk3RTd4Ue6JnqXpa9QHTXbn575ycR8hxVmYx4E254k
        owner_kind:
          type: string
          example: native_treasury
          enum:
            - native_treasury
            - governance
        mint:
          type: string
          example: So11111111111111111111111111111111111111112
        balance:
          type: string
          example: '1000000'
        decimals:
          type: number
          example: 6
        ui_amount:
          type: string
          example: '1.000000'
      required:
        - pubkey
        - owner
        - owner_kind
        - mint
        - balance
        - decimals
        - ui_amount
  securitySchemes:
    Authorization:
      type: apiKey
      in: header
      name: X-API-KEY
      description: Authorization method required to allow user to access the api endpoints.

````