Data Model

Alerts

Suspicious transaction activity alerts requiring investigation.

FieldKeyData TypeRequiredMax LengthDescription
Alert IDalert_idstringYes36Unique identifier for each alert in your system
Entity ID Listentity_id_listarray[string]Yes-List of associated Entity IDs that must map to previously submitted entities
Flagged Transaction ID Listflagged_transaction_id_listarray[string]Yes-Array of Transaction IDs flagged by this alert (must map to submitted transactions)
Alert Sourcesourcestring enum valueYes-TM (Transaction Monitoring) or BM (Blockchain Monitoring)
Alert TitletitlestringYes-Alert title displayed in Rose UI for reference
Alert DescriptiondescriptionstringNo-Free-form description for Rose analysis
Statusstatusstring enum valueYes-OPEN or CLOSED (Rose only analyzes OPEN alerts)
Created Atcreated_atstringYes-ISO8601 datetime when alert was created
Rule Titlerule_titlestringYes-Title of the rule that triggered the alert
Disposition Statusdisposition_statusstring enum valueNo-UNDER_INVESTIGATION, PENDING_INFO, ESCALATED, MONITORING, SUSPICIOUS_CONFIRMED, STR_FILED, CLOSED, CLEARED, NON_REFERRAL, REOPENED
Disposition Notesdisposition_notesstringNo-Free text for disposition narratives and notes
Dispositioned Atdispositioned_atstringNo-ISO8601 datetime when disposition was set
Dispositioned Bydispositioned_bystringNo-Email address of team member who changed disposition
Start Datestart_datestringNo-ISO8601 datetime of first flagged transaction
End Dateend_datestringNo-ISO8601 datetime of last flagged transaction
Reference IDs'reference_idsarray[string]No-Send multiple reference ids for that alert for mapping
Alert Sub Typealert_subtypestringNo-Alert subtype classification (e.g., DIRECT, INDIRECT)
Crypto Transferred Value Percentagecrypto_transferred_value_percentagefloatNo-Percentage of crypto transferred value associated with the alert (0-100)

Entities API Data Model

Entities (Main Model)

Individual persons and business entities involved in transactions.

FieldKeyData TypeRequiredMax LengthDescription
Entity IDentity_idstringYes36Unique identifier for each entity in your system
Typetypestring enum valueYes-INDIVIDUAL or BUSINESS
Date of BirthdobstringNo-ISO8601 date format YYYY-MM-DD
Corporate Tax IDcorporate_tax_idstringNo-Corporate identifier (EIN, FEIN, BN, UTR, CRN, etc.)
Corporate Tax ID Typecorporate_tax_id_typestringNo-Type of tax ID (EIN, FEIN, BN, UTR, CRN, Steuernummer, etc.)
Emailsemailsarray[string]No-List of email addresses
Gendergenderstring enum valueNo-MALE or FEMALE
OccupationoccupationstringNo-Individual's occupation
NamenamestringNo-Legal name of entity
Account Holder Nameaccount_holder_namestringNo-Name of person associated with business account
IP Addressesip_addressesarray[string]No-IPv4 or IPv6 addresses
Phone Numbersphone_numbersarray[string]No-Phone numbers in E.164 format
Registered Atregistered_atstringNo-ISO8601 datetime when entity registered
Mailing Street Addressmailing_street_addressstringNo-Street address
Mailing Citymailing_citystringNo-City/locality
Mailing Statemailing_statestringNo-State/province/region
Mailing Postal Codemailing_postal_codestringNo-Postal/zip code
Mailing Countrymailing_countrystringNo-ISO 3166 alpha-2 country code
WebsitewebsitestringNo-Business website URL
Verification Tierverification_tierstringNo64KYC/verification tier level
Purpose of Accountpurpose_of_accountarray[string]No-Purpose or intended use of the account
IndustryindustrystringNo-Business industry classification
Source of Fundssource_of_fundsarray[string]No-Origin of account holder's funds
Source of Wealthsource_of_wealtharray[string]No-Origin of account holder's overall wealth
Employment Statusemployment_statusstringNo-Employment status (e.g. "employed", "self_employed", "retired")
Nationalitynationalityarray[string]No-ISO 3166 Alpha-2 country codes. Multiple nationalities supported
Citizenshipcitizenshiparray[string]No-ISO 3166 Alpha-2 country codes. Multiple citizenships supported
Tagstagsarray[string]No-Free-text labels/tags/flags
Estimated Monthly Depositsestimated_monthly_depositsMonetaryRangeNo-Expected monthly deposit volume range (see MonetaryRange)
Estimated Monthly Withdrawalsestimated_monthly_withdrawalsMonetaryRangeNo-Expected monthly withdrawal volume range (see MonetaryRange)
Estimated Trades Per Monthestimated_trades_per_monthBaseRangeNo-Expected trades per month (see BaseRange)
Net Worthnet_worthMonetaryRangeNo-Declared net worth range (see MonetaryRange)
Annual Incomeannual_incomeMonetaryRangeNo-Declared annual income range (see MonetaryRange)
UBOuboUBODataNo-Ultimate Beneficial Owner data (see UBOData)
Blockchain Intelblockchain_intelarray[BlockchainIntel]No-Customer-supplied KYT Data (see BlockchainIntel)

MonetaryRange

Used for monetary estimates (deposits, withdrawals, income, net worth).

FieldKeyData TypeRequiredMax
Length
Description
Lower Boundlower_boundintegerNo*
Lower bound of the range
Upper Boundupper_boundintegerNo*
Upper bound of the range
CurrencycurrencyintegerYes
Currency ID from Axle's supported currencies

*At least one of lower_bound or upper_bound must be provided.


BaseRange

Used for count-based estimates (e.g. trades per month)

FieldKeyData TypeRequiredMax
Length
Description
Lower Boundlower_boundintegerNo*
Lower bound of the range
Upper Boundupper_boundintegerNo*
Upper bound of the range

*At least one of lower_bound or upper_bound must be provided.


UBOData

FieldKeyData TypeRequiredMax
Length
Description
Individual UBOsindividualarray[IndividualUBO]No*
Array of individual person UBOs
Corporate UBOscorporatearray[CorporateUBO]No*
Array of corporate entity UBOs

*At least one of individual or corporate must contain entries.


IndividualUBO

FieldKeyData TypeRequiredMax
Length
Description
IDidintegerYes
Client-provided unique ID within this payload
First Namefirst_namestringYes256First/given name
Middle Namemiddle_namestringNo256Middle name
Last Namelast_namestringYes
Last name
DOBdobstringNo10ISO8601 date format YYYY-MM-DD
EmailemailstringNo
Email address
PhonephonestringNo
Phone number in E.164 format
Nationalitynationalityarray[string]No
ISO 3166 Alpha-2 country codes
Citizenshipcitizenshiparray[string]No
ISO 3166 Alpha-2 country codes
Country of Birthcountry_of_birthstringNo
ISO 3166 Alpha-2 country code
City of Birthcity_of_birthstringNo
City of birth
Tax Residencytax_residencyarray[string]No
ISO 3166 Alpha-2 country codes
Ownership Percentageownership_percentagefloatNo
Ownership stake (0-100)
RolerolestringNo
Job title / role
ControllercontrollerboolNo
Has control of corporation (CEO, CFO, owner or equivalent)
Street Addressstreet_addressstringNo
Street address
CitycitystringNo256City
StatestatestringNo256State or province
Postal Codepostal_codestringNo32Postal/ZIP code
CountrycountrystringNo
ISO 3166 Alpha-2 country code

CorporateUBO

FieldKeyData TypeRequiredMax
Length
Description
IDidintegerYes
Client-provided unique ID within this payload
Entity Nameentity_namestringYes256Legal entity name
Formation Countryformation_countrystringNo
ISO 3166 Alpha-2 code
Formation Dateformation_datestringNo10Date of formation (YYYY-MM-DD)
Ownership Percentageownership_percentagefloatNo
Ownership stake (0-100)
Street Addressstreet_addressstringNo
Street address
CitycitystringNo256City
StatestatestringNo256State or province
Postal Codepostal_codestringNo32Postal/ZIP code
CountrycountrystringNo
ISO 3166 Alpha-2 country code
Childrenchildrenarray[UBOChild]No
Child UBOs relationship

UBOChild


FieldKeyData TypeRequiredMax
Length
Description
IDidintegerYes
References another UBO's id in the same payload
Relative Ownershiprelative_ownershipfloatNo
Ownership percentage the child has of this corporate UBO (0-100)

Transaction API Data Model

Transaction (Main Model)

FieldKeyData TypeRequiredMax LengthDescription
Transaction IDtransaction_idstringYes255Unique identifier in your system
TypetypeTransaction Types(ENUM)No-Transaction type (see Transaction Types below)
SubtypesubtypeTransaction Subtypes(ENUM)No-Transaction subtype (see Transaction Subtypes below)
Event Timeevent_timestringYes-ISO8601 datetime (YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SSZ)
AmountamountstringYes-Transaction value as decimal string (e.g., "1234.56")
Amount Currencyamount_currencystring enum valueYes-Currency enum for amount (e.g., "USD" - see currency endpoints)
SendersenderTransactionSenderNo-Transaction sender details (see TransactionSender model)
ReceiverreceiverTransactionReceiverNo-Transaction receiver details (see TransactionReceiver model)
BalancebalancestringNo-Account balance after transaction as decimal string
BlockchainblockchainBlockchainDetailsNo-Blockchain transaction details (see BlockchainDetails model)
StatusstatusTransactionStatusNo-Current Status of the Transaction
DescriptordescriptorstringNo-Additional description of the transaction
Tagstagsarray[string]No-Free-form tags associated with the
transaction

TransactionSender

FieldKeyData TypeRequiredMax LengthDescription
Entity IDentity_idstringNo*-Unique entity identifier (must map to submitted entity)
NamenamestringNo*-Entity name (mutually exclusive with entity_id)
Blockchain Addressesblockchain_addressesarray[string]No-Associated blockchain addresses
Asset Outasset_outCurrencyAmountNo-Asset going out from sender (see CurrencyAmount model)
Blockchain Intelblockchain_intelarray[BlockchainIntel]No-Customer-supplied KYT Data (see BlockchainIntel)

*Either entity_id or name can be provided, but not both

TransactionReceiver

FieldKeyData TypeRequiredMax LengthDescription
Entity IDentity_idstringNo*-Unique entity identifier (must map to submitted entity)
NamenamestringNo*-Entity name (mutually exclusive with entity_id)
Blockchain Addressesblockchain_addressesarray[string]No-Associated blockchain addresses
Asset Inasset_inCurrencyAmountNo-Asset coming in to receiver (see CurrencyAmount model)
Blockchain Intelblockchain_intelarray[BlockchainIntel]No-Customer-supplied KYT Data

*Either entity_id or name can be provided, but not both

CurrencyAmount

FieldKeyData TypeRequiredMax LengthDescription
AmountamountstringYes-Amount value as decimal string (e.g., "123.456")
Currency IDcurrency_idintegerNo*-Currency identifier
Currency Typecurrency_typestring enum valueNo*-Type of currency: FIAT or CRYPTO

*Both currency_id and currency_type must be provided together or both omitted

BlockchainDetails

FieldKeyData TypeRequiredMax LengthDescription
Transaction Hashtransaction_hashstringNo-Transaction hash on the blockchain
Chain IDchain_idintegerNo-Blockchain network identifier (see chain endpoints)

Transaction Types

String Enum ValueDescription
DEPOSITAll funding operations
WITHDRAWALAll cash-out operations
PAYMENTAll payment operations
TRANSFERAll transfer operations
TRADEAll trading operations
FEEAll fee operations
CREDITAll credit operations
INTERESTAll interest/reward operations
LOANAll loan operations
REMITTANCEAll remittance operations
INTERNALAll internal operations
CHARGEBACKAll chargeback operations
OTHERAll other/unspecified operations
TRANSACTIONGeneric transaction type

Transaction Subtypes

String Enum ValueDescription
TRADEAll trading operations
MARGINMargin trading operations
PTL-SALEPrivate token launch sales
EARN_ALLOCATIONEarning program allocations
EARN_REWARDEarning program rewards
STAKINGAll staking operations
REWARDGeneric rewards and dividends
ROLLOVERInvestment rollovers
DEPOSIT_BANKTraditional bank deposits
DEPOSIT_CRYPTOAll cryptocurrency deposits
DEPOSIT_FIATFiat currency deposits
DEPOSIT_PROCESSORPayment processor deposits
ACCOUNT_DEPOSITAccount funding operations
VAULT_DEPOSITVault/savings deposits
WITHDRAWAL_BANKTraditional bank withdrawals
WITHDRAWAL_CRYPTOAll cryptocurrency withdrawals
WITHDRAWAL_FIATFiat currency withdrawals
WITHDRAWAL_PROCESSORPayment processor withdrawals
CASH_WITHDRAWALATM/cash withdrawals
VAULT_WITHDRAWALVault/savings withdrawals
E_TRANSFER_SENTElectronic transfer sent
E_TRANSFER_RECEIVEDElectronic transfer received
INTERNAL_TRANSFERInternal account transfers
BALANCE_TRANSFERBalance transfers between accounts
P2P_TRANSFERPerson-to-person transfers
WIRE_TRANSFERWire transfers
ACH_TRANSFERACH batch-based transfers
RTP_TRANSFERReal-Time Payments transfers
CHECK_TRANSFERPhysical check transfers
CARD_PURCHASECard-based purchases
BILL_PAYMENTBill payment transactions
LOAN_REPAYMENTLoan repayment transactions
CRYPTO_PAYMENTCryptocurrency payment transactions
CARD_SETTLEMENTCard settlement operations
SERVICE_FEEService fees
SUBSCRIPTION_FEESubscription fees
CASHBACKCashback rewards
CREDIT_TRANSACTIONCredit transactions
PROMOTIONAL_CREDITPromotional credits
INTEREST_EARNEDInterest earned
INTEREST_CHARGEDInterest charged
TRAVEL_EXPENSETravel-related expenses
SETTLEDSettlement operations
PREPAID_CARD_LOADPrepaid Card Load

Transaction Status

Status
PENDING
PROCESSING
AUTHORIZED
COMPLETED
FAILED
DECLINED
CANCELLED
REFUNDED
PARTIALLY_REFUNDED
REVERSED
ON_HOLD
EXPIRED
SCHEDULED
IN_TRANSIT
AWAITING_CONFIRMATION
PARTIALLY_COMPLETED
QUEUED
SUSPENDED
DISPUTED
WRITTEN_OFF
ATTEMPTED
UNKNOWN
CAPTURED
SETTLEMENT_ERROR

Blockchain Intel (shared)

BlockchainIntel

FieldKeyTypeRequiredDescription
Vendorvendorstring enum valueYesData provider identifier. Accepted: chainalysis_kyt
Vendor Versionvendor_versionstringYesProvider API version. E.g. v2 or v1
Fetched Atfetched_atstringYesISO8601 datetime when the intel was retrieved from the provider
DatadataobjectYesVendor-specific structured payload. Shape defined per vendor × vendor_version pair. Refer Blockchain->Data

data shape by context:

Attached tovendorAccepted versionsdata shape
Transaction sender/receiverchainalysis_kytv2Transfer direct exposure — see "Transaction transfer exposure"
Entitychainalysis_kytv1, v2KYT user details — see "Entity KYT user details (v2 / v1)"

BlockchainIntel -> Data

Transaction transfer exposure (chainalysis_kyt · v2)

Used when blockchain_intel is attached to a transaction sender/receiver. data = the KYT direct-exposure response from GET /api/kyt/v2/transfers/{externalId}/exposures.

No result: send "direct": null to signal the lookup ran but returned nothing.

FieldKeyTypeRequiredDescription
Direct Namedirect.namestringNoIdentified counterparty name (e.g. Binance, Tornado Cash). Null if unknown
Direct Category IDdirect.categoryIdintegerNoChainalysis numeric category ID

Entity KYT user details v2 (chainalysis_kyt · v2)

Used when blockchain_intel is attached to an entity. data = the KYT user-details response from GET /api/kyt/v2/users/{externalUserId}.

FieldKeyData TypeRequiredDescription
User IDuserIdstringNoChainalysis KYT user identifier
Risk ScoreriskScorestring (enum)NoSEVERE / HIGH / MEDIUM / LOW. Null if the user has no activity
Score Updated DatescoreUpdatedDatestringNoISO8601 datetime when Chainalysis last updated the risk score
Created AtcreatedAtstringNoISO8601 datetime when the user was created in KYT
Last ActivitylastActivitystringNoISO8601 datetime timestamp of the user's most recent activity
Exposure DetailsexposureDetailsarray[KYTExposureDetail]NoPer-category exposure breakdown (see KYTExposureDetail)
PropertiespropertiesobjectNo{ "active": boolean, "country": string } (ISO 3166-1 alpha-2). v2 only

Entity KYT user details v1 (chainalysis_kyt · v1)

Used when blockchain_intel is attached to an entity with vendor_version: "v1". data = the response from GET /api/kyt/v1/users/USERID. Same as v2 except: legacy score, creationDate instead of createdAt, and no properties.

FieldKeyData TypeRequiredDescription
User IDuserIdstringNoChainalysis KYT user identifier
Risk ScoreriskScorestring (enum)NoSEVERE / HIGH / MEDIUM / LOW. Null if no activity
Score (legacy)scorestring (enum)Nored / amber / green. Legacy risk color, superseded by riskScore. v1 only
Score Updated DatescoreUpdatedDatestringNoISO8601 datetime when the risk score was last updated
Creation DatecreationDatestringNoISO8601 datetime when the user was created in KYT (v1's equivalent of createdAt)
Last ActivitylastActivitystringNoISO8601 datetime of the user's most recent activity
Exposure DetailsexposureDetailsarray[KYTExposureDetail]NoPer-category exposure breakdown (see KYTExposureDetail)

KYTExposureDetail

One entry per exposure category in exposureDetails (entity KYT user details, v1 and v2).

FieldKeyData TypeRequiredDescription
ClusterclusterobjectNo{ "name": string, "categoryId": integer, "category": string }. category (name string) is v1 only
Sent Direct ExposuresentDirectExposurefloatNoUSD value of direct exposure from funds sent
Sent Indirect ExposuresentIndirectExposurefloatNoUSD value of indirect exposure from funds sent
Received Direct ExposurereceivedDirectExposurefloatNoUSD value of direct exposure from funds received
Received Indirect ExposurereceivedIndirectExposurefloatNoUSD value of indirect exposure from funds received