Documentation Index
Fetch the complete documentation index at: https://docs.formo.so/llms.txt
Use this file to discover all available pages before exploring further.

Events API
- Send individual or batches of events via
events.formo.soto Formo. - High-throughput streaming ingestion with an easy-to-use HTTP API.
- Supports 1000 requests/s and 20MB/s.
Profiles API
You can use the Profiles API for real-time personalization. Once you fetch a profile, you can use them in your app for real-time personalization.- Fetch wallet profile properties including net worth and wallet labels
- Segment and target users based on location, device, and referrer
- Real-time activation API for personalized user experiences
Available on x402 on MPP.
Query API
- Connect BI tools and SQL clients via BI integration.
- Query and filter raw analytics events, materialized views, and metrics.
- Return the activity feed / event stream for an anonymous visitor or wallet.
- Export data periodically to your data warehouse.
Charts API
- Create and manage custom dashboards and charts.
- Add, update, and remove charts with SQL-based queries and visualization options (bar, line, pie, funnel, stacked, retention, and more).
Segments API
- Create and manage user segments based on filter conditions.
- Segment users by DeFi positions, net worth, transaction count, device, browser, lifetime volume, and other attributes.
Contracts API
- Monitor blockchain smart contract events across all major chains.
- Add contracts by chain ID, address, and ABI to get fully-decoded transaction and smart contract events.
Alerts API
- Create, update, and manage project alerts programmatically.
- Configure alert conditions and notification channels (email, Slack, webhook).
Response shape
Successful responses return the resource directly - there is no envelope, noisSuccess discriminator. HTTP status alone (200/201/204 vs 4xx/5xx) carries success.
DELETE returns 204 No Content with an empty body - don’t try to parse JSON on those.
Pagination
List endpoints use a Stripe-style envelope only because they need pagination metadata:| Field | Meaning |
|---|---|
data | The page of rows |
total | Total count across all pages |
page | 1-indexed page number echoed from the request |
size | Page size echoed from the request |
has_more | true if there are pages after the current one |
Idempotency
Pass anIdempotency-Key header on POST/PUT/PATCH/DELETE so retries can’t double-create or double-charge. The first response is cached for 24 hours and replayed byte-for-byte on retry.
Errors
Every non-2xx response uses the same envelope:error.code (a stable enum), not message or HTTP status alone. The doc_url field anchors to the matching section of the Errors reference, so AI agents can fetch remediation context without escalating to a human.
See Errors for the full list of codes.
Versioning
The public API is mounted under/v0/. We treat the path version as a major version; we will add /v1/ (rather than break /v0/) for incompatible changes. While under /v0/ the contract is settling - breaking changes can land before /v1/ ships, and we will announce them in the changelog.
Within a version we may add new endpoints, new optional request fields, new response fields (clients should ignore unknown fields), and new error codes within an existing HTTP status family. We will not remove or rename existing endpoints/fields, change the HTTP status of an existing error condition, or repurpose an existing code value.
FAQ
What are the rate limits for the Formo API?
What are the rate limits for the Formo API?
| Layer | Limit | Window |
|---|---|---|
| API (except Profiles) | 1,000 requests | 15 minutes |
| Profiles API | 10,000 requests | 15 minutes |
| Workspace | 100 requests | 1 second |
Can I use the Profiles API for real-time app personalization?
Can I use the Profiles API for real-time app personalization?
Yes. The Profiles API returns wallet profile data including holdings, net worth, lifecycle stage, and labels. It also returns your first-party data (if the user has visited your app) such as country, device, browser, OS, and more. You can use this to personalize your app experience based on a user’s onchain activity.
Can I connect BI tools like Metabase or Looker to Formo?
Can I connect BI tools like Metabase or Looker to Formo?
Yes. Formo provides BI tool integration via BI Read tokens that connect to the Formo data warehouse. You can connect Metabase, Grafana, and other SQL-based tools to query your analytics data.
Support
Live support
Chat with our support team
Email our founder at yos@formo.so