Arkham User API

The User API from Arkham — 6 operation(s) for user.

OpenAPI Specification

arkham-user-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Arkham Intel Analytics User API
  version: 1.1.0
tags:
- name: User
paths:
  /user/alerts:
    get:
      summary: List your alerts
      description: Returns every alert owned by the authenticated caller as a list of `AlertParam` objects. Results are unpaginated and in no particular order.
      operationId: GetAlerts
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AlertParam'
                example:
                - activelyFeatured: true
                  alertMethodId: 1
                  base:
                  - abc123
                  chains:
                  - ethereum
                  createdAt: '2024-01-01T00:00:00Z'
                  description: abc123
                  enabled: true
                  from:
                  - abc123
                  id: 1
                  name: abc123
                  ownerUID: abc123
                  shareable: true
                  to:
                  - abc123
                  tokens:
                  - abc123
                  usdGte: 1.23
                  usdLte: 1.23
                  valueGte: 1.23
                  valueLte: 1.23
        '500':
          description: Internal Server Error
      tags:
      - User
    post:
      summary: Create an alert
      description: 'Creates a new alert that notifies the caller when on-chain transfers match the supplied filter.


        **Request body** (`AlertRequest`):

        - **name**: Human-readable alert name.

        - **enabled**: Whether the alert delivers notifications. Disabled alerts are stored but do not notify.

        - **base / from / to**: Comma-separated address, entity, or deposit selectors in the same syntax as `GET /transfers`. Pass `["all"]` on `base` to match every transfer (Pro only).

        - **tokens**: Token IDs or chain:address pairs to filter on.

        - **valueGte / valueLte**: Raw token amount bounds (on-chain units).

        - **usdGte / usdLte**: Historical USD value bounds.

        - **chains**: Optional subset of supported chains to scope the alert to.

        - **alertMethodId**: Required. ID of the notification channel that delivers this alert (see `GET /user/alertmethods`). Must be one of your own alert methods.

        - **description**: Optional free-form note.


        **Validation:** `alertMethodId` is required and must reference one of your own alert methods; omitting it or pointing it at a method you do not own returns `400`. Non-Pro users must supply at least one of a non-`"all"` `base`, a `from`, a `to`, a `tokens` filter, or a `usdGte >= 10000000`. Pro users may create fully open alerts. Users are hard-capped at 1000 alerts.


        **Response:** The numeric ID of the new alert.'
      operationId: CreateAlert
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: integer
                example: 1
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - User
  /user/alerts/{id}:
    delete:
      summary: Delete an alert
      description: 'Permanently deletes an alert owned by the caller.


        **Path parameter:**

        - **id**: The numeric ID of the alert to delete.


        **Response:** `204 No Content` on success.'
      operationId: DeleteAlert
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          example: 1
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - User
    get:
      summary: Get a single alert
      description: 'Returns the `AlertParam` for one alert owned by the caller.


        **Path parameter:**

        - **id**: The numeric ID of the alert.


        **Response:** `404 Not Found` if the alert does not exist or is owned by a different user.'
      operationId: GetAlert
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          example: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertParam'
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - User
    put:
      summary: Update an alert
      description: 'Replaces the configuration of an existing alert. The caller must own the alert — 404 is returned otherwise.


        **Path parameter:**

        - **id**: The numeric ID of the alert to update.


        **Request body:** An `AlertRequest` with the desired new configuration — same shape as `POST /user/alerts`.


        **Validation:** Same Pro / non-Pro rules as `POST /user/alerts` — non-Pro users must still supply a restrictive filter or `usdGte >= 10000000`.


        **Response:** `204 No Content` on success.'
      operationId: UpdateAlert
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          example: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAlertRequest'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - User
  /user/entities:
    get:
      summary: List all private entities
      description: 'Retrieves all private entities for the authenticated user. Returns both user-created private entities and customized Arkham entities.


        Use the includeAddresses parameter to control whether address lists are included in the response (default: true).'
      operationId: ReadUserEntities
      parameters:
      - name: includeAddresses
        in: query
        description: Whether to include address lists in the response. Accepts 'true' or 'false'. Defaults to 'true'.
        schema:
          type: string
          description: Whether to include address lists in the response. Accepts 'true' or 'false'. Defaults to 'true'.
          example: abc123
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  oneOf:
                  - $ref: '#/components/schemas/UserEntity'
                  - $ref: '#/components/schemas/ArkhamEntity'
                  example:
                    addresses:
                      abc123:
                      - abc123
                    createdAt: '2024-01-01T00:00:00Z'
                    crunchbase: https://www.crunchbase.com/organization/binance
                    customImageSlug: binance
                    customized: true
                    id: binance
                    instagram: https://www.instagram.com/binance
                    linkShareable: true
                    linkedin: https://www.linkedin.com/company/binance
                    name: Binance
                    note: ''
                    ownerUID: a1b2c3d4-5678-90ab-cdef-1234567890ab
                    populatedTags:
                    - chain: ethereum
                      disablePage: false
                      excludeEntities: false
                      id: proof-of-reserves
                      label: Binance Proof of Reserves
                      rank: 20
                      tagParams: Binance
                    service: true
                    twitter: https://twitter.com/binance
                    type: cex
                    updatedAt: '2024-01-01T00:00:00Z'
                    website: https://binance.com
                example:
                - addresses:
                    abc123:
                    - abc123
                  createdAt: '2024-01-01T00:00:00Z'
                  crunchbase: https://www.crunchbase.com/organization/binance
                  customImageSlug: binance
                  customized: true
                  id: binance
                  instagram: https://www.instagram.com/binance
                  linkShareable: true
                  linkedin: https://www.linkedin.com/company/binance
                  name: Binance
                  note: ''
                  ownerUID: a1b2c3d4-5678-90ab-cdef-1234567890ab
                  populatedTags:
                  - chain: ethereum
                    disablePage: false
                    excludeEntities: false
                    id: proof-of-reserves
                    label: Binance Proof of Reserves
                    rank: 20
                    tagParams: Binance
                  service: true
                  twitter: https://twitter.com/binance
                  type: cex
                  updatedAt: '2024-01-01T00:00:00Z'
                  website: https://binance.com
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - User
  /user/entities/only_add/{id}:
    put:
      summary: Update a private entity
      description: 'Updates an existing private entity. Allows modification of the entity name, note, and associated addresses.


        For user-created entities, the full entity is updated. For Arkham entities, only the user''s custom address associations are updated. Maximum of 5000 addresses can be updated at once.'
      operationId: UpdateUserEntityOnlyAddAddresses
      parameters:
      - name: id
        in: path
        description: The entity ID to update. Can be a user-created entity ID or an Arkham entity ID.
        required: true
        schema:
          type: string
          description: The entity ID to update. Can be a user-created entity ID or an Arkham entity ID.
          example: abc123
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserEntityRequest'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - User
  /user/entities/{id}:
    get:
      summary: Get a private entity by ID
      description: 'Retrieves a specific private entity by its ID. Returns the entity details including name, note, and associated addresses.


        Supports both user-created private entities and customized Arkham entities.'
      operationId: ReadUserEntity
      parameters:
      - name: id
        in: path
        description: The entity ID to retrieve. Can be a user-created entity ID or an Arkham entity ID.
        required: true
        schema:
          type: string
          description: The entity ID to retrieve. Can be a user-created entity ID or an Arkham entity ID.
          example: binance
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - User
  /user/labels:
    get:
      summary: Get user labels
      description: Retrieves a list of labels for the authenticated user.
      operationId: GetLabels
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Label'
                example:
                - address: '0x28C6c06298d514Db089934071355E5743bf21d60'
                  chainType: evm
                  name: Cold Wallet
                  note: ''
        '500':
          description: Internal Server Error
      tags:
      - User
    post:
      summary: Create labels
      description: Creates one or more labels for the authenticated user.
      operationId: PostLabels
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Label'
              nullable: true
              example:
              - address: '0x28C6c06298d514Db089934071355E5743bf21d60'
                chainType: evm
                name: Cold Wallet
                note: ''
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Label'
                example:
                - address: '0x28C6c06298d514Db089934071355E5743bf21d60'
                  chainType: evm
                  name: Cold Wallet
                  note: ''
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - User
components:
  schemas:
    Chain:
      enum:
      - ethereum
      - polygon
      - bsc
      - optimism
      - avalanche
      - arbitrum_one
      - base
      - bitcoin
      - tron
      - flare
      - solana
      - dogecoin
      - zcash
      - hyperevm
      - hypercore
      type: string
      example: ethereum
    UpdateUserEntityRequest:
      required:
      - name
      - note
      - id
      - type
      - service
      type: object
      properties:
        addresses:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
              example: abc123
            example:
            - abc123
          example:
            abc123:
            - abc123
        crunchbase:
          type: string
          nullable: true
          example: https://www.crunchbase.com/organization/binance
        customImageSlug:
          type: string
          nullable: true
          example: binance
        customized:
          type: boolean
          nullable: true
          example: true
        id:
          type: string
          example: binance
        instagram:
          type: string
          nullable: true
          example: https://www.instagram.com/binance
        linkShareable:
          type: boolean
          nullable: true
          example: true
        linkedin:
          type: string
          nullable: true
          example: https://www.linkedin.com/company/binance
        name:
          type: string
          example: Binance
        note:
          type: string
          example: ''
        ownerUID:
          type: string
          example: a1b2c3d4-5678-90ab-cdef-1234567890ab
        populatedTags:
          type: array
          items:
            $ref: '#/components/schemas/PopulatedTag'
          example:
          - chain: ethereum
            disablePage: false
            excludeEntities: false
            id: proof-of-reserves
            label: Binance Proof of Reserves
            rank: 20
            tagParams: Binance
        service:
          type: boolean
          nullable: true
          example: true
        twitter:
          type: string
          nullable: true
          example: https://twitter.com/binance
        type:
          type: string
          nullable: true
          example: cex
        website:
          type: string
          nullable: true
          example: https://binance.com
      example:
        addresses:
          abc123:
          - abc123
        crunchbase: https://www.crunchbase.com/organization/binance
        customImageSlug: binance
        customized: true
        id: binance
        instagram: https://www.instagram.com/binance
        linkShareable: true
        linkedin: https://www.linkedin.com/company/binance
        name: Binance
        note: ''
        ownerUID: a1b2c3d4-5678-90ab-cdef-1234567890ab
        populatedTags:
        - chain: ethereum
          disablePage: false
          excludeEntities: false
          id: proof-of-reserves
          label: Binance Proof of Reserves
          rank: 20
          tagParams: Binance
        service: true
        twitter: https://twitter.com/binance
        type: cex
        website: https://binance.com
    Label:
      required:
      - name
      - address
      - chainType
      type: object
      properties:
        address:
          type: string
          example: '0x28C6c06298d514Db089934071355E5743bf21d60'
        chainType:
          type: string
          example: evm
        name:
          type: string
          example: Cold Wallet
        note:
          type: string
          example: ''
      example:
        address: '0x28C6c06298d514Db089934071355E5743bf21d60'
        chainType: evm
        name: Cold Wallet
        note: ''
    AlertRequest:
      required:
      - name
      - enabled
      - base
      - alertMethodId
      type: object
      properties:
        alertMethodId:
          type: integer
          example: 1
        base:
          type: array
          items:
            type: string
            example: abc123
          nullable: true
          example:
          - abc123
        chains:
          type: array
          items:
            $ref: '#/components/schemas/Chain'
          nullable: true
          example:
          - ethereum
        description:
          type: string
          nullable: true
          example: abc123
        enabled:
          type: boolean
          example: true
        from:
          type: array
          items:
            type: string
            example: abc123
          example:
          - abc123
        name:
          type: string
          example: abc123
        to:
          type: array
          items:
            type: string
            example: abc123
          example:
          - abc123
        tokens:
          type: array
          items:
            type: string
            example: abc123
          example:
          - abc123
        usdGte:
          type: number
          nullable: true
          example: 1.23
        usdLte:
          type: number
          nullable: true
          example: 1.23
        valueGte:
          type: number
          nullable: true
          example: 1.23
        valueLte:
          type: number
          nullable: true
          example: 1.23
      example:
        alertMethodId: 1
        base:
        - abc123
        chains:
        - ethereum
        description: abc123
        enabled: true
        from:
        - abc123
        name: abc123
        to:
        - abc123
        tokens:
        - abc123
        usdGte: 1.23
        usdLte: 1.23
        valueGte: 1.23
        valueLte: 1.23
    AlertParam:
      required:
      - id
      - name
      - enabled
      - base
      - createdAt
      - shareable
      type: object
      properties:
        activelyFeatured:
          type: boolean
          nullable: true
          example: true
        alertMethodId:
          type: integer
          nullable: true
          example: 1
        base:
          type: array
          items:
            type: string
            example: abc123
          nullable: true
          example:
          - abc123
        chains:
          type: array
          items:
            $ref: '#/components/schemas/Chain'
          nullable: true
          example:
          - ethereum
        createdAt:
          type: string
          format: date-time
          example: '2024-01-01T00:00:00Z'
        description:
          type: string
          nullable: true
          example: abc123
        enabled:
          type: boolean
          example: true
        from:
          type: array
          items:
            type: string
            example: abc123
          example:
          - abc123
        id:
          type: integer
          example: 1
        name:
          type: string
          example: abc123
        ownerUID:
          type: string
          nullable: true
          example: abc123
        shareable:
          type: boolean
          example: true
        to:
          type: array
          items:
            type: string
            example: abc123
          example:
          - abc123
        tokens:
          type: array
          items:
            type: string
            example: abc123
          example:
          - abc123
        usdGte:
          type: number
          nullable: true
          example: 1.23
        usdLte:
          type: number
          nullable: true
          example: 1.23
        valueGte:
          type: number
          nullable: true
          example: 1.23
        valueLte:
          type: number
          nullable: true
          example: 1.23
      example:
        activelyFeatured: true
        alertMethodId: 1
        base:
        - abc123
        chains:
        - ethereum
        createdAt: '2024-01-01T00:00:00Z'
        description: abc123
        enabled: true
        from:
        - abc123
        id: 1
        name: abc123
        ownerUID: abc123
        shareable: true
        to:
        - abc123
        tokens:
        - abc123
        usdGte: 1.23
        usdLte: 1.23
        valueGte: 1.23
        valueLte: 1.23
    ArkhamEntity:
      required:
      - name
      - note
      - id
      - type
      - service
      - description
      type: object
      properties:
        addresses:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
              example: abc123
            example:
            - abc123
          example:
            abc123:
            - abc123
        crunchbase:
          type: string
          nullable: true
          example: https://www.crunchbase.com/organization/binance
        customImageSlug:
          type: string
          nullable: true
          example: binance
        customized:
          type: boolean
          nullable: true
          example: true
        description:
          type: string
          example: Binance is a global cryptocurrency exchange.
        id:
          type: string
          example: binance
        instagram:
          type: string
          nullable: true
          example: https://www.instagram.com/binance
        linkShareable:
          type: boolean
          nullable: true
          example: true
        linkedin:
          type: string
          nullable: true
          example: https://www.linkedin.com/company/binance
        name:
          type: string
          example: Binance
        note:
          type: string
          example: ''
        ownerUID:
          type: string
          example: a1b2c3d4-5678-90ab-cdef-1234567890ab
        populatedTags:
          type: array
          items:
            $ref: '#/components/schemas/PopulatedTag'
          example:
          - chain: ethereum
            disablePage: false
            excludeEntities: false
            id: proof-of-reserves
            label: Binance Proof of Reserves
            rank: 20
            tagParams: Binance
        service:
          type: boolean
          nullable: true
          example: true
        twitter:
          type: string
          nullable: true
          example: https://twitter.com/binance
        type:
          type: string
          nullable: true
          example: cex
        website:
          type: string
          nullable: true
          example: https://binance.com
      example:
        addresses:
          abc123:
          - abc123
        crunchbase: https://www.crunchbase.com/organization/binance
        customImageSlug: binance
        customized: true
        description: Binance is a global cryptocurrency exchange.
        id: binance
        instagram: https://www.instagram.com/binance
        linkShareable: true
        linkedin: https://www.linkedin.com/company/binance
        name: Binance
        note: ''
        ownerUID: a1b2c3d4-5678-90ab-cdef-1234567890ab
        populatedTags:
        - chain: ethereum
          disablePage: false
          excludeEntities: false
          id: proof-of-reserves
          label: Binance Proof of Reserves
          rank: 20
          tagParams: Binance
        service: true
        twitter: https://twitter.com/binance
        type: cex
        website: https://binance.com
    UpdateAlertRequest:
      required:
      - name
      - enabled
      - base
      - alertMethodId
      type: object
      properties:
        alertMethodId:
          type: integer
          example: 1
        base:
          type: array
          items:
            type: string
            example: abc123
          nullable: true
          example:
          - abc123
        chains:
          type: array
          items:
            $ref: '#/components/schemas/Chain'
          nullable: true
          example:
          - ethereum
        description:
          type: string
          nullable: true
          example: abc123
        enabled:
          type: boolean
          example: true
        from:
          type: array
          items:
            type: string
            example: abc123
          example:
          - abc123
        name:
          type: string
          example: abc123
        to:
          type: array
          items:
            type: string
            example: abc123
          example:
          - abc123
        tokens:
          type: array
          items:
            type: string
            example: abc123
          example:
          - abc123
        usdGte:
          type: number
          nullable: true
          example: 1.23
        usdLte:
          type: number
          nullable: true
          example: 1.23
        valueGte:
          type: number
          nullable: true
          example: 1.23
        valueLte:
          type: number
          nullable: true
          example: 1.23
      example:
        alertMethodId: 1
        base:
        - abc123
        chains:
        - ethereum
        description: abc123
        enabled: true
        from:
        - abc123
        name: abc123
        to:
        - abc123
        tokens:
        - abc123
        usdGte: 1.23
        usdLte: 1.23
        valueGte: 1.23
        valueLte: 1.23
    UserEntity:
      required:
      - name
      - note
      - id
      - type
      - service
      - createdAt
      - updatedAt
      type: object
      properties:
        addresses:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
              example: abc123
            example:
            - abc123
          example:
            abc123:
            - abc123
        createdAt:
          type: string
          format: date-time
          example: '2024-01-01T00:00:00Z'
        crunchbase:
          type: string
          nullable: true
          example: https://www.crunchbase.com/organization/binance
        customImageSlug:
          type: string
          nullable: true
          example: binance
        customized:
          type: boolean
          nullable: true
          example: true
        id:
          type: string
          example: binance
        instagram:
          type: string
          nullable: true
          example: https://www.instagram.com/binance
        linkShareable:
          type: boolean
          nullable: true
          example: true
        linkedin:
          type: string
          nullable: true
          example: https://www.linkedin.com/company/binance
        name:
          type: string
          example: Binance
        note:
          type: string
          example: ''
        ownerUID:
          type: string
          example: a1b2c3d4-5678-90ab-cdef-1234567890ab
        populatedTags:
          type: array
          items:
            $ref: '#/components/schemas/PopulatedTag'
          example:
          - chain: ethereum
            disablePage: false
            excludeEntities: false
            id: proof-of-reserves
            label: Binance Proof of Reserves
            rank: 20
            tagParams: Binance
        service:
          type: boolean
          nullable: true
          example: true
        twitter:
          type: string
          nullable: true
          example: https://twitter.com/binance
        type:
          type: string
          nullable: true
          example: cex
        updatedAt:
          type: string
          format: date-time
          example: '2024-01-01T00:00:00Z'
        website:
          type: string
          nullable: true
          example: https://binance.com
      example:
        addresses:
          abc123:
          - abc123
        createdAt: '2024-01-01T00:00:00Z'
        crunchbase: https://www.crunchbase.com/organization/binance
        customImageSlug: binance
        customized: true
        id: binance
        instagram: https://www.instagram.com/binance
        linkShareable: true
        linkedin: https://www.linkedin.com/company/binance
        name: Binance
        note: ''
        ownerUID: a1b2c3d4-5678-90ab-cdef-1234567890ab
        populatedTags:
        - chain: ethereum
          disablePage: false
          excludeEntities: false
          id: proof-of-reserves
          label: Binance Proof of Reserves
          rank: 20
          tagParams: Binance
        service: true
        twitter: https://twitter.com/binance
        type: cex
        updatedAt: '2024-01-01T00:00:00Z'
        website: https://binance.com
    PopulatedTag:
      required:
      - id
      - label
      - rank
      - excludeEntities
      - disablePage
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/Chain'
        disablePage:
          type: boolean
          description: Whether the dedicated page for this tag is disabled.
          example: false
        excludeEntities:
          type: boolean
          description: Whether entities are excluded from this tag.
          example: false
        id:
          type: string
          description: The tag identifier.
          example: proof-of-reserves
        label:
          type: string
          description: Human-readable label for this tag parameter combination.
          example: Binance Proof of Reserves
        rank:
          type: integer
          description: Display rank of the tag.
          example: 20
        tagParams:
          type: string
          description: The specific parameter value for this tag instance.
          nullable: true
          example: Binance
      example:
        chain: ethereum
        disablePage: false
        excludeEntities: false
        id: proof-of-reserves
        label: Binance Proof of Reserves
        rank: 20
        tagParams: Binance