Blockaid Asset Management API

The Asset Management API from Blockaid — 6 operation(s) for asset management.

OpenAPI Specification

blockaid-asset-management-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Blockaid Asset Management API
  description: Blockaid Risk Score API
  termsOfService: https://www.blockaid.io/legal/terms-of-use
  license:
    name: Proprietary
    url: https://www.blockaid.io/legal
  version: 1.0.0
servers:
- url: https://api.blockaid.io
  description: Production server
- url: https://client.blockaid.io
  description: Clients server
tags:
- name: Asset Management
paths:
  /v0/platform/assets/:
    post:
      tags:
      - Asset Management
      summary: Create Asset
      description: Create an asset for the given address or domain. The new asset will be onboarded to the platform's inventory and monitored according to your monitoring policy.
      operationId: create-asset
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/AddressRequest'
              - $ref: '#/components/schemas/DomainRequest'
              - $ref: '#/components/schemas/PerpRequest'
              - $ref: '#/components/schemas/MarketRequest'
              title: Asset
            examples:
              Create EVM Contract:
                summary: Create EVM Contract Example
                value:
                  identifier_type: address
                  identifier: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
                  tags:
                  - example
                  alias: Bedrock
                  runtime: evm
                  chain_name: bsc
                  contract_interface:
                  - address: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
                    abi_json:
                    - inputs:
                      - internalType: address
                        name: defaultAdmin
                        type: address
                      - internalType: address
                        name: minter
                        type: address
                      - internalType: address
                        name: defaultFreezeToRecipient
                        type: address
                      stateMutability: nonpayable
                      type: constructor
                    - anonymous: false
                      inputs:
                      - indexed: true
                        internalType: address
                        name: owner
                        type: address
                      - indexed: true
                        internalType: address
                        name: spender
                        type: address
                      - indexed: false
                        internalType: uint256
                        name: value
                        type: uint256
                      name: Approval
                      type: event
                    - anonymous: false
                      inputs:
                      - indexed: true
                        internalType: bytes32
                        name: role
                        type: bytes32
                      - indexed: true
                        internalType: bytes32
                        name: previousAdminRole
                        type: bytes32
                      - indexed: true
                        internalType: bytes32
                        name: newAdminRole
                        type: bytes32
                      name: RoleAdminChanged
                      type: event
                    - anonymous: false
                      inputs:
                      - indexed: true
                        internalType: bytes32
                        name: role
                        type: bytes32
                      - indexed: true
                        internalType: address
                        name: account
                        type: address
                      - indexed: true
                        internalType: address
                        name: sender
                        type: address
                      name: RoleGranted
                      type: event
                    - anonymous: false
                      inputs:
                      - indexed: true
                        internalType: bytes32
                        name: role
                        type: bytes32
                      - indexed: true
                        internalType: address
                        name: account
                        type: address
                      - indexed: true
                        internalType: address
                        name: sender
                        type: address
                      name: RoleRevoked
                      type: event
                    - anonymous: false
                      inputs:
                      - indexed: true
                        internalType: address
                        name: from
                        type: address
                      - indexed: true
                        internalType: address
                        name: to
                        type: address
                      - indexed: false
                        internalType: uint256
                        name: value
                        type: uint256
                      name: Transfer
                      type: event
                    - anonymous: false
                      inputs:
                      - indexed: false
                        internalType: address[]
                        name: users
                        type: address[]
                      name: UsersFrozen
                      type: event
                    - anonymous: false
                      inputs:
                      - indexed: false
                        internalType: address[]
                        name: users
                        type: address[]
                      name: UsersUnfrozen
                      type: event
                    - inputs: []
                      name: DEFAULT_ADMIN_ROLE
                      outputs:
                      - internalType: bytes32
                        name: ''
                        type: bytes32
                      stateMutability: view
                      type: function
                    - inputs: []
                      name: FREEZER_ROLE
                      outputs:
                      - internalType: bytes32
                        name: ''
                        type: bytes32
                      stateMutability: view
                      type: function
                    - inputs: []
                      name: MINTER_ROLE
                      outputs:
                      - internalType: bytes32
                        name: ''
                        type: bytes32
                      stateMutability: view
                      type: function
                    - inputs:
                      - internalType: address
                        name: owner
                        type: address
                      - internalType: address
                        name: spender
                        type: address
                      name: allowance
                      outputs:
                      - internalType: uint256
                        name: ''
                        type: uint256
                      stateMutability: view
                      type: function
                    - inputs:
                      - internalType: address
                        name: spender
                        type: address
                      - internalType: uint256
                        name: amount
                        type: uint256
                      name: approve
                      outputs:
                      - internalType: bool
                        name: ''
                        type: bool
                      stateMutability: nonpayable
                      type: function
                    - inputs:
                      - internalType: address
                        name: account
                        type: address
                      name: balanceOf
                      outputs:
                      - internalType: uint256
                        name: ''
                        type: uint256
                      stateMutability: view
                      type: function
                    - inputs:
                      - internalType: address[]
                        name: recipients
                        type: address[]
                      - internalType: uint256[]
                        name: amounts
                        type: uint256[]
                      name: batchTransfer
                      outputs: []
                      stateMutability: nonpayable
                      type: function
                    - inputs:
                      - internalType: uint256
                        name: amount
                        type: uint256
                      name: burn
                      outputs: []
                      stateMutability: nonpayable
                      type: function
                    - inputs:
                      - internalType: address
                        name: account
                        type: address
                      - internalType: uint256
                        name: amount
                        type: uint256
                      name: burnFrom
                      outputs: []
                      stateMutability: nonpayable
                      type: function
                    - inputs: []
                      name: decimals
                      outputs:
                      - internalType: uint8
                        name: ''
                        type: uint8
                      stateMutability: view
                      type: function
                    - inputs:
                      - internalType: address
                        name: spender
                        type: address
                      - internalType: uint256
                        name: subtractedValue
                        type: uint256
                      name: decreaseAllowance
                      outputs:
                      - internalType: bool
                        name: ''
                        type: bool
                      stateMutability: nonpayable
                      type: function
                    - inputs: []
                      name: freezeToRecipient
                      outputs:
                      - internalType: address
                        name: ''
                        type: address
                      stateMutability: view
                      type: function
                    - inputs:
                      - internalType: address[]
                        name: users
                        type: address[]
                      name: freezeUsers
                      outputs: []
                      stateMutability: nonpayable
                      type: function
                    - inputs:
                      - internalType: address
                        name: ''
                        type: address
                      name: frozenUsers
                      outputs:
                      - internalType: bool
                        name: ''
                        type: bool
                      stateMutability: view
                      type: function
                    - inputs:
                      - internalType: bytes32
                        name: role
                        type: bytes32
                      name: getRoleAdmin
                      outputs:
                      - internalType: bytes32
                        name: ''
                        type: bytes32
                      stateMutability: view
                      type: function
                    - inputs:
                      - internalType: bytes32
                        name: role
                        type: bytes32
                      - internalType: address
                        name: account
                        type: address
                      name: grantRole
                      outputs: []
                      stateMutability: nonpayable
                      type: function
                    - inputs:
                      - internalType: bytes32
                        name: role
                        type: bytes32
                      - internalType: address
                        name: account
                        type: address
                      name: hasRole
                      outputs:
                      - internalType: bool
                        name: ''
                        type: bool
                      stateMutability: view
                      type: function
                    - inputs:
                      - internalType: address
                        name: spender
                        type: address
                      - internalType: uint256
                        name: addedValue
                        type: uint256
                      name: increaseAllowance
                      outputs:
                      - internalType: bool
                        name: ''
                        type: bool
                      stateMutability: nonpayable
                      type: function
                    - inputs:
                      - internalType: address
                        name: to
                        type: address
                      - internalType: uint256
                        name: amount
                        type: uint256
                      name: mint
                      outputs: []
                      stateMutability: nonpayable
                      type: function
                    - inputs: []
                      name: name
                      outputs:
                      - internalType: string
                        name: ''
                        type: string
                      stateMutability: view
                      type: function
                    - inputs:
                      - internalType: bytes32
                        name: role
                        type: bytes32
                      - internalType: address
                        name: account
                        type: address
                      name: renounceRole
                      outputs: []
                      stateMutability: nonpayable
                      type: function
                    - inputs:
                      - internalType: bytes32
                        name: role
                        type: bytes32
                      - internalType: address
                        name: account
                        type: address
                      name: revokeRole
                      outputs: []
                      stateMutability: nonpayable
                      type: function
                    - inputs:
                      - internalType: address
                        name: recipient
                        type: address
                      name: setFreezeToRecipient
                      outputs: []
                      stateMutability: nonpayable
                      type: function
                    - inputs:
                      - internalType: bytes4
                        name: interfaceId
                        type: bytes4
                      name: supportsInterface
                      outputs:
                      - internalType: bool
                        name: ''
                        type: bool
                      stateMutability: view
                      type: function
                    - inputs: []
                      name: symbol
                      outputs:
                      - internalType: string
                        name: ''
                        type: string
                      stateMutability: view
                      type: function
                    - inputs: []
                      name: totalSupply
                      outputs:
                      - internalType: uint256
                        name: ''
                        type: uint256
                      stateMutability: view
                      type: function
                    - inputs:
                      - internalType: address
                        name: to
                        type: address
                      - internalType: uint256
                        name: amount
                        type: uint256
                      name: transfer
                      outputs:
                      - internalType: bool
                        name: ''
                        type: bool
                      stateMutability: nonpayable
                      type: function
                    - inputs:
                      - internalType: address
                        name: from
                        type: address
                      - internalType: address
                        name: to
                        type: address
                      - internalType: uint256
                        name: amount
                        type: uint256
                      name: transferFrom
                      outputs:
                      - internalType: bool
                        name: ''
                        type: bool
                      stateMutability: nonpayable
                      type: function
                    - inputs:
                      - internalType: address[]
                        name: users
                        type: address[]
                      name: unfreezeUsers
                      outputs: []
                      stateMutability: nonpayable
                      type: function
              create sui example:
                summary: Create Sui Address Example
                value:
                  identifier_type: address
                  identifier: '0xe1b45a0e641b9955a20aa0ad1c1f4ad86aad8afb07296d4085e349a50e90bdca'
                  tags:
                  - example
                  alias: bluefin
                  runtime: sui
                  chain_name: mainnet
                  package_interface: []
              Create Hyperliquid Address:
                summary: Create Hyperliquid (Perps) Address Example
                value:
                  identifier_type: address
                  identifier: '0xabcde12345abcde12345abcde12345abcde12345'
                  tags:
                  - example
                  alias: my-hyperliquid-vault
                  chain_name: hyperliquid
              Create Polymarket Address:
                summary: Create Polymarket (Markets) Address Example
                value:
                  identifier_type: address
                  identifier: '0xabcde12345abcde12345abcde12345abcde12345'
                  tags:
                  - example
                  alias: my-polymarket-contract
                  chain_name: polymarket
              Create Domain:
                summary: Create Domain Example
                value:
                  identifier_type: domain
                  identifier: example.com
                  tags:
                  - example
                  alias: Example Domain
        required: true
      responses:
        '200':
          description: Asset created successfully
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/AddressResponse'
                - $ref: '#/components/schemas/DomainResponse'
                - $ref: '#/components/schemas/PerpResponse'
                - $ref: '#/components/schemas/MarketResponse'
                items:
                  anyOf:
                  - $ref: '#/components/schemas/AddressResponse'
                  - $ref: '#/components/schemas/DomainResponse'
                  - $ref: '#/components/schemas/PerpResponse'
                  - $ref: '#/components/schemas/MarketResponse'
                type: array
                title: Response 200 Create-Asset
              examples:
                Address:
                  summary: Address Asset Created
                  value:
                  - identifier: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
                    identifier_type: address
                    alias: Bedrock
                    tags:
                    - example
                    added_by: user@example.com
                    created_at: '2025-01-15T12:00:00Z'
                    address_details:
                      chain: bsc
                      runtime: evm
                      properties: []
                      address: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
                Domain:
                  summary: Domain Asset Created
                  value:
                  - identifier: example.com
                    identifier_type: domain
                    alias: Example Domain
                    tags: []
                    added_by: user@example.com
                    created_at: '2025-01-15T12:00:00Z'
        '409':
          description: Asset already exists
          content:
            application/json:
              examples:
                Duplicate Address:
                  summary: Address Already Exists
                  value:
                    detail: Failed to add address because one or more already exists
                Duplicate Domain:
                  summary: Domain Already Exists
                  value:
                    detail: Failed to add domain because it already exists in the inventory
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetErrorResponse'
              examples:
                Type Mismatch:
                  summary: Type Mismatch Error
                  value:
                    error_code: type_mismatch
                    description: Only domain and address identifier types are valid.
                    identifier: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
                Generic Error:
                  summary: Generic Error During Creation
                  value:
                    error_code: generic_error
                    description: Failed to create monitored asset.
                Missing ABI:
                  summary: Missing ABI Error
                  value:
                    error_code: missing_abi
                    description: Failed to auto-fetch contract interface, please provide the interface json while creating the asset
                    identifier: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
                Implementation Missing ABI:
                  summary: Implementation Missing ABI Error
                  value:
                    error_code: implementation_missing_abi
                    description: Failed to auto-fetch contract interface for the implementation of the proxy, please provide both the proxy and implementation's interface json while creating the asset
                    identifier: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
                Unsupported Runtime:
                  summary: Unsupported Runtime Error
                  value:
                    error_code: unsupported_runtime
                    description: Unsupported runtime solana.
                    identifier: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
              examples:
                Missing Required Field:
                  summary: Missing Required Field
                  value:
                    detail:
                    - loc:
                      - body
                      - identifier
                      msg: field required
                      type: value_error.missing
                Invalid Identifier Type:
                  summary: Invalid Identifier Type
                  value:
                    detail:
                    - loc:
                      - body
                      - identifier_type
                      msg: 'value is not a valid enumeration member; permitted: ''address'', ''domain'''
                      type: type_error.enum
      deprecated: false
      security:
      - APIKey: []
      - ClientID: []
      - JWT: []
  /v0/platform/assets/{identifier}:
    get:
      tags:
      - Asset Management
      summary: Get Asset
      description: Retrieve details for an asset in your inventory by its identifier, runtime, and chain.
      operationId: get-asset
      parameters:
      - description: The contract address or domain that identifies this asset.
        required: true
        deprecated: false
        explode: false
        schema:
          type: string
          title: Identifier
        example: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
        name: identifier
        in: path
      - description: The chain type (e.g. evm, solana). Use the same runtime you used when creating the asset.
        required: true
        deprecated: false
        explode: false
        schema:
          allOf:
          - $ref: '#/components/schemas/MonitoringSupportedRuntimes'
        example: evm
        name: runtime
        in: query
        allowEmptyValue: false
        allowReserved: false
      - description: Which chain the asset is on (e.g. bsc, ethereum). Use the same chain you used when creating the asset.
        required: true
        deprecated: false
        explode: false
        schema:
          allOf:
          - $ref: '#/components/schemas/MonitoringSupportedChains'
        example: bsc
        name: chain_name
        in: query
        allowEmptyValue: false
        allowReserved: false
      responses:
        '200':
          description: Successful response with the asset details (address or domain).
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/AddressResponse'
                - $ref: '#/components/schemas/DomainResponse'
                - $ref: '#/components/schemas/PerpResponse'
                - $ref: '#/components/schemas/MarketResponse'
                title: Response 200 Get-Asset
              examples:
                Address Asset:
                  summary: Address Asset Retrieved
                  value:
                    identifier: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
                    identifier_type: address
                    alias: Bedrock
                    tags:
                    - example
                    added_by: API
                    created_at: '2025-07-14T20:10:58.180233'
                    address_details:
                      chain: bsc
                      runtime: evm
                      properties:
                      - token
                      - address
                      - erc20
                      - contract
                      address: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
        '404':
          description: No asset exists for the given identifier, runtime, and chain combination.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetErrorResponse'
              examples:
                Not Found:
                  summary: Asset Not Found
                  value:
                    error_code: not_found
                    description: Asset not found
                    identifier: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
        '422':
          description: Request validation failed (e.g. missing or invalid query parameters).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
              examples:
                Missing Required Query:
                  summary: Missing Required Query Parameter
                  value:
                    detail:
                    - loc:
                      - query
                      - runtime
                      msg: field required
                      type: value_error.missing
                Invalid Runtime:
                  summary: Invalid Runtime Value
                  value:
                    detail:
                    - loc:
                      - query
                      - runtime
                      msg: 'value is not a valid enumeration member; permitted: ''evm'', ''solana'', ...'
                      type: type_error.enum
      deprecated: false
      security:
      - APIKey: []
      - ClientID: []
      - JWT: []
    delete:
      tags:
      - Asset Management
      summary: Delete Asset
      description: Remove an asset from your inventory by its identifier, runtime, and chain. The asset is removed from monitoring and related detection rules.
      operationId: delete-asset
      parameters:
      - description: The contract address or domain that identifies this asset.
        required: true
        deprecated: false
        explode: false
        schema:
          type: string
          title: Identifier
        example: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
        name: identifier
        in: path
      - description: The chain type (e.g. evm, solana). Use the same runtime you used when creating the asset.
        required: true
        deprecated: false
        explode: false
        schema:
          allOf:
          - $ref: '#/components/schemas/MonitoringSupportedRuntimes'
        example: evm
        name: runtime
        in: query
        allowEmptyValue: false
        allowReserved: false
      - description: Which chain the asset is on (e.g. bsc, ethereum). Use the same chain you used when creating the asset.
        required: true
        deprecated: false
        explode: false
        schema:
          allOf:
          - $ref: '#/components/schemas/MonitoringSupportedChains'
        example: bsc
        name: chain_name
        in: query
        allowEmptyValue: false
        allowReserved: false
      responses:
        '200':
          description: Successful response; the asset has been removed from the inventory.
          content:
            application/json:
              schema:
                type: object
                description: Empty body. The asset has been removed from the inventory.
                additionalProperties: false
              examples:
                Success:
                  summary: Asset Deleted
                  value: {}
        '404':
          description: No asset exists for the given identifier, runtime, and chain combination.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetErrorResponse'
              examples:
                Not Found:
                  summary: Asset Not Found
                  value:
                    error_code: not_found
                    description: Asset not found
                    identifier: '0xFf7d6A96ae471BbCD7713aF9CB1fEeB16cf56B41'
        '422':
          description: Request validation failed (e.g. missing or invalid query parameters).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
              examples:
                Missing Required Query:
                  summary: Missing Required Query Parameter
                  value:
                    detail:
                    - loc:
                      - query
                      - runtime
                      msg: field required
                      type: value_error.missing
                Invalid Runtime:
                  summary: Invalid Runtime Value
                  value:
                    detail:
                    - loc:
                      - query
                      - runtime
                      msg: 'value is not a valid enumeration member; permitted: ''evm'', ''solana'', ...'
                      type: type_error.enum
      deprecated: false
      security:
      - APIKey: []
      - ClientID: []
      - JWT: []
    patch:
      tags:
      - Asset Management
      summary: Update an Asset
      description: Update an existing asset in your inventory (e.g. alias, tags) by its identifier, runtime, and chain.
      operationId: patch-asset
      parameters:
      - description: The contract address or domain that identifies this asset.
        required: true
        deprecated: false
        explode: false
        schema:
          type: string
          title: Identifier
        examp

# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/blockaid/refs/heads/main/openapi/blockaid-asset-management-api-openapi.yml