Blockaid Crypto Fraud Prevention API
The Crypto Fraud Prevention API from Blockaid — 1 operation(s) for crypto fraud prevention.
The Crypto Fraud Prevention API from Blockaid — 1 operation(s) for crypto fraud prevention.
openapi: 3.1.0
info:
title: Blockaid Asset Management Crypto Fraud Prevention 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: Crypto Fraud Prevention
paths:
/v0/transaction/scan:
post:
tags:
- Crypto Fraud Prevention
summary: Scan Transaction
description: Gets a transaction and returns a full security assessment indicating whether or not the transaction is malicious, along with textual reasons explaining why it was flagged as such.
operationId: scan-transaction-chain-agnostic
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionScanRequest'
examples:
Bitcoin Malicious Transaction:
summary: Bitcoin - Malicious Transaction
value:
options:
- validation
data:
chain: bitcoin
transaction_action: withdrawal
asset:
symbol: BTC
to: bc1qanrfutwqh854g74lqrygr55jkgf99em4lpfm80
amount: 1
metadata:
account:
account_id: '1'
connection:
user_agent: '1'
ip_address: 1.1.1.1
Bitcoin High Risk Transaction:
summary: Bitcoin - High Risk Transaction
value:
options:
- validation
data:
chain: bitcoin
transaction_action: withdrawal
asset:
symbol: BTC
to: bc1qvn5pv6rwn9ps3m8rwfm2ffg6wc4hnzve9mgem5
amount: 1
metadata:
connection:
user_agent: '1'
ip_address: 1.1.1.1
Bitcoin Warning Transaction:
summary: Bitcoin - Warning Transaction
value:
options:
- validation
data:
chain: bitcoin
asset:
symbol: BTC
to: 19rioPBg9n8TXobb2rKzwxM71jgArShVPd
amount: 1
metadata:
connection:
user_agent: '1'
ip_address: 1.1.1.1
Bitcoin Benign Transaction:
summary: Bitcoin - Benign Transaction
value:
options:
- validation
data:
chain: bitcoin
transaction_action: withdrawal
asset:
symbol: BTC
to: 3Eif1JfqeMERRsQHtvGEacNN9hhuvnsfe9
amount: 1
metadata:
connection:
user_agent: '1'
ip_address: 1.1.1.1
Ethereum Malicious Transaction:
summary: Ethereum - Malicious Transaction
value:
options:
- validation
data:
chain: ethereum
transaction_action: withdrawal
asset:
symbol: ETH
to: '0x0a5738064da9dda3cf4a4ae8d8e49b16fd7467c5'
amount: 1
metadata:
account:
account_id: '1'
Ethereum High Risk Transaction:
summary: Ethereum - High Risk Transaction
value:
options:
- validation
data:
chain: ethereum
transaction_action: withdrawal
asset:
symbol: ETH
to: '0x6174307e0eea8e26a62240b2b8b5d32d7edb0203'
amount: 1
metadata:
account:
account_id: '1'
Ethereum Warning Transaction:
summary: Ethereum - Warning Transaction
value:
options:
- validation
data:
chain: ethereum
transaction_action: withdrawal
asset:
symbol: ETH
to: '0x3b60e3a06af5aa4da178aade658211a0d3f51222'
amount: 1
metadata:
account:
account_id: '1'
Solana Malicious Transaction:
summary: Solana - Malicious Transaction
value:
options:
- validation
data:
chain: solana
transaction_action: withdrawal
asset:
symbol: SOL
to: 6KH26MJdg4YNrNezy6wDwK5Mn3whNo6nn12nVcyzHF7
amount: 1
metadata:
account:
account_id: '1'
Solana High Risk Transaction:
summary: Solana - High Risk Transaction
value:
options:
- validation
data:
chain: solana
asset:
symbol: SOL
to: 7Hm7NmPko67CSFv846MH5VWAWKBJYDb3rxBcC1mnQa2E
amount: 1
metadata:
account:
account_id: '1'
Solana Warning Transaction:
summary: Solana - Warning Transaction
value:
options:
- validation
data:
chain: solana
transaction_action: withdrawal
asset:
symbol: SOL
to: uB7ett5PHb6WFxdcvyHuxPbBhmACFg9xbztL2iw4w9X
amount: 1
metadata:
account:
account_id: '1'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ScanResult'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
deprecated: false
security:
- APIKey: []
- ClientID: []
components:
schemas:
TransactionFeature:
properties:
entity:
type: string
enum:
- transaction
title: Entity
description: Type of entity associated with the feature
default: transaction
type:
allOf:
- $ref: '#/components/schemas/routers__chain_agnostic__models__response__FeatureType'
description: Type of feature detected in the transaction scan
feature_id:
type: string
title: Feature Id
description: Unique identifier for the detected feature
description:
type: string
title: Description
description: Detailed description of the detected feature
type: object
required:
- type
- feature_id
- description
title: TransactionFeature
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
Data:
properties:
chain:
allOf:
- $ref: '#/components/schemas/Chains'
description: Blockchain network where the transaction will be executed
transaction_action:
type: string
enum:
- deposit
- withdrawal
title: Transaction Action
description: Action the transaction is making
from:
type: string
title: From
description: Source address or identifier for the transaction
to:
type: string
title: To
description: Destination address or identifier for the transaction
amount:
type: number
exclusiveMinimum: 0.0
title: Amount
description: Amount of the transaction in the specified asset
asset:
anyOf:
- $ref: '#/components/schemas/AssetAddress'
- $ref: '#/components/schemas/AssetSymbol'
title: Asset
description: Asset information
type: object
required:
- chain
- to
- amount
- asset
title: Data
AddressFeature:
properties:
entity:
type: string
enum:
- address
title: Entity
description: Type of entity associated with the feature
default: address
type:
allOf:
- $ref: '#/components/schemas/routers__chain_agnostic__models__response__FeatureType'
description: Type of feature detected in the address scan
feature_id:
type: string
title: Feature Id
description: Unique identifier for the detected feature
description:
type: string
title: Description
description: Detailed description of the detected feature
address:
type: string
title: Address
description: The blockchain address where the feature was detected
associated_urls:
items:
type: string
type: array
title: Associated Urls
description: List of URLs associated with this address
type: object
required:
- type
- feature_id
- description
- address
- associated_urls
title: AddressFeature
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
routers__chain_agnostic__models__response__FeatureType:
type: string
enum:
- Malicious
- Warning
- Benign
- High-Risk
- Info
title: FeatureType
description: The type of feature detected in the scan.
UrlFeature:
properties:
entity:
type: string
enum:
- url
title: Entity
description: Type of entity associated with the feature
default: url
type:
allOf:
- $ref: '#/components/schemas/routers__chain_agnostic__models__response__FeatureType'
description: Type of feature detected in the URL scan
feature_id:
type: string
title: Feature Id
description: Unique identifier for the detected feature
description:
type: string
title: Description
description: Detailed description of the detected feature
url:
type: string
title: Url
description: The URL where the feature was detected
type: object
required:
- type
- feature_id
- description
- url
title: UrlFeature
routers__chain_agnostic__models__response__ValidationResultType:
type: string
enum:
- Malicious
- Warning
- Benign
- High-Risk
title: ValidationResultType
description: The type of validation result.
AssetAddress:
properties:
address:
type: string
title: Address
description: The address of the asset
type: object
required:
- address
title: AssetAddress
Options:
type: string
enum:
- validation
title: Options
description: Requested output section to include in the response.
ScanResult:
properties:
validation:
allOf:
- $ref: '#/components/schemas/ValidationResult'
title: Validation
description: Complete validation result containing all scan details and findings
platform_url:
anyOf:
- type: string
- type: 'null'
title: Platform Url
description: Deep-link URL to the Blockaid platform address overview page for the scanned `to` address. Null if no URL is available for the given chain.
type: object
required:
- validation
title: ScanResult
TransactionScanStatus:
type: string
enum:
- Success
- Error
title: TransactionScanStatus
description: The status of the transaction scan
Chains:
type: string
enum:
- arbitrum
- avalanche
- base
- base-sepolia
- bsc
- ethereum
- ethereum-sepolia
- optimism
- polygon
- zksync
- zksync-sepolia
- zora
- linea
- blast
- scroll
- avalanche-fuji
- degen
- gnosis
- worldchain
- soneium-minato
- ronin
- apechain
- berachain
- ink-sepolia
- ink
- abstract
- abstract-testnet
- metacade
- metacade-testnet
- soneium
- unichain
- lordchain-testnet
- lordchain
- sei
- flow-evm
- hyperevm
- megaeth
- katana
- plume
- solana
- bitcoin
- xlayer
- monad
- monad-testnet
- tron
- kaia
- plasma
- mantle
- robinhood
- arc
title: Chains
description: The chain name
ScanRequestMetadata:
properties:
domain:
type: string
title: Domain
description: The full URL of the DApp or website that initiated the request, for cross-reference. Must use the https or http scheme and contain a valid hostname. Cannot contain JSON, braces, or other embedded data structures.
non_dapp:
type: boolean
title: Non Dapp
description: Set to true when the request was not initiated by a dapp. Dapp requests should provide the `domain` field.
account:
allOf:
- $ref: '#/components/schemas/routers__chain_agnostic__models__request__Account'
title: Account
description: End-user account context (id, age, country, creation time, and account_addresses).
connection:
allOf:
- $ref: '#/components/schemas/routers__chain_agnostic__models__request__Connection'
title: Connection
description: Connection metadata including user agent, IP information, and origin.
type: object
title: ScanRequestMetadata
AssetSymbol:
properties:
symbol:
type: string
title: Symbol
description: The symbol of the asset
type: object
required:
- symbol
title: AssetSymbol
routers__chain_agnostic__models__request__Account:
properties:
account_id:
type: string
title: Account Id
description: Unique identifier for the account.
account_creation_timestamp:
type: string
format: date-time
title: Account Creation Timestamp
description: Timestamp when the account was created.
user_age:
type: integer
exclusiveMinimum: 0.0
title: User Age
description: Age of the user in years
user_country_code:
type: string
title: User Country Code
description: ISO country code of the user's location.
account_addresses:
items:
type: string
type: array
title: Account Addresses
description: 'List of all account addresses in different chains based on the CAIPs standard (https://github.com/ChainAgnostic/CAIPs). Ethereum mainnet example: eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb'
type: object
required:
- account_id
title: Account
routers__chain_agnostic__models__request__Connection:
properties:
user_agent:
type: string
title: User Agent
description: User agent string from the client's browser or application.
ip_address:
type: string
format: ipvanyaddress
title: Ip Address
description: IP address of the customer making the request. Both IPv4 and IPv6 addresses are supported.
origin:
type: string
minLength: 1
format: uri
title: Origin
description: The full URL of the website that the request was directed to.
walletconnect_name:
type: string
title: Walletconnect Name
description: WalletConnect session name, when the request originates from a WalletConnect session.
walletconnect_description:
type: string
title: Walletconnect Description
description: WalletConnect session description, when the request originates from a WalletConnect session.
type: object
required:
- ip_address
title: Connection
ValidationResult:
properties:
status:
allOf:
- $ref: '#/components/schemas/TransactionScanStatus'
description: Status indicating whether the transaction scan was successful or encountered an error
result_type:
allOf:
- $ref: '#/components/schemas/routers__chain_agnostic__models__response__ValidationResultType'
description: Type of validation result indicating the severity of findings
classification:
type: string
title: Classification
description: Classification of the scan result based on the detected features
description:
type: string
title: Description
description: Detailed description of the validation result
features:
items:
anyOf:
- $ref: '#/components/schemas/AddressFeature'
- $ref: '#/components/schemas/UrlFeature'
- $ref: '#/components/schemas/TransactionFeature'
type: array
title: Features
description: List of features detected during the scan
default: []
type: object
required:
- status
- result_type
- classification
- description
title: ValidationResult
TransactionScanRequest:
properties:
options:
items:
$ref: '#/components/schemas/Options'
type: array
description: List of options to apply during the transaction scan
data:
allOf:
- $ref: '#/components/schemas/Data'
title: Data
description: Transaction data
metadata:
allOf:
- $ref: '#/components/schemas/ScanRequestMetadata'
title: Metadata
description: Additional metadata about the request including account and connection information
type: object
required:
- options
- data
- metadata
title: TransactionScanRequest
securitySchemes:
APIKey:
type: apiKey
name: X-API-Key
in: header
ClientID:
type: apiKey
name: X-CLIENT-ID
in: header
JWT:
type: http
scheme: bearer
bearerFormat: JWT
description: Bearer authentication header of the form `Bearer <token>`, where `<token>` is your auth token. See [API Authentication](/docs/api-reference/before-you-begin/api-authentication) for how to retrieve it.