SnowSignals User API
The User API from SnowSignals — 3 operation(s) for user.
The User API from SnowSignals — 3 operation(s) for user.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/snowsignals:snowsignals-user-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: SnowSignals daas User API
version: 1.0.0
description: Metered, prepaid Phase-Event data.
contact:
name: SnowSignals
url: https://snowsignals.io
termsOfService: https://snowsignals.io/terms
servers:
- url: https://snowsignals.io/v1
security:
- UrlKey: []
- ApiKey: []
tags:
- name: User
paths:
/user/balance:
get:
summary: The account's spendable/refundable balance + atom display (session or ApiKey…
responses:
'200':
description: Balance view. Amounts are micro-USD (1e-6 USD).
content:
application/json:
schema:
type: object
properties:
spendable_micro_usd:
type: integer
description: Balance available to spend on metered requests.
example: 4958060
refundable_micro_usd:
type: integer
description: Amount currently in a refund/withdrawal hold.
example: 0
spendPaused:
type: boolean
description: True while a refund is settling (requests return 423).
example: false
base_rate_micro_usd:
type: integer
description: Price of one atom (base rate).
example: 2314
atoms:
type: integer
description: Spendable balance expressed in whole atoms (floor(spendable / base rate)).
example: 2142
multiplier_tiers:
type: array
description: The request-composition multiplier tiers. A request pays the factor for the tier its row count falls in; a null max_rows is the open-ended top tier. Same tiers the meter charges through, so you can price a call from here.
items:
type: object
properties:
max_rows:
type: integer
nullable: true
description: Top of the tier (rows), or null for no upper bound.
example: 5
factor:
type: number
description: Multiplier applied at this tier.
example: 1.15
deposit_addresses:
type: array
description: Your standing per-chain deposit addresses. You set these up from the dashboard.
items:
type: object
properties:
chain:
type: string
example: base
address:
type: string
example: 0x1234abcd...ef90
example:
spendable_micro_usd: 4958060
refundable_micro_usd: 0
spendPaused: false
base_rate_micro_usd: 2314
atoms: 2142
multiplier_tiers:
- max_rows: 1
factor: 1.25
- max_rows: 5
factor: 1.15
- max_rows: null
factor: 1
deposit_addresses:
- chain: base
address: 0x1234abcd...ef90
'401':
description: Unauthorized.
tags:
- User
operationId: getUserBalance
x-operation-id-source: derived
/user/usage:
get:
summary: The indexed usage log (id-cursor paginated via `before`)
parameters:
- name: limit
in: query
schema:
type: integer
- name: before
in: query
schema:
type: integer
description: id cursor from a prior page's nextBefore.
responses:
'200':
description: Usage rows (newest first) + nextBefore cursor.
content:
application/json:
schema:
type: object
properties:
rows:
type: array
items:
type: object
properties:
createdAt:
type: string
format: date-time
example: '2026-07-14T17:11:45.732Z'
endpoint:
type: string
description: The metered endpoint (or `/mcp:<tool>` for MCP calls).
example: /v1/api/phase/boundary
currencies:
type: string
description: Comma-joined currencies served.
example: BTC
tfs:
type: string
description: Comma-joined timeframes served.
example: 1h
rows:
type: integer
example: 1
multiplier:
type: number
description: Row-count pricing multiplier applied.
example: 1.25
debitMicroUsd:
type: integer
example: 1446
nextBefore:
type:
- integer
- 'null'
description: id cursor for the next (older) page, or null when no older rows remain.
example: 4
example:
rows:
- createdAt: '2026-07-14T17:11:45.732Z'
endpoint: /v1/api/phase/boundary
currencies: BTC
tfs: 1h
rows: 1
multiplier: 1.25
debitMicroUsd: 1446
- createdAt: '2026-07-14T17:11:45.724Z'
endpoint: /v1/api/phase/updates
currencies: BTC,ETH,GRAM,SOL,TRX
tfs: 15m,1h,2h,4h,1d,1w
rows: 30
multiplier: 1
debitMicroUsd: 34710
nextBefore: 4
'401':
description: Unauthorized.
tags:
- User
operationId: getUserUsage
x-operation-id-source: derived
/user/deposit-now:
post:
summary: Prod the system to check for a deposit (session or ApiKey auth)
description: Ask the deposit watcher to scan your standing deposit addresses now, so a deposit you have just sent is picked up sooner instead of waiting for the next routine scan. It arms a watch on every standing address and enabled token, and returns what was armed. If the account has no standing address on file, the armed list comes back empty. This is the REST twin of the MCP deposit_poll tool; both run the same arming path. Unmetered.
responses:
'200':
description: What was armed. Empty when the account has no standing deposit address on file.
content:
application/json:
schema:
type: object
properties:
armed:
type: array
items:
type: object
properties:
chain:
type: string
example: BASE
address:
type: string
example: 0x1234abcd...ef90
token:
type: string
example: USDC
example:
armed:
- chain: BASE
address: 0x1234abcd...ef90
token: USDC
- chain: BASE
address: 0x1234abcd...ef90
token: USDT
'401':
description: Unauthorized.
tags:
- User
operationId: postUserDepositNow
x-operation-id-source: derived
components:
securitySchemes:
UrlKey:
type: apiKey
in: query
name: apiKey
description: 'url method (default): pass your key as `?apiKey=<key>`. The key is the whole credential.'
ApiKey:
type: apiKey
in: header
name: Authorization
description: 'nonce method: `ApiKey base64(key:nonce:proof)` where `proof = SHA256("secret:nonce")` hex truncated to 19 chars (see the API description for the signing scheme).'
x-apisguru-categories:
- financial
- analytics
x-provenance:
method: harvested
publisher: SnowSignals
source: https://snowsignals.io/v1/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)