Skip to main content
GET
List sources
Source-type permissions apply to the results.

Authorizations

X-API-Key
string
header
required

Your organization API key. See Authentication.

Query Parameters

Filter by one or more legal entity IDs. Omit to include all authorized entities. An empty list is invalid.

source_types
enum<string>[]

Filter by one or more source types. Repeat the parameter or send a comma-separated list.

Available options:
exchange,
staking,
niural,
request_finance,
raincard,
ramp_card,
ramp_bank_account,
manual_bank,
wallet,
plaid_account
providers
string[]

Filter by provider labels. A provider with no matching source type returns an empty page.

source_ids
string[]

IDs to return, separated by commas. The other filters also apply.

addresses
string[]

Wallet addresses, up to 100. Matching ignores case. Returns wallets only.

include_count
boolean

Include the total number of matching records. If the count cannot be calculated, the request fails.

tag_ids
string[]

Prefixed tag_ ids. Supported by wallets and exchange sources; a type that cannot filter on tags is excluded from the results when this is set.

statuses
enum<string>[]

Any of these lifecycle statuses. Source types without a lifecycle status are excluded when this filter is set.

Available options:
active,
archived,
pending_setup
chains
string[]

Chain identifiers (such as eth). This filter returns wallets only. Other source types are excluded.

wallet_types
enum<string>[]

Wallet types, lowercase. Supported by wallets and Niural sources; every other type is excluded from the results when this is set.

Available options:
internal,
external
limit
integer
default:50

Maximum number of records to return.

Required range: 1 <= x <= 100
cursor
string

The next_cursor value from the previous page. Keep the other filters unchanged.

Case-insensitive search in labels and descriptions.

type
enum<string>

Filter by one source type.

Available options:
exchange,
staking,
niural,
request_finance,
raincard,
ramp_card,
ramp_bank_account,
manual_bank,
wallet,
plaid_account
group_id
string

Source group ID (sgp_…), or null for sources in no group. Staking sources cannot be in a group.

expand
enum<string>

Related records to include. group adds the source group of each source (null when it has none) and needs the read:source-groups scope.

Available options:
group

Response

The matching records.

data
object[]
required

The records.

has_more
boolean
required

Whether another page is available.

next_cursor
string | null
required

Cursor for the next page, or null on the last page.

total_count
integer

Total matching records across all pages. Present when include_count=true.

Required range: x >= 0
total_source_count
integer

The raw V1 inventory union — financial-account records (wallets, exchanges, and Plaid accounts) plus long-tail sources. It includes external wallet-address records, so it is not a count of transaction-importing sources. Present only on the FIRST page (no cursor) and on an UNFILTERED request (no source_types and no row-set filter); omitted otherwise. Matches GET /v1/sources/connected-count's total. See total_source_count_breakdown for how much of it THIS endpoint can enumerate.

total_source_count_breakdown
object

Reconciles total_source_count against what a cursor walk of THIS endpoint returns. financial_accounts (wallets, exchanges, Plaid) and long_tail_sources PARTITION the total: they sum to it exactly, with exchange sources counted on the financial-accounts side so the total is not inflated. enumerable_here is the walk target — this endpoint lists every source type INCLUDING exchange, so it equals long_tail_sources plus the exchange rows and therefore OVERLAPS financial_accounts; never add it to the other two. A full walk ending with has_more: false at enumerable_here rows is COMPLETE even though total_source_count is larger; the remainder is the non-exchange part of financial_accounts. Present exactly when total_source_count is present.