v1.7.39: 12 November 2026
New endpoints
Platform API:
GET /v2/redemptions/networks lists the networks where redemptions can monitor a token contract, with a block explorer link template for each.
GET /v2/redemptions/networks/{network}/contracts/{address} returns the symbol, name and decimals of the token contract at an address. It returns HTTP 404 when the address holds no token contract on that network.
Changed
All APIs:
- The OpenAPI specs list a
Bearer security scheme alongside Authorization: the API key can be sent as Authorization: Bearer <api-key> as well as in the X-API-KEY header.
Data API:
GET /v1/address/balance documents HTTP 400 for an invalid Solana address.
Platform API:
- Redemption register entries return
network, token_contract and burn_tx_url on GET /v2/redemptions, GET /v2/redemptions/{id}, POST /v2/redemptions/{id}/payout and POST /v2/redemptions/{id}/dismiss.
GET /v2/accounts/transfers, GET /v2/accounts/transfers/{transferId} and GET /v2/accounts/{id}/transfers return source_category and destination_category on each transfer event.
GET /v2/audit-events and GET /v2/audit-events/export accept workspace_settings as a category filter value.
GET /v1/risk/alert-rules search_string also matches a rule’s stored parameter values, not only its name.
POST /v2/addresses/list documents HTTP 400 for an invalid Solana address.
Risk API:
GET /v2/risk/address response schema documents per-signal severity and volume_covered, Bitcoin in address_active_on, and copy when volume data is missing.
GET /v1/risk/sanctions/{address} declares a minimum length of 26 characters on the address path parameter.
POST /v1/simulate/solana/transaction and POST /v1/simulate/solana/transactions document HTTP 200 with the simulation result and HTTP 400 for a payload that cannot be decoded.
v1.7.37: 28 October 2026
Breaking changes
Platform API:
GET /v2/accounts/transfers status filter values changed to success, errored, pending. The previous uppercase values (PENDING, CONFIRMED, FAILED) now return HTTP 400.
New endpoints
Data API:
GET /v2/cross-chain/transfers/by-hash/{tx_hash} returns the cross-chain transfer for a hash from either leg, with both legs, matched_leg and the asset actually delivered. A Circle Gateway deposit hash also finds the transfers it funded, plus a DEPOSITED item for the deposit while it is not wholly linked. See Cross-Chain Lookup.
GET /v2/cross-chain/coverage lists the protocols the lookup covers and, per network, covered_from and indexed_through.
Changed
Data API:
- Generated page titles use sentence case on
GET /v1/network/balances and GET /v1/network/net-flow-by-protocol. GET /v2/address/fundedBy is titled “Get address funding details (full history)” so it no longer collides with the v1 fundedBy page. GET /v2/transfers/enrichment/lookup summary is “Look up workspace note and category for a transfer”.
GET /v1/network/transactions/counts now declares networks, interval and buckets as required query parameters.
Platform API:
POST /v2/counterparties/{id}/documents accepts PDF, CSV, or plain text uploads (max 10 MB).
Risk API:
POST /v2/risk/transaction/scan raises the transaction limit from 4,096 to 5,596 characters.
v1.7.35: 21 October 2026
New endpoints
Platform API:
- Full agreement reconciliation:
GET /v2/reconciliation/full-agreement (month view), GET .../lines.csv, GET .../movements.csv, GET .../report.pdf, GET .../wallets/{accountId}, and POST .../sign-off.
- CARF workflow configuration and run controls under
/v2/workflows/{workflowId}/carf/* and /v2/workflows/runs/{runId}/carf/* (rules, settings, annual exports, held-run save/send, run transfer list).
POST /v2/cases/{id}/repair and POST /v2/cases/{id}/resync for agreement-case wallet repair and ledger resync.
POST /v2/account-connections/bookkeeping/{connectionId}/journals to push a journal entry to a linked ledger connection.
Changed
Data API:
GET /v2/transfers status filter accepts UNPAIRED and REFUNDED.
Platform API:
GET /v2/parties/{id}/accounts accepts optional connection_kind. cursor is documented as a UUID.
POST /v2/workflows/runs/custom documents CARF periods as any whole-day Europe/London range up to 366 days, and full-agreement runs may omit the period to compute the month so far.
v1.7.34: 20 October 2026
Networks
Data API:
- Arc (
arc) and Tempo (tempo) return indexed transfers through GET /v2/transfers. GET /v1/address/transactionsCount counts transfers on these networks, with unit: transfers; GET /v1/address/transactions does not provide transaction history for either network.
Risk API:
- Arc and Tempo return payment assessments through
GET /v1/risk/payment for the sampled address pairs. This does not establish complete transaction graph coverage for Address Risk. See the Risk coverage matrix for operation-specific limitations.
Removed endpoints
Range AI:
POST /v1/mcp and GET /v1/sse return 404. Use https://api.range.org/ai/mcp over Streamable HTTP.
v1.7.32: 14 October 2026
New endpoints
Platform API:
GET /v2/audit-events and GET /v2/audit-events/export list or export workspace audit events (admin session). Filter by category and actor.
GET /v2/redemptions/jurisdictions lists redemption jurisdictions (timezone, cutoff, holiday calendar).
- Screening (beta):
GET /v2/screening/catalog; GET and POST /v2/screening/checks; GET /v2/screening/checks/{check_id}; POST /v2/screening/checks/{check_id}/cancelled and /executed; GET /v2/screening/counterparties; GET, POST, and batch POST /v2/screening/clients/{client_entity_id}/counterparties; DELETE one approved counterparty.
New fields
Platform API:
- Cases include
client_entity_id, autopilot_status, autopilot_recommendation, and (on the detail) autopilot. List items also include counterparty_deleted. source_type adds transaction_screening and counterparty_screening. PATCH /v2/cases/{id} accepts note.
GET /v2/cases accepts client_entity_id and read.
AccountDto may include import_notes. Redemption register items include jurisdiction.
POST /v2/account-connections accepts type meow, chainalysis, and notabene. The list kind filter also accepts travel_rule.
Documentation
These match live behavior. They do not change response types, fields, nullability, or shapes.
Data API:
GET /v1/address and GET /v1/address/info mark address and network required, as the runtime already did (400 without them).
GET /v2/transfers/enrichment/lookup documents lookup by transferId or by txHash and optional network, and documents 400 when neither is sent.
- Generated page titles use sentence case.
GET /v2/entities is “List entity details”. GET /v2/address/fundedBy shares its title with the v1 fundedBy page.
Risk API:
GET /v1/risk/payment documents 400. Generated page titles use sentence case.
v1.7.31: 7 October 2026
New endpoints
Platform API:
POST /v2/cases/read-all marks cases created at or before a cutoff as read for the calling user.
DELETE /v2/cases/{id} deletes a case.
POST and GET /v2/parties/{id}/counterparties create or list counterparties owned by a client entity.
/v2/redemptions: list, counts, CSV register, get, candidates, payout, and dismiss for T+1 redemption monitoring.
New fields
Platform API:
- Case counts include
unread. PATCH /v2/cases/{id} accepts read. Case viewed means read-for-caller in list responses.
- Case
source_type adds tie_out_break, corridor_discrepancy, and redemption. Resolution adds paid. Timeline actions add deleted, tie_out_observed, and corridor_observed.
- Entities accept
persons_of_interest. Client entities expose client_id on counterparty rows.
AccountDto may include transfer_attribution, redemption_monitor, and carf_uk_xml registration markers.
- Workflow templates include
transfer-attribution (and corridor reconciliation). Custom runs mention transfer-attribution period boundaries.
Behavior changes
Platform API:
- Custom workflow runs (
POST /v2/workflows/runs/custom) accept transfer-attribution day/month/year periods alongside CARF and treasury-statement.
v1.7.29: 2 October 2026
Breaking changes
Platform API:
POST /v2/workflows no longer accepts email or report_mode. Destinations are optional: send channel_id or recipients, or create the instance and configure delivery later. A request that includes report_mode returns 400.
PUT and DELETE /v2/workflows/templates/{template}/accounts/{account_id} are removed. List registrations with GET /v2/workflows/templates/{template}/accounts.
New endpoints
Platform API:
POST /v2/account-connections/xero/authorize-url. POST /v2/account-connections also accepts type xero and merkle_science.
POST /v2/accounts/{id}/transfers/resync resyncs one account past the lookback window.
PUT /v2/accounts/{id}/team assigns an account to a team or detaches it. DELETE /v2/teams/{teamId}/accounts detaches every account in that team.
/v2/parties: create, list, get (including GET /v2/parties/self), update, and delete register entities. GET and PUT /v2/parties/{id}/accounts list or attach accounts.
GET /v2/corridors lists cross-chain corridors between the workspace’s own accounts.
POST /v2/reconciliation/multi-source.
POST /v2/transactions/evaluate evaluates an unsigned transaction against the treasury policies.
POST /v2/workflows/runs/custom queues a run with explicit UTC period boundaries.
New fields
Platform API:
AccountDto includes team, entity_id, and entity. Account list filters accept entity_id and entity_types. Add or update account bodies accept entity_id.
- Treasury cash-flow, summary, and forecast include
leg_count and spot_priced_leg_count.
- Roll-forward statements include
synced_through.
- Case list items include
available_actions.
Risk API:
GET /v1/risk/sanctions/{address} returns is_sanctioned, lists_checked, and sanctions (one entry per list, with basis direct or indirect). is_sanctioned is null when a list could not be read and none was found. Treat lists_checked: false as unknown.
Behavior changes
Risk API:
- Sanctions
network accepts ethereum, tron, solana, base, arbitrum, optimism, polygon, and avalanche. It does not narrow the check. Any other value returns 400.
- Issuer blacklist monitoring covers Tether, Circle, Coinbase, PayPal, Paxos, Agora, and Ripple on Ethereum, Tron, Solana, Base, Arbitrum, Optimism, Polygon, and Avalanche.
Data API:
GET /v1/address/fundedBy and GET /v2/address/fundedBy return 404 when no funder is found, and 503 when a funding source fails.
GET /v1/address/balance token_contracts accepts at most 30 contracts.
v1.7.27: 23 September 2026
Breaking changes
Risk API:
GET /v2/risk/address and GET /v2/risk/address/batch no longer return meta (ScreenMetaDto timings). signals still selects which catalog ids run, and that selection is not echoed on the response.
Platform API:
- Removed the CADOC prototype report routes:
GET /v2/reports/custody/daily, GET /v2/reports/reserves/monthly, GET /v2/reports/filings, and POST /v2/reports/filings/{id}/resend. Read stored output from workflow runs.
AccountDto no longer returns cadoc_5710 or cadoc_5711.
New endpoints
Platform API:
- Custom connections (
type: custom): POST /v2/account-connections/{id}/accounts, POST .../snapshots, POST .../movements, DELETE .../snapshots/{snapshotId}, DELETE .../movements/{movementId}, GET .../revisions, POST .../imports, and GET .../imports/{importId}. Push accounts, balance snapshots, and movement legs, or import CSV, CAMT.053, or a zip and poll the result.
- Workflow runs:
GET /v2/workflows/runs, GET /v2/workflows/runs/{id}, GET /v2/workflows/runs/{id}/output, and POST /v2/workflows/runs/{id}/rerun.
- Workflow template accounts:
GET /v2/workflows/templates/{template}/accounts, plus PUT and DELETE /v2/workflows/templates/{template}/accounts/{account_id}.
DELETE /v2/workflows/{id} archives an instance, cancels pending work, and keeps run history.
New fields
Data API:
GET /v1/address/balance: hidden_count, how many tokens the workspace whitelist removed from balances.
Platform API:
AccountDto: books (house or client), hidden_count, and hidden_usd. sync_unavailable_reason may be account_unsupported.
POST /v2/accounts/refresh and POST /v2/accounts/transfers/sync accept optional account_ids. Omit the field, or send an empty array, to cover every account in the workspace. An id outside the workspace returns 404.
PUT /v2/accounts may return sync_batch_id when the request added accounts.
- Balance refresh failures include
ref, an opaque id for support.
- Workspace and address-list balance entries include
hidden_count.
- Connection
type includes custom.
- Workflow templates include
kind (deterministic or agent). Run objects include tx_sync_status, cases, and sync.
POST /v2/workflows accepts channel_id or email (one is required), optional recipients (existing delivery channel ids), and report_mode (always or exception_only).
Behavior changes
Risk API:
GET /v2/risk/config: a workspace with no stored config is seeded with catalog defaults on first read, and that config is returned.
GET /v2/risk/history: a bare date, or a date-time with no Z or offset, is UTC. A bare to date includes the whole UTC day.
Platform API:
GET /v2/workflows: omit kind to list the CADOC templates. Pass kind=agent for Autopilot templates.
v1.7.24: 17 September 2026
Breaking changes
Platform API:
GET / PUT /v2/policies are removed. CADOC subscriptions move to workflow instances: GET / POST /v2/workflows and PATCH /v2/workflows/{id}.
New endpoints
Platform API:
GET / POST /v2/workflows and PATCH /v2/workflows/{id}: list CADOC workflow templates and workspace instances; create or update an instance (recipients, cadence, formats, CNPJ fields).
GET /v2/reports/filings and POST /v2/reports/filings/{id}/resend: list stored CADOC filings and re-email a generated filing.
New fields
Data API:
GET /v2/transfers response meta may include own_feed_truncated when the Solana own-feed address set exceeded the fan-out cap.
Platform API:
GET /v2/reports/custody/daily: optional workflow_id selects which workflow instance’s CNPJ / recipients drive the document.
GET /v2/cases / case DTOs: source_type gains regulatory_filing; subject type gains workflow.
Risk API:
POST /v2/simulate/evm: response may include safe (Safe metadata, signatures_assumed, batch_state) and batch (per-MultiSend entry status and effects).
Behavior changes
Risk API:
POST /v2/simulate/evm simulates unsigned Safe execTransaction (and MultiSend batches) before signatures exist, on the same seven EVM networks as before.
GET /v2/risk/history: sort=newest orders by each assessment’s timestamp field (not the internal queried_at column).
Data API / Platform API:
- Workspace transfer
direction (and the accounts-transfers direction filter) treats a multisig’s fund-holding vault / treasury / smart-account addresses as owned, not only the saved Account identity.
v1.7.22: 9 September 2026
New endpoints
Risk API:
POST /v2/simulate/evm: simulate an unsigned EVM transaction at the latest block. Networks: eth, arb1, base, oeth, pol, bnb, avax. A reverted transaction is HTTP 200 with status: reverted. Asset objects include icon_url.
Platform API:
GET /v2/treasury/cash-flow: bucketed inflow / outflow / net over a caller-chosen window (day, week, or month). Flows are gross: a movement between two of your own accounts counts once as inflow and once as outflow.
GET /v2/risk/alert-packs and GET /v2/risk/alert-packs/{pack_type}: browse multisig alert packs (e.g. squads, safe) and their member templates. Optional network query prefers that chain when a rule type is registered on several.
New fields
Risk API:
GET /v2/risk/history: severity query (set membership, not a threshold: severe, high, medium, low, none) and sort (newest default, or severity for worst-first). Metadata echoes filtered_severity and applied_sort.
Platform API:
GET /v2/accounts/transfers: direction query (in, out, internal) and a workspace-level direction field on CanonicalConnectionTransactionDto. Per-account GET /v2/accounts/{id}/transfers is unchanged.
GET /v2/reconciliation/roll-forward: required tie_out_status (tied, explained, break, not_evaluated) on each asset line and account statement.
Data API:
TransactionDto.fee: network fee paid (amount, denom). Omitted on networks without fee data. Distinct from CanonicalConnectionTransactionDto.fee on connection transactions.
Behavior changes
Platform API:
GET /v2/treasury/summary and GET /v2/treasury/forecast: in/out/net flows are gross (an internal movement counts on both sides).
Data API:
- Native balances on
apechain and berachain now resolve symbol, decimals, and USD instead of raw wei.
v1.7.21: 3 September 2026
Breaking changes
Platform API:
- Connection provider
octav is removed. DeFi protocol positions are enriched onto onchain wallets by Range; they are no longer a customer-supplied connection type.
TreasurySummaryComparisonDto.total_funds_usd and total_funds_delta_usd are nullable. historical_balances can be partial. New required field accounts_compared is the like-for-like subset used for those totals.
Risk API:
- Alert event
details returns only message (the human-readable alert sentence), not arbitrary structured data.
Data API:
GET /v1/address/fundedBy 200 body is now FundedBy (was incorrectly documented as AddressStats). Description states this path is Elasticsearch-only; ClickHouse first-funder lookup is GET /v2/address/fundedBy.
New endpoints
Data API:
GET /v2/address/fundedBy: first inbound funder. On range2 EVM chains (eth, base, arb1, pol, bnb) the answer is served from ClickHouse full history.
Risk API:
POST /v2/risk/transaction/scan: pre-signature Solana scan that simulates the unsigned payload, screens counterparties through Address Risk v2, checks poisoning, and extracts intent. Evidence is retrievable via GET /v2/risk/evidence/{screenId}.
GET /v2/risk/transaction/scans: list recent scans for the workspace. Reads stored scans and consumes no scan credits.
Platform API:
POST /v2/intents/evaluate / GET /v2/intents/policies: evaluate a proposed transaction against Range treasury policies (blocking; no warn tier).
GET /v2/reconciliation/roll-forward: roll-forward balance reconciliation for a requested period.
GET /v2/reports/custody/daily / GET /v2/reports/reserves/monthly: CADOC 5711 / 5710 prototype reports.
GET / PUT /v2/policies: list and upsert CADOC policy subscriptions.
- Bookkeeping open items:
POST …/open-items/sync, GET …/open-items, GET …/open-items/{id}.
New fields
Risk API:
GET /v2/risk/address and GET /v2/risk/address/batch: optional signals query (comma-separated catalog ids). Echoed on meta.signals when passed.
GET /v1/risk/alert-events/{event_id}: squads, a decoded Squads proposal (null for non-Squads events).
Platform API:
CanonicalConnectionTransactionDto.fee: network fee in native-asset base units (amount, denom), onchain only.
AccountDto / account update: regulatory, cadoc_5710, cadoc_5711.
AccountBalance: price_source, price_updated_at.
Data API:
AddressDetails.entity_name: human-readable entity display name.
TxnCounts.unit: whether transactionsCount was aggregated from transactions or transfers.
Behavior changes
Platform API:
POST /v2/accounts/refresh skipped also covers accounts whose connection provider is no longer supported.
Risk API:
GET /v2/risk/evidence/{screenId} also resolves a screen_id issued by POST /v2/risk/transaction/scan, returning scan-shaped evidence.
v1.7.20: 26 August 2026
Breaking changes
Platform API:
GET /v2/accounts/{id} summary (and generated page slug) changed from “Get account by address” to “Get account by id”. The path is unchanged. A redirect covers the old URL.
AccountDto.name is nullable. Omit name when creating an account to leave it unnamed; an empty string is rejected.
Data API:
POST /v2/transaction-categories summary shortened to “Create a custom transaction category” (idempotency moved into the description). The generated page slug changes; a redirect covers the old URL.
GET /v1/address/balance 200 body is now AddressBalanceResponseDto: lookup_status (ok / partial / unavailable / unsupported) and reason travel on every response, so a failed lookup is no longer indistinguishable from a genuinely empty address.
New endpoints
Data API:
POST /v2/connections/subgraph: induced subgraph. Given a set of addresses (2-50), returns only the sibling-to-sibling edges between them. meta.failed_nodes counts nodes whose counterparty lookup failed or timed out.
GET /v2/multisig/memberships: reverse lookup of Safe multisigs a signer address co-signs. Squads/Altitude/Realms are not covered yet.
New fields
Platform API:
- Accounts (
AccountDto) and workspace balances: last_balance_refresh_at, last_balance_refresh_status (succeeded / failed / unsupported), last_balance_refresh_reason (stable machine code). Distinct from sync_status, which tracks transaction-history sync.
GET /v2/accounts/{id}: show_all=true restores the unfiltered balance shape, ignoring the workspace token whitelist.
- Connection provider
copper (custodian), with CreateAccountConnectionCopperCredentialsDto (api_key, api_secret, optional environment).
- Account transfers:
CanonicalConnectionTransactionDto.account (identity only, no balances); transfer legs gain source_label / destination_label, source_malicious / destination_malicious, and icon URL arrays.
POST /v2/accounts/refresh: skipped count and per-failure reason_code.
GET /v2/accounts/tokens: usd_string on each token (exact USD sum).
GET /v2/addresses/list/{hash}/balances: per-entry lookup_status and reason.
Data API:
GET /v1/address/balance entries: amount_string, base_amount, decimals, plus usd_string / price_string when priced. Legacy amount remains as a JSON number.
GET /v2/transfers: direction query filter (in, out, internal; comma-separated). Requires only_workspace=true. Direction is classified against every workspace account, including when group_ids narrows the result set.
Behavior changes
Platform API:
- Account transfer
start_time / end_time are a half-open UTC period [start, end). A date-only YYYY-MM-DD is that UTC calendar day; an ISO value with a time is an instant and is not expanded.
Risk API:
- Solana Risk v2 behaviors now run on the same ClickHouse path as EVM. Redis velocity is no longer used on v2. No endpoint or catalog shape change.
v1.7.19: 19 August 2026
Breaking changes
Platform API:
- Account transfer list, get, category, and sync endpoints renamed from
/v2/accounts/transactions* to /v2/accounts/transfers*. Path parameter {transactionId} is now {transferId}. GET /v2/accounts/{id}/transactions is now GET /v2/accounts/{id}/transfers.
New endpoints
Platform API:
PATCH /v2/accounts/transfers/{transferId}/note: set or clear a user-authored note on a persisted account transfer. The note field is required (send null or "" to clear); max length 500. The note survives provider re-syncs.
POST /v2/account-connections/{id}/plaid/reconnect-link-token: mint a Plaid Link update-mode token to re-authenticate a Plaid item without deleting the connection.
New fields
Platform API:
- Connection transfers (
CanonicalConnectionTransactionDto): note, a user-authored string. null when unset.
GET /v2/accounts/transfers: account_ids filter (comma-separated UUIDs). Supersedes account_id when both are sent.
GET /v2/account-connections/{id}/status documents reason on failure: reauth_required, provider_unavailable, or unknown.
GET /v2/accounts chain and account-update network now take canonical Range slugs (eth, bnb, solana); known aliases (ethereum, binance, …) are normalized. Off-chain balances use the sentinel off_chain.
Risk API:
GET /v2/risk/history metadata: filtered_address, the normalized address the address filter matched on. Omitted when no address filter was supplied.
- Screening timings (
ScreenMetaDto): solana_address_risk_ms.
GET /v2/risk/signals: catalog adds behavior fraud-ml-liquidity-rug (Solana liquidity-rug / abandoned-pool ML score; default severity medium; thresholds 0.75 / 0.85 / 0.90 / 1.0).
Behavior changes
Platform API:
GET /v1/risk/alert-templates search_string also matches template tags.
- Plaid connections can be reconnected in place after
ITEM_LOGIN_REQUIRED via the new reconnect-link-token endpoint; rotating credentials will not fix that failure.
v1.7.18: 14 August 2026
New endpoints
Platform API:
GET /v2/workspace/usage/daily: last 30 UTC days of API credit and request counts for the caller workspace, oldest first. Days with no traffic are returned with zero counters rather than omitted.
v1.7.17: 13 August 2026
Breaking changes
Platform API:
- Account transaction list, get, category, and sync endpoints moved from
/v2/account-connections/transactions* to /v2/accounts/transactions*. GET /v2/account-connections/{id}/transactions is replaced by GET /v2/accounts/{id}/transactions. Sync now enqueues one job per workspace account, including standalone Solana accounts with no connection.
AccountConnectionDto no longer returns last_synced_at, sync_status, or sync_unavailable_reason. Those fields now live on AccountDto.
New fields
Platform API:
- Accounts (
AccountDto): last_synced_at, sync_status, and sync_unavailable_reason for per-account transaction sync. Always present on persisted account responses; omitted on connection-preview stubs.
- Connection transactions (
CanonicalConnectionTransactionDto): provider is nullable. null means the row was sourced onchain rather than from a connection provider.
- Workspace account transactions (
GET /v2/accounts/transactions): network filter. Restricts onchain rows to the given networks; connection rows (banks, exchanges, custodians) are always returned.
Data API:
- Transfers (
TransferDto): direction is in, out, or internal relative to the workspace’s saved addresses. null when the request has no workspace context or neither party is a saved address.
Behavior changes
Platform API:
POST /v1/risk/alert-rules/pack: pack_address is optional. When present it drives the duplicate-pack 409 soft-warn and list grouping; membership is keyed on pack_id.
GET /v2/accounts/transactions categories filter matches category labels or catalog ids (labels are case-insensitive).
Data API:
GET /v1/address/balance, GET /v1/address/assetFlow, and GET /v2/transactions accept optional workspace_id to filter by that workspace’s token whitelist, and show_all=true to restore the unfiltered response. GET /v2/transfers accepts workspace_id for client compatibility; auth still comes from the API key.
v1.7.16: 5 August 2026
Breaking changes
Data API:
GET /v1/address/assetFlow now returns an array of per-day, per-token asset flow entries instead of a single object. Each entry carries a net delta plus, depending on source, either the absolute balance snapshot or the received/sent split it was derived from.
GET /v2/transfers with only_workspace=true also applies own-feed token whitelist filtering: transfers hidden by the workspace token whitelist are excluded. Pass show_all=true to restore the previous unfiltered response.
Platform API:
- Counterparty addresses (
CounterpartyAddressDto) no longer return name. Use label for the human-readable annotation and id to reference the address in PUT /v2/counterparties/{id}/addresses operations.
- Balances are now filtered by the workspace token whitelist by default on
GET /v2/accounts, GET /v2/accounts/concentration, GET /v2/addresses/list/{hash}/balances, and GET /v2/addresses/workspace/balances. Pass show_all=true to restore the previous unfiltered response.
New endpoints
Platform API:
- Case management:
GET /v2/cases, POST /v2/cases, GET /v2/cases/counts, GET /v2/cases/{id}, PATCH /v2/cases/{id}, PATCH /v2/cases/bulk, POST /v2/cases/{id}/comments, GET /v2/cases/{id}/timeline, POST /v2/cases/{id}/investigations, GET /v2/cases/{id}/investigations, POST /v2/cases/{id}/escalate
GET /v2/treasury/summary and GET /v2/treasury/forecast: treasury KPIs and cash forecast
GET /v2/token-whitelist and PATCH /v2/token-whitelist: read and patch the workspace token whitelist
GET /v2/accounts/tokens: enumerate manageable tokens
POST /v2/account-connections/wise/profiles: list the Wise profiles a token can reach
POST /v1/risk/alert-rules/pack: create a multisig alert rule pack
Data API:
DELETE /v2/transaction-categories/{id}: delete a custom transaction category
New fields
Platform API:
- Account connections (
AccountConnectionDto): provider_display_name, the canonical brand label for type (okx → OKX, plaid → Bank, gate → Gate.io), also present on the per-provider *ConnectionDetails objects; and sync_unavailable_reason, set to provider_region_unsupported when the provider cannot serve transaction history for the account’s country. Balances are unaffected and keep syncing, so this is not a broken connection or a bad credential.
- Alert rules (
AlertRuleDto): pack_id, pack_type, pack_label, and pack_address for multisig rule packs. GET /v1/risk/alert-rules accepts matching pack_id and pack_type filters.
- Alert templates (
AlertTemplateDto, TemplateGroupDto): packs.
- Account balances (
AccountBalance): denom, the raw onchain denom (contract address, mint, or IBC denom) the balance line was fetched under. Absent for exchange and custodian sources, which have no onchain denom, and for balances persisted before the field existed.
Risk API:
- Behavior results (
BehaviourSignalResultDto): ignored, true when the workspace set the behavior to detect-only. Reported for visibility and excluded from the screen severity.
- Risk configuration (
RiskConfigSpecDto, PatchRiskConfigDto): case_auto_create, controlling whether a screen at or above min_tier auto-creates a case.
Behavior changes
Risk API:
GET /v2/risk/history accepts an address filter to restrict the page to screens requested for one address; limit=1 then returns just the latest screening for it. The value is normalized exactly as GET /v2/risk/address normalizes it, so equivalent forms of the same address match the same records. metadata.total reflects the filtered count.
Platform API:
- Account and counterparty writes normalize before validating:
network is trimmed and lowercased, addresses are trimmed only (several supported chains are case-sensitive, so lowercasing corrupts them). Malformed address and network values are rejected rather than stored. Counterparty address network is stored and echoed back lowercased regardless of the casing submitted.
- Unpriced Tron tokens report
null USD instead of $0. EVM native-balance failures now propagate instead of reporting $0; when only the native lookup fails, the token half of the response is still returned.
GET /v2/accounts/concentration only refreshes balances when refresh=true.
v1.7.15: 30 July 2026
New fields
Platform API:
- Connection transactions (
CanonicalConnectionTransactionDto): provider_transaction_id on persisted reads; id is the stable DB row id on persisted reads (provider-native id on live adapter responses). transaction_id matches id when present.
Behavior changes
Data API:
- Duplicate OpenAPI operation summaries made unique so Mintlify pages no longer collide on slugs (
Get Address Details, Get Address Info with Risk Score, Get Asset Flow for an Address, Get Top USD/Asset Balances by Address, Get Connections by Address).
v1.7.14: 29 July 2026
New account-connection providers
Platform API:
fordefi: custodial wallets via API User bearer token
coins_ph: Coins.ph exchange accounts via API key and secret
fireblocks: Fireblocks custody via API user id and RSA private key (optional region)
pave_bank: Pave Bank accounts via OAuth client credentials (optional environment)
quickbooks: QuickBooks Online ledger connection (kind: ledger) via OAuth authorize URL + realm/state
New endpoints
Platform API:
POST /v2/account-connections/quickbooks/authorize-url: start QuickBooks OAuth; returns authorize_url and CSRF state
GET /v2/account-connections/transactions/sync/status: poll a sync batch (batch_id); authoritative completion is complete
GET /v2/account-connections/bookkeeping/{connectionId}/counterparties: preview customers/vendors from a ledger connection
GET /v2/account-connections/bookkeeping/{connectionId}/categories: preview P&L category candidates from a ledger connection
Data API:
GET /v2/transaction-categories: list default + workspace-custom transaction categories
POST /v2/transaction-categories: create a custom category (idempotent on name)
PUT /v2/transaction-categories/{id}: rename a custom category
New fields
- Account connections gain
kind (account | ledger), last_synced_at, and sync_status; GET /v2/account-connections accepts kind (defaults to account)
GET /v2/addresses/workspace/balances: each balance includes account_id (joins to AccountDto.id); response schema is WorkspaceBalancesResponseDto
AssetBalanceDto / account balance payloads: amount and usd are decimal strings (usd is null when unknown); assets gain name
- Counterparties list: optional
include_addresses=true returns each counterparty’s saved addresses inline
- Risk v2 config behaviors: optional
tokens[] on watched-token (max 200)
GET /v2/risk/signals: each attribution signal includes a description; catalog adds eight signals (ransomware, eu-sanctioned, eu-sanction-ru, uk-sanctioned, japan-sanctioned, france-sanctioned, fbi-fraud, nbctf-terror-financing) and behaviors token-activity / watched-token
Behavior changes
- Altitude-connected accounts classify as
bank (previously multisig)
- Transfer enrichment category upserts accept any workspace-resolved category name (defaults ∪ custom), not a fixed enum; defaults gain
Swap and Airdrop
- Range MCP: 85 tools, adding documentation tools (
get_range_overview, search_documentation, get_documentation) and four mutating tools (add_accounts, create_counterparty, add_counterparty_addresses, create_alert_rule) gated to workspace members with EDITOR role or higher
v1.7.13: 22 July 2026
New endpoints
Platform API:
GET /v2/account-connections/transactions/{transactionId}: fetch one persisted connection transaction by id
GET /v2/multisig/details: stateless multisig read (config, members, balances, pending proposals) without saving a connection
New fields
POST /v2/accounts/refresh: response gains failures[] (account_id, label, reason), always present; length matches failed
Behavior changes
POST /v2/account-connections (Safe / Squads / Realms): failed multisig resolve returns a classified error body with code one of invalid_address, multisig_not_found, wrong_network (Safe only), or upstream_unavailable
GET /v2/risk/address / batch: rejects inputs that cannot be a real address (empty, too short/long, whitespace, or characters outside address alphabets) with 400 instead of scoring them as severity: none
GET /v2/risk/signals: velocity behavior description updated to pass-through / money-mule framing (EVM Risk v2 now uses ClickHouse Rule B + Rule A; Solana keeps Redis velocity)
v1.7.11 (hotfix): 17 July 2026
New account-connection providers
Data API:
altitude: connect Squads-based Solana smart accounts via a deposit or Settings address
revolut_business: connect Revolut Business accounts via OAuth refresh token and API certificate
turnkey: connect Turnkey-managed wallets via API key pair and organization id
New endpoints
PATCH /v2/account-connections/transactions/{transactionId}/category: set a user-assigned category label on a persisted connection transaction. The category survives subsequent provider re-syncs.
GET /v2/accounts/concentration: asset, venue, and network concentration computed over the stored balances of the caller workspace accounts (refresh=true to refresh balances first).
New fields
GET /v2/account-connections/transactions: response gains meta.next_cursor; new cursor, start_time, end_time, status, min_usd, max_usd, string_search, account_id, group_ids, and categories filters.
- Canonical connection-transaction objects gain
transaction_id, usd_amount, and category.
Behavior changes
GET /v2/account-connections/transactions: pagination is now cursor-based (meta.next_cursor / ?cursor) instead of an unpaginated “recent activity” list.
v1.7.11: 15 July 2026
New account-connection providers
Data API:
octav: track DeFi protocol positions (lending, staking, LP, and more) across up to 20 EVM wallet addresses
New fields
GET /v2/accounts, GET /v2/accounts/{id}: AccountType gains defi (used by octav connections).
GET /v1/risk/alert-events: added alert_rule_id filter to narrow events to a specific alert rule.
Behavior changes
POST /v2/account-connections/{id}/transactions/sync is replaced by POST /v2/account-connections/transactions/sync: instead of syncing one connection synchronously, it now enqueues an async background job per connection across the whole workspace and returns immediately (202) with a batch id. No longer limited to Kraken; works for every persisted provider.
GET /v2/account-connections/{id}/transactions: now reads exclusively from persisted transaction history for every provider (previously fell back to a live provider fetch for non-persisted connections). Run the sync endpoint above first to populate history for a newly connected account.
v1.7.10: 14 July 2026
New account-connection providers
Data API:
binance: connect Binance accounts via API key and secret
okx: connect OKX accounts via API key, secret, and passphrase
bybit: connect Bybit accounts via API key and secret
bitget: connect Bitget accounts via API key, secret, and passphrase
gate: connect Gate.io accounts via APIv4 key and secret
kucoin: connect KuCoin accounts via API key, secret, and passphrase (optional api_key_version, defaults to 3)
New fields
GET /v2/account-connections, GET /v2/account-connections/{id}: Squads pending-proposal entries gain approved and rejected (arrays of signer pubkeys). Absent on connections persisted before this field existed, until their next refresh.
Behavior changes
POST /v1/risk/alert-rules: name is now required (previously optional).
PATCH /v1/risk/alert-rules/{rule_id}: name, if provided, must be non-empty.
v1.7.9: 8 July 2026
New account-connection providers
Data API:
anchorage: connect Anchorage-custodied wallets
dfns: connect Dfns-managed wallets (dfns_custody: organization or end_user)
New fields
GET /v2/accounts, GET /v2/accounts/{id}: AccountDto gains balances_usd (total USD value across balances, null when no asset has a known price) and balances_updated_at.
GET /v2/addresses/{address}/balances: each balance entry gains updated_at (omitted when never refreshed).
GET /v1/risk/alert-rules, GET /v1/risk/alert-rules/{rule_id}: AlertRuleDto gains alert_template, the full template the rule was created from (null if the template has since been removed).
Behavior changes
GET /v1/risk/alert-templates: response reshaped from a flat, cursor-paginated list of templates to groups, one entry per rule type with the networks and per-network template IDs it covers (groups[].templates[].template_id). The limit and cursor query params are removed; network/search_string/tags filtering still applies.
v1.7.8: 1 July 2026
New endpoints
Risk API / Alerting:
GET /v1/risk/channels, POST /v1/risk/channels, PUT /v1/risk/channels, GET /v1/risk/channels/{channel_id}, DELETE /v1/risk/channels/{channel_id}: manage alert delivery channels (Slack, Telegram, Discord, webhook, PagerDuty, email, Incident.io)
GET /v1/risk/alert-templates, GET /v1/risk/alert-templates/{template_id}: browse alert rule templates
GET /v1/risk/alert-rules, POST /v1/risk/alert-rules, GET /v1/risk/alert-rules/{rule_id}, PATCH /v1/risk/alert-rules/{rule_id}, DELETE /v1/risk/alert-rules/{rule_id}, PUT /v1/risk/alert-rules/{rule_id}/channels: create and manage workspace alert rules and their channel subscriptions
GET /v1/risk/alert-events, GET /v1/risk/alert-events/{event_id}: list and retrieve fired alert events
New account-connection providers
Data API:
cubist: connect Cubist-custodied wallets
privy: connect Privy-managed wallets
Updated parameters
GET /v2/account-connections/transactions: added tokens filter (comma-separated asset symbols, matched against each transaction’s displayed asset). size now caps the merged, newest-first result across all connections, rather than being applied to each connection independently.
GET /v2/account-connections/{id}/transactions: account_id must be the Range account UUID.
Behavior changes
- Alert channels now report
enabled (your on/off toggle) and connected (delivery readiness) separately. A Telegram channel is connected: false until its chat is linked; disabled channels are still returned by GET /v1/risk/channels (only deleted channels 404).
AlertRuleDto.parameters is now a flat object (e.g. { "threshold": 90 }) instead of an array of { field, value } pairs.
v1.2.0: 14 May 2026
New endpoints
Data API:
GET /v2/account-connections: List account connections
POST /v2/account-connections: Create an account connection
GET /v2/account-connections/{id}: Get account connection by ID
GET /v2/account-connections/{id}/status: Get connection status
DELETE /v2/account-connections/{id}: Delete an account connection
POST /v2/account-connections/plaid/link-token: Generate a Plaid link token
GET /v2/accounts: List accounts
GET /v2/accounts/{id}: Get account by ID
PUT /v2/accounts: Update accounts
GET /v2/groups: List groups
POST /v2/groups: Create a group
PUT /v2/groups/{id}: Update a group
DELETE /v2/groups/{id}: Delete a group
Updated parameters
GET /v2/transfers: added tx_hashes filter
v1.1.2: May 2026
New endpoints
Data API:
POST /v2/addresses/list: Store an address list
GET /v2/addresses/list/{hash}: Retrieve an address list
GET /v2/addresses/list/{hash}/balances: Balances for an address list
GET /v2/connections/byAddress: Address counterparties
GET /v2/connections/transfers: Transfers between two addresses
GET /v2/screening/addresses/{address}/risk: Address risk (auto-detect network)
GET /v2/screening/{network}/addresses/{address}/risk: Address risk (explicit network)
GET /v2/tokens/mints-burns: Token mint and burn events
GET /v2/tokens/summary: Token summary
GET /v2/tokens/top-holders: Top holders for a token
GET /v2/tokens/total-supply: Total supply for a token
GET /v2/transactions: List transactions
GET /v2/transactions/{id}: Get transaction by ID
GET /v2/transactions/by-network/{network}/{hash}: Get transaction by network and hash
GET /v2/transfers/top-assets: Top assets by transfer volume
GET /v2/transfers/top-networks: Top sender/receiver networks
Risk API:
POST /v1/simulate/solana/transactions: Batch simulate multiple Solana transactions
Updated parameters
GET /v1/address/balance: added network_type and token_contracts filters
GET /v2/addresses: added cursor and size for pagination
GET /v2/transfers: added address_list_hash and addresses filters
Deprecated endpoints
The following v1 endpoints have been removed in favor of v2 equivalents:
GET /v1/address/balances → use /v1/address/balance
GET /v1/network/relevant-cross-chain-transfers → use /v2/transfers
GET /v1/network/transactions/errors
GET /v1/network/transfers → use /v2/transfers
POST /v1/protocols/transactions → use /v2/transactions
GET /v1/protocols/transactions/{hash} → use /v2/transactions/by-network/{network}/{hash}
v1.1.1: November 2025
- Documentation restructure with dedicated tabs for Data, Risk, and Faraday APIs
- Expanded cross-chain coverage to 100+ networks
- Added entity recognition to address labeling
v1.0: March 2025
- Initial release of Data API and Risk API
- Core blockchain data endpoints across 18+ networks
- Address risk scoring with proximity analysis
Last modified on November 12, 2026