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

# AccountInfo

> gRPC: `cosmos.auth.v1beta1.Query/AccountInfo` ([reference](/sdk/next/api-reference/grpc/auth#accountinfo))

AccountInfo queries account info which is common to all account types.



## OpenAPI

````yaml /sdk/next/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/account_info/{address}
openapi: 3.0.0
info:
  title: Cosmos SDK REST API
  description: >-
    HTTP bindings for the gRPC query services of the standard Cosmos SDK
    modules, documenting Cosmos SDK v0.55 (unreleased).


    Generated from cosmos/cosmos-sdk at commit
    c1126e4e5460571378bf9bd9c49cce476b0791e2 on ref `main`.


    A chain exposes only the modules its application registers, so it may serve
    a subset of these routes alongside routes of its own.
  version: v0.55 (unreleased)
servers:
  - url: https://cosmos-rest.publicnode.com
    description: >-
      Community-run public endpoint serving Cosmos Hub. Not operated by the
      Cosmos SDK team, and running a different SDK version than these pages
      document. Endpoints for modules the chain does not include return 501.
  - url: http://localhost:1317
    description: Your own node. Requires api.enable in app.toml.
security: []
tags:
  - name: auth
  - name: authz
  - name: bank
  - name: base
  - name: consensus
  - name: distribution
  - name: epochs
  - name: evidence
  - name: feegrant
  - name: gov
  - name: mint
  - name: slashing
  - name: staking
  - name: tx
  - name: upgrade
paths:
  /cosmos/auth/v1beta1/account_info/{address}:
    get:
      tags:
        - auth
      summary: AccountInfo
      description: >-
        gRPC: `cosmos.auth.v1beta1.Query/AccountInfo`
        ([reference](/sdk/next/api-reference/grpc/auth#accountinfo))


        AccountInfo queries account info which is common to all account types.
      operationId: auth_v1beta1_AccountInfo
      parameters:
        - name: address
          description: address is the account address string.
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A successful response.
          content:
            '*/*':
              schema:
                type: object
                properties:
                  info:
                    description: >-
                      info is the account info which is represented by
                      BaseAccount.
                    type: object
                    properties:
                      address:
                        type: string
                      pub_key:
                        type: object
                        properties:
                          '@type':
                            type: string
                            description: >-
                              A URL/resource name that uniquely identifies the
                              type of the serialized

                              protocol buffer message. This string must contain
                              at least

                              one "/" character. The last segment of the URL's
                              path must represent

                              the fully qualified name of the type (as in

                              `path/google.protobuf.Duration`). The name should
                              be in a canonical form

                              (e.g., leading "." is not accepted).


                              In practice, teams usually precompile into the
                              binary all types that they

                              expect it to use in the context of Any. However,
                              for URLs which use the

                              scheme `http`, `https`, or no scheme, one can
                              optionally set up a type

                              server that maps type URLs to message definitions
                              as follows:


                              * If no scheme is provided, `https` is assumed.

                              * An HTTP GET on the URL must yield a
                              [google.protobuf.Type][]
                                value in binary format, or produce an error.
                              * Applications are allowed to cache lookup results
                              based on the
                                URL, or have them precompiled into a binary to avoid any
                                lookup. Therefore, binary compatibility needs to be preserved
                                on changes to types. (Use versioned type names to manage
                                breaking changes.)

                              Note: this functionality is not currently
                              available in the official

                              protobuf release, and it is not used for type URLs
                              beginning with

                              type.googleapis.com. As of May 2023, there are no
                              widely used type server

                              implementations and no plans to implement one.


                              Schemes other than `http`, `https` (or the empty
                              scheme) might be

                              used with implementation specific semantics.
                        additionalProperties: {}
                        description: >-
                          `Any` contains an arbitrary serialized protocol buffer
                          message along with a

                          URL that describes the type of the serialized message.


                          Protobuf library provides support to pack/unpack Any
                          values in the form

                          of utility functions or additional generated methods
                          of the Any type.


                          Example 1: Pack and unpack a message in C++.

                              Foo foo = ...;
                              Any any;
                              any.PackFrom(foo);
                              ...
                              if (any.UnpackTo(&foo)) {
                                ...
                              }

                          Example 2: Pack and unpack a message in Java.

                              Foo foo = ...;
                              Any any = Any.pack(foo);
                              ...
                              if (any.is(Foo.class)) {
                                foo = any.unpack(Foo.class);
                              }
                              // or ...
                              if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                                foo = any.unpack(Foo.getDefaultInstance());
                              }

                           Example 3: Pack and unpack a message in Python.

                              foo = Foo(...)
                              any = Any()
                              any.Pack(foo)
                              ...
                              if any.Is(Foo.DESCRIPTOR):
                                any.Unpack(foo)
                                ...

                           Example 4: Pack and unpack a message in Go

                               foo := &pb.Foo{...}
                               any, err := anypb.New(foo)
                               if err != nil {
                                 ...
                               }
                               ...
                               foo := &pb.Foo{}
                               if err := any.UnmarshalTo(foo); err != nil {
                                 ...
                               }

                          The pack methods provided by protobuf library will by
                          default use

                          'type.googleapis.com/full.type.name' as the type URL
                          and the unpack

                          methods only use the fully qualified type name after
                          the last '/'

                          in the type URL, for example "foo.bar.com/x/y.z" will
                          yield type

                          name "y.z".


                          JSON

                          ====

                          The JSON representation of an `Any` value uses the
                          regular

                          representation of the deserialized, embedded message,
                          with an

                          additional field `@type` which contains the type URL.
                          Example:

                              package google.profile;
                              message Person {
                                string first_name = 1;
                                string last_name = 2;
                              }

                              {
                                "@type": "type.googleapis.com/google.profile.Person",
                                "firstName": <string>,
                                "lastName": <string>
                              }

                          If the embedded message type is well-known and has a
                          custom JSON

                          representation, that representation will be embedded
                          adding a field

                          `value` which holds the custom JSON in addition to the
                          `@type`

                          field. Example (for message
                          [google.protobuf.Duration][]):

                              {
                                "@type": "type.googleapis.com/google.protobuf.Duration",
                                "value": "1.212s"
                              }
                        nullable: true
                      account_number:
                        type: string
                        format: uint64
                      sequence:
                        type: string
                        format: uint64
                    nullable: true
                description: >-
                  QueryAccountInfoResponse is the Query/AccountInfo response
                  type.
                additionalProperties: false
        default:
          description: An unexpected error response.
          content:
            '*/*':
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  details:
                    type: array
                    items:
                      type: object
                      properties:
                        '@type':
                          type: string
                          description: >-
                            A URL/resource name that uniquely identifies the
                            type of the serialized

                            protocol buffer message. This string must contain at
                            least

                            one "/" character. The last segment of the URL's
                            path must represent

                            the fully qualified name of the type (as in

                            `path/google.protobuf.Duration`). The name should be
                            in a canonical form

                            (e.g., leading "." is not accepted).


                            In practice, teams usually precompile into the
                            binary all types that they

                            expect it to use in the context of Any. However, for
                            URLs which use the

                            scheme `http`, `https`, or no scheme, one can
                            optionally set up a type

                            server that maps type URLs to message definitions as
                            follows:


                            * If no scheme is provided, `https` is assumed.

                            * An HTTP GET on the URL must yield a
                            [google.protobuf.Type][]
                              value in binary format, or produce an error.
                            * Applications are allowed to cache lookup results
                            based on the
                              URL, or have them precompiled into a binary to avoid any
                              lookup. Therefore, binary compatibility needs to be preserved
                              on changes to types. (Use versioned type names to manage
                              breaking changes.)

                            Note: this functionality is not currently available
                            in the official

                            protobuf release, and it is not used for type URLs
                            beginning with

                            type.googleapis.com. As of May 2023, there are no
                            widely used type server

                            implementations and no plans to implement one.


                            Schemes other than `http`, `https` (or the empty
                            scheme) might be

                            used with implementation specific semantics.
                      additionalProperties: {}
                      description: >-
                        `Any` contains an arbitrary serialized protocol buffer
                        message along with a

                        URL that describes the type of the serialized message.


                        Protobuf library provides support to pack/unpack Any
                        values in the form

                        of utility functions or additional generated methods of
                        the Any type.


                        Example 1: Pack and unpack a message in C++.

                            Foo foo = ...;
                            Any any;
                            any.PackFrom(foo);
                            ...
                            if (any.UnpackTo(&foo)) {
                              ...
                            }

                        Example 2: Pack and unpack a message in Java.

                            Foo foo = ...;
                            Any any = Any.pack(foo);
                            ...
                            if (any.is(Foo.class)) {
                              foo = any.unpack(Foo.class);
                            }
                            // or ...
                            if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                              foo = any.unpack(Foo.getDefaultInstance());
                            }

                         Example 3: Pack and unpack a message in Python.

                            foo = Foo(...)
                            any = Any()
                            any.Pack(foo)
                            ...
                            if any.Is(Foo.DESCRIPTOR):
                              any.Unpack(foo)
                              ...

                         Example 4: Pack and unpack a message in Go

                             foo := &pb.Foo{...}
                             any, err := anypb.New(foo)
                             if err != nil {
                               ...
                             }
                             ...
                             foo := &pb.Foo{}
                             if err := any.UnmarshalTo(foo); err != nil {
                               ...
                             }

                        The pack methods provided by protobuf library will by
                        default use

                        'type.googleapis.com/full.type.name' as the type URL and
                        the unpack

                        methods only use the fully qualified type name after the
                        last '/'

                        in the type URL, for example "foo.bar.com/x/y.z" will
                        yield type

                        name "y.z".


                        JSON

                        ====

                        The JSON representation of an `Any` value uses the
                        regular

                        representation of the deserialized, embedded message,
                        with an

                        additional field `@type` which contains the type URL.
                        Example:

                            package google.profile;
                            message Person {
                              string first_name = 1;
                              string last_name = 2;
                            }

                            {
                              "@type": "type.googleapis.com/google.profile.Person",
                              "firstName": <string>,
                              "lastName": <string>
                            }

                        If the embedded message type is well-known and has a
                        custom JSON

                        representation, that representation will be embedded
                        adding a field

                        `value` which holds the custom JSON in addition to the
                        `@type`

                        field. Example (for message
                        [google.protobuf.Duration][]):

                            {
                              "@type": "type.googleapis.com/google.protobuf.Duration",
                              "value": "1.212s"
                            }

````