Overview
The Monitoring API (https://kapi.cashmere.exchange) serves public data for dashboards, points trackers and transfer monitoring. Every payload uses snake_case keys.
Transactions
/transactions takes the same parameters for testnet, which has no data newer than October 2025.
Fields
A
relayer_fee in wei can exceed Number.MAX_SAFE_INTEGER, which JSON.parse rounds. Treat it as approximate, or parse the body with a big-integer JSON parser.Leaderboard
null and come after ranked users.
Users
Two lookups:GET /users?domains=builder.csm: one profile, with each bound wallet.GET /users?wallets=0xabc…_evm,So111…_solana: points per wallet, each written as<address>_<chain_type>(evm,solana,suioraptos).
404 {"error":"user not found"}.
Profile query
sol, apt and sui have the same fields as evm.
Wallet query
Wallet Binding
The Cashmere app binds wallets to a profile with a signed message.GET /users/messages
POST /users/verify
Have the wallet sign this exact text, where each \n is a newline:
Please sign this message to unbind your wallet from Cashmere:\nProfile: <username>\nnonce: <nonce> instead. Then send:
A successful call returns:
Volumes
date, total_volume_usd, transaction_count, avg_unique_senders, period_type and last_updated.
Fees
period:hourly(default),daily,weeklyormonthly.limit: the number of buckets, 24 by default and up to 1000.
relayer_fees_usd sums the buckets, and total_fees_usd adds NFT royalty revenue (detailed in nft_revenue). The last entry of fees is that NFT summary and has no date: skip it when charting.
Transaction Count
Chain Shares
amount by total_amount for each domain’s share. The list also contains IDs that aren’t CCTP domains, such as 30101, so keep only the domains you chart.
Unique Wallets
GET /stats/mainnet/wallets (mainnet) and GET /stats/wallets (testnet) return distinct sender counts:
Caching & Rate Limits
- Stats endpoints are cached for 60 seconds, and transaction, leaderboard and user lookups for 5.
- No rate limits are published and no rate-limit headers are sent. Poll no faster than the cache interval.
Apart from
POST /users/verify for wallet binding, these endpoints only read data. Transfers happen on-chain, from the sender’s wallet.