Footprint Analytics Events API
Track user events via Growth Analytics SDK
Track user events via Growth Analytics SDK
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/footprint-events-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: Footprint Analytics Data Chain Events API
description: 'Footprint Analytics is a blockchain data analytics platform providing unified REST and SQL APIs for querying DeFi protocol metrics, NFT market data, token analytics, GameFi economics, and on-chain activity across 30+ chains including Ethereum, Bitcoin, Solana, BNB Chain, Polygon, Arbitrum, Optimism, and Sui. The platform indexes 30,000+ protocols, 100M+ tokens, 2M+ NFT collections, and 3,000+ blockchain games. Authentication is via API key passed as a query parameter or request header.
'
version: 1.0.0
contact:
name: Footprint Analytics Support
url: https://www.footprint.network/
license:
name: Proprietary
url: https://www.footprint.network/
servers:
- url: https://api.footprint.network
description: Footprint Analytics production API
- url: https://fp-api.readme.io
description: Footprint Analytics documentation API
security:
- ApiKeyHeader: []
- ApiKeyQuery: []
tags:
- name: Events
description: Track user events via Growth Analytics SDK
paths:
/api/v1/events/track:
post:
operationId: trackEvent
summary: Track a user event
description: 'Record a user behavioral event via the Footprint Growth Analytics (FGA) platform. Supports standard event types (install, sign_up, login, open_app, play_game, reward) and custom event properties. Events appear in dashboards within approximately one minute of ingestion.
'
tags:
- Events
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TrackEventRequest'
examples:
login_event:
summary: Track a login event
value:
event_id: evt_abc123
event_type: login
user_id: user_456
event_name: login
time: 1700000000
game_event:
summary: Track a play_game event with properties
value:
event_id: evt_game789
event_type: play_game
user_id: user_456
event_name: dungeon_complete
event_properties:
level: 5
duration_seconds: 120
responses:
'200':
description: Event tracked successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TrackEventResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/users/{user_id}:
put:
operationId: setUserProperties
summary: Set user properties
description: 'Create or update a user profile in the Footprint Growth Analytics platform with identity attributes and custom properties.
'
tags:
- Events
parameters:
- name: user_id
in: path
required: true
description: Unique identifier of the user
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserPropertiesRequest'
responses:
'200':
description: User properties updated
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/users/{user_id}/accounts:
post:
operationId: linkWalletAccount
summary: Link wallet to user account
description: 'Associate a blockchain wallet address with a user account to enable cross-chain and cross-identity analytics in the Footprint Growth Analytics platform.
'
tags:
- Events
parameters:
- name: user_id
in: path
required: true
description: Unique identifier of the user
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LinkWalletRequest'
examples:
link_metamask:
summary: Link a MetaMask wallet
value:
wallet_address: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
wallet_type: EoA
wallet_provider: metamask
responses:
'200':
description: Wallet linked successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
TrackEventResponse:
type: object
properties:
success:
type: boolean
event_id:
type: string
description: The event_id that was recorded
message:
type: string
ErrorResponse:
type: object
properties:
error:
type: object
properties:
code:
type: string
description: Machine-readable error code
message:
type: string
description: Human-readable error message
details:
type: object
additionalProperties: true
UserPropertiesRequest:
type: object
required:
- user_id
- user_name
- sign_up_at
properties:
user_id:
type: string
description: Unique identifier of the user
example: user_456
user_name:
type: string
description: Display name of the user
example: Alice
sign_up_at:
type: integer
format: int64
description: Unix timestamp of when the user signed up
example: 1699000000
user_properties:
type: object
description: 'Additional user attributes. Supported keys include: sign_up_device, account_type, email, country, twitter, discord, ip.
'
properties:
sign_up_device:
type: string
example: web
account_type:
type: string
example: web3
email:
type: string
format: email
country:
type: string
description: ISO 3166-1 alpha-2 country code
example: US
twitter:
type: string
description: Twitter/X handle
discord:
type: string
description: Discord username
ip:
type: string
description: IP address of the user
example: 192.168.1.1
SuccessResponse:
type: object
properties:
success:
type: boolean
message:
type: string
LinkWalletRequest:
type: object
required:
- wallet_address
properties:
wallet_address:
type: string
description: Blockchain wallet address to link to the user
example: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
wallet_type:
type: string
description: Type of wallet account (EoA = Externally Owned Account)
enum:
- EoA
- contract
default: EoA
wallet_provider:
type: string
description: Wallet provider or connector used
example: metamask
default: metamask
TrackEventRequest:
type: object
required:
- event_id
- event_type
- user_id
- event_name
properties:
event_id:
type: string
description: Unique identifier for this event instance
example: evt_abc123
event_type:
type: string
description: 'Standardized event type category. Standard values are: install, sign_up, login, open_app, play_game, reward. Custom types are also supported.
'
example: login
user_id:
type: string
description: Identifier of the user who performed the event
example: user_456
event_name:
type: string
description: Human-readable label for the event
example: login
event_properties:
type: object
description: 'Custom key-value metadata associated with the event. Stored in the extra_data field for downstream analysis.
'
additionalProperties: true
time:
type: integer
format: int64
description: Unix timestamp of the event (defaults to server time if omitted)
example: 1700000000
responses:
BadRequest:
description: Invalid request parameters or malformed query
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
ApiKeyHeader:
type: apiKey
in: header
name: X-API-KEY
description: Footprint Analytics API key passed as a request header
ApiKeyQuery:
type: apiKey
in: query
name: apiKey
description: Footprint Analytics API key passed as a query parameter