Skip to main content

hoodgrow

Python SDK for the HoodGrow Robinhood Chain stock token API — live price, corporate-action adjusted supply (ERC-8056, correct through stock splits), Morpho/Uniswap DeFi depth, and corporate actions (splits, dividends). Pay per call via x402 (USDC on Base) — no signup — or use a bearer API key if you have one.

pip install hoodgrow

Quick start — x402 (pay per call, no signup)

import os
from eth_account import Account
from hoodgrow import HoodGrowClient

# Never hardcode a real private key — load it from an env var / secret
# manager, and only fund this wallet with what you're willing to spend
# on this API.
signer = Account.from_key(os.environ["AGENT_PRIVATE_KEY"])

client = HoodGrowClient(signer=signer)

catalog = client.get_catalog()   # $0.10 — every token
nvda = client.get_token("NVDA")  # $0.05 — one token

Every call settles a real USDC payment on Base mainnet. See Payment safety below before you point this at a funded wallet.

Quick start — API key (free, issued access)

import os
from hoodgrow import HoodGrowClient

client = HoodGrowClient(api_key=os.environ["HOODGROW_API_KEY"])

catalog = client.get_catalog()

Get a key from HoodGrow directly — see hoodgrow.com/api-access.

API

HoodGrowClient(api_key: str | None = None, signer: LocalAccount | None = None, base_url: str = "https://www.hoodgrow.com")

Exactly one of api_key / signer is required.

Method Price (x402) Returns
get_catalog() $0.10 Every listed token: price, source, 24h change, corporate-action adjusted supply, DeFi depth, plus catalog-wide pending/recent corporate actions
get_token(symbol) $0.05 One token, same fields, scoped
get_corporate_actions(symbol=None) uses get_token/get_catalog above CorporateActions(pending=..., recent=...) — pass a symbol to scope, omit for every tracked token
get_defi(symbol) $0.05 Every Morpho market this token participates in (loan OR collateral role) plus its Uniswap V3 pools — not just the single best-APY figure bundled into get_catalog/get_token
get_holders(symbol, limit=None) $0.05 Holder-count trend, 24h net supply change (real mint/burn), and top-holder concentration (limit caps how many holders to return, 1-50, defaults to 10 server-side)
get_slippage(symbol, amount_usd, side) $0.05 How much a USD-sized trade (side: "buy" | "sell") would move the price, per Uniswap V3 pool — best_pool_address/best_effective_price pick the best one for you

Full response shapes are Pydantic models (CatalogResponse, TokenDetailResponse, TokenSummary, DefiInfo, PendingCorporateAction, RecentCorporateAction, DefiDetailResponse, DefiMarket, DefiPool, HoldersResponse, TopHolder, SupplyChange24h, SlippageResponse, SlippagePoolResult) — attributes are idiomatic snake_case; the API's own camelCase JSON keys also work if you construct a model directly.

A failed request (any non-2xx HoodGrow itself returns, after x402 payment handling — an unknown symbol, a server error) raises HoodGrowError with .status and .body.

Payment safety

x402 payments are real money and are not idempotent — retrying a timed- out request can pay twice. Before pointing a signer at this client:

  • Only fund the wallet with what you're willing to spend on this API.
  • signer must be an eth_account LocalAccount (e.g. Account.from_key(...)) that can sign locally.
  • HoodGrow's paywall only ever asks for USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) on Base mainnet (eip155:8453), paid to 0x8520B3693a2Cf3c2bEa3a505Af3A9c1b093954c7, capped at $0.10/call — this client's underlying x402 dependency handles the protocol-level verification, but you're responsible for how much you fund the signing wallet with.

Rate limits

30 requests/minute per IP by default for pay-per-call use. A 429 means back off — check the response's Retry-After header rather than retrying immediately (a blind retry after a paid call risks a duplicate payment). Need more sustained throughput? A persistent API key with its own higher limit is available — see hoodgrow.com/api-access.

Development

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest   # mocked HTTP via `responses`, no network dependency

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hoodgrow-0.2.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hoodgrow-0.2.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file hoodgrow-0.2.0.tar.gz.

File metadata

  • Download URL: hoodgrow-0.2.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hoodgrow-0.2.0.tar.gz
Algorithm Hash digest
SHA256 37bdeb6227dfb01009f187cf9b9a6b42f6bbf45c473e9a99820cd725f6644707
MD5 1cd576695f63282a2f7cff7577d9aafe
BLAKE2b-256 3920e6fa7bba241a1b18ae20d77b38fc18ed9a560f1a9915097eac6298b26b7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for hoodgrow-0.2.0.tar.gz:

Publisher: publish.yml on MeMikko/hoodgrow-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hoodgrow-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: hoodgrow-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hoodgrow-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3590a63b4e31d147703a3de9c2c48de6a94fd59a402ba68a24ca064006df7ff9
MD5 a4b6f11fd683d8ded2dc9dc6dc229b30
BLAKE2b-256 9f3e305c4a0e530d226d91f1f3413fed6fe71e2049ce21addefc44412500a7b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for hoodgrow-0.2.0-py3-none-any.whl:

Publisher: publish.yml on MeMikko/hoodgrow-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page