Official Python SDK for the Noesis on-chain intelligence API — Solana token & wallet analytics.
Project description
Install
pip install noesis-api
Fully type-hinted (PEP 561) — mypy, pyright, and Pylance see the annotations out of the box.
Quick start
from noesis import Noesis
client = Noesis(api_key="se_...")
# Token preview
preview = client.token.preview("<MINT>")
print(preview)
# Wallet profile
wallet = client.wallet.profile("<ADDRESS>")
print(wallet)
# Bundle detection
bundles = client.token.bundles("<MINT>")
print(bundles)
Get an API key at noesisapi.dev/keys.
Async
AsyncNoesis mirrors the sync client. Every method is async; streams are async generators.
import asyncio
from noesis import AsyncNoesis
async def main():
async with AsyncNoesis(api_key="se_...") as client:
preview = await client.token.preview("<MINT>")
print(preview)
async for token in client.streams.pumpfun_new_tokens():
print("New token:", token)
asyncio.run(main())
Use this inside FastAPI handlers, Jupyter cells, or any asyncio program.
Live streams
from noesis import Noesis
client = Noesis(api_key="se_...")
for token in client.streams.pumpfun_new_tokens():
print("New token:", token)
Available streams: pumpfun_new_tokens, pumpfun_migrations, raydium_new_pools, meteora_new_pools.
API
Token
client.token.preview(mint, chain="sol")
client.token.scan(mint, chain="sol")
client.token.info(mint, chain="sol")
client.token.top_holders(mint, chain="sol")
client.token.holders(mint, chain="sol", limit=100, cursor=None)
client.token.bundles(mint)
client.token.fresh_wallets(mint)
client.token.team_supply(mint, chain="sol")
client.token.entry_price(mint, chain="sol")
client.token.dev_profile(mint, chain="sol")
client.token.best_traders(mint, chain="sol")
client.token.early_buyers(mint, hours=1, chain="sol")
Wallet
client.wallet.profile(address, chain="sol")
client.wallet.history(address, chain="sol", limit=20, type=None, source=None, before=None)
client.wallet.connections(address, min_sol=0.1, max_pages=20)
client.wallet.batch_identity(addresses)
client.wallet.cross_holders(tokens)
client.wallet.cross_traders(tokens)
Chain / on-chain
client.chain.status()
client.chain.account(address)
client.chain.accounts_batch(addresses)
client.chain.parse_transactions(signatures)
Error handling
Non-2xx responses raise a typed subclass of NoesisError:
import time
from noesis import (
Noesis, NoesisError,
NoesisAuthError, NoesisNotFoundError, NoesisRateLimitError,
)
client = Noesis(api_key="se_...")
try:
client.token.preview("<MINT>")
except NoesisRateLimitError as e:
# e.limit == "1 request/5 seconds"
# e.limit_type == "Light" | "Heavy" | "VeryHeavy"
# e.signed_in is a bool
time.sleep(e.retry_after_seconds or 5)
except NoesisAuthError:
print("Invalid or missing API key")
except NoesisNotFoundError:
print("Wallet/token/route not found")
except NoesisError as e:
print(e.status, e.message, e.details)
retry_after_seconds reads the JSON body and falls back to the
Retry-After response header.
Context manager
with Noesis(api_key="se_...") as client:
data = client.token.preview("<MINT>")
License
MIT — see LICENSE.
Links
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file noesis_api-0.3.1.tar.gz.
File metadata
- Download URL: noesis_api-0.3.1.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Manjaro Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b09507a9c5098a2b6c9b2f89993f3bf1dc7a24b4bb11fc2281d25cf7cd2f0fc2
|
|
| MD5 |
46c0aa94bce8e9066f808d79c3b424a9
|
|
| BLAKE2b-256 |
d8018983278d15bfedff433b579fe5626d200ebbade8db4988e9a06e8cebaadc
|
File details
Details for the file noesis_api-0.3.1-py3-none-any.whl.
File metadata
- Download URL: noesis_api-0.3.1-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Manjaro Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d753b5477c17acf0f0d72d1c2ea1a08095262df6f2aeaefb0f9ace8a4f4e8b5a
|
|
| MD5 |
ad97208f8e4ba8b8ac082927dbc58dcf
|
|
| BLAKE2b-256 |
13a222fb76a31a08962fb27e0da7ec40160b1c0df8adf0c7a4ab370eba7ba072
|