GET /v1/merchant-users— your Blink users, with each user’s total deposited and the embedded wallets they used. Look a user up by their embedded wallet to answer “has this user deposited with Blink before?”GET /v1/merchant-deposits— individual deposits, filterable by user, status, chain, and date range.
On the testnet sandbox? Swap the host for
https://api-sandbox.blink.cash.Authentication
Every request is authenticated with a signedX-Merchant-Authorization header — the same
identity credential used across the server-to-server API. See
Merchant Authentication for how to build it.
Typical flow
The two endpoints compose. To check whether a returning user has deposited before and then pull their history:1
Look the user up by their embedded wallet
GET /v1/merchant-users?embeddedWalletAddress=0x1a5F…&chainId=8453. An empty items array means they
have never deposited to you. A hit returns their userId and total deposited.2
Pull that user's deposits
Take the
userId from step 1 and call GET /v1/merchant-deposits?userId=<userId>.userId is an opaque Blink-internal identifier — stable for a given user, safe to store, and the
join key between the two endpoints.
Pagination
Both endpoints are cursor-paginated. Each response includes anextCursor:
- If
nextCursoris a string, pass it back as?cursor=<nextCursor>to fetch the next page. - If
nextCursorisnull, you have reached the last page.
limit (1–100, default 25) to set the page size. Treat the cursor as opaque — don’t parse or
construct it. Deposits are returned newest-first; users are returned in a stable order suitable for
walking the full list.
List Blink users
GET https://api.blink.cash/v1/merchant-users
Lists the users who have deposited to you, each with their total completed deposits and the distinct
embedded wallets they deposited into. Supply embeddedWalletAddress (optionally narrowed by chainId)
to return only the user owning that wallet.
Query parameters
Response
amounts holds bucketed totals: total (all statuses, gross intended) and completed (money actually
received). More status facets (for example a pending breakdown) can be added later without a breaking
change.List deposits
GET https://api.blink.cash/v1/merchant-deposits
Lists individual deposits into your platform, newest first.
Query parameters
Response
Status is normalized. Every in-flight state reports as
pending; a settled deposit is completed;
a failed or expired one is failed.