POST /v3/transactions/ and GET /v3/transactions/{id}/.
Top-level structure
Key fields
Financial fields
amount/currency— transaction amount as submitted.amount_in_default_currency/default_currency_code— amount converted to your app’s default currency (for cross-currency thresholding).preferred_currency_amount— optional per-rule / per-app preferred reporting currency.
Status fields
status—APPROVED,IN_REVIEW,DECLINED,AWAITING_USER.score— integer score.decision_reason_code/decision_reason_label— structured + human reason for the current status.environment-liveorsandbox, from the application that owns the transaction. Asandboxtransaction is stored but never evaluated, so its emptyrule_runsmeans “not evaluated” rather than “nothing matched”. See Transaction Monitoring in sandbox.
Parties
applicant, remitter, beneficiary, counterparty) has the same shape. See IP enrichment for the enrichment fields.
Payment methods
role: SOURCE, DESTINATION, FUNDING, BENEFICIARY.
type: BANK_CARD, BANK_ACCOUNT, EWALLET, CRYPTO_WALLET, UNHOSTED_WALLET.
Rule runs
matched: false rules appear too, so you can audit selectivity.
Alerts
Provider results
External provider outputs (transaction hash screening, wallet screening, fiat monitoring, sanctions screening).payload.risk_factors is the ranked explanation of score — what produced the verdict, high-risk drivers first and then by value moved. A high score with no is_high_risk entry means the provider graded the entity on its own exposure model without reporting a sanctions or attributed-entity match; summary says so explicitly. Field-by-field reference: Risk factors. Results screened before this field existed omit the key.
For crypto transaction-hash screening, transaction_flows is populated when on-chain enrichment is available. It normalizes chain activity so the console can render both the transaction overview and visualization graph from the same response payload.
Supported enrichment sources:
- EVM chains use Blockscout to normalize the main transaction, internal calls, and token transfers.
- Bitcoin uses mempool.space to normalize transaction inputs and outputs.
- Solana uses Helius to normalize native SOL transfers, SPL token transfers, and available NFT event context.
transaction_flows[] item includes stable normalized fields (flow_type, from_address, to_address, amount, amount_usd, currency, token_name, token_address, transaction_hash, block_timestamp, index, success) plus provider-specific metadata.
Common metadata examples:
metadata is additive and provider-specific. Do not build critical integrations that require every key to be present for every chain.
Travel rule
Only present for virtual-asset transfers.Network snapshot
For crypto transactions,network_snapshot_id points to the stored network graph (nodes, edges, metrics). View the graph in the console transaction detail page.
Tags, notes, metadata
tags[]— attached tags (either by rule action or by analyst).notes[]— analyst notes.metadata— free-form JSON you submitted on the request.custom_values— rule-engine-consumable JSON (typed fields you can reference in conditions).
Remediation
When a rule triggersAWAITING_USER, Didit creates the linked verification session and returns it in two fields:
remediation— the linked session:{ "session_id", "session_token", "url", "status" }. Stays populated for the life of the transaction, so you can always see how the user action ended.action_required— the action the user must take right now, ornullonce nothing is pending:{ "type": "verification_session", "url", "session_id", "session_token", "status" }(Travel Rule wallet-ownership actions use"type": "wallet_ownership"). Redirect the user tourl, or feedsession_tokento a Didit SDK.
transaction.created and transaction.status.updated webhook payloads (action_required) - see webhooks.
Currency conversion
amount_in_default_currency uses mid-market rates from our FX provider at the transaction’s txn_date. Rules that threshold on “amount” operate on amount_in_default_currency by default; rules can opt into the native amount via rule scope.
Next steps
Submit transactions
Full request schema.
Statuses
What each status means.
Risk scoring
How score is computed.