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
get_ohlc(symbol, interval, from_=None, to=None, limit=None) $0.05 OHLC price candles for backtesting (interval: "1h" | "4h" | "1d"; from_/to are ISO 8601 strings, default to the last 30 days). OHLC only, no volume — HoodGrow has no historical trading-volume time series to draw a volume field from

Full response shapes are Pydantic models (CatalogResponse, TokenDetailResponse, TokenSummary, DefiInfo, PendingCorporateAction, RecentCorporateAction, DefiDetailResponse, DefiMarket, DefiPool, HoldersResponse, TopHolder, SupplyChange24h, SlippageResponse, SlippagePoolResult, OhlcResponse, OhlcCandle, OhlcInterval) — 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.3.0.tar.gz (12.2 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.3.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hoodgrow-0.3.0.tar.gz
Algorithm Hash digest
SHA256 85740f8e09537c1c7adb9114f375bb4a75bc800a87178a03da4386a9f791ed80
MD5 d93479526ad0088c5d05f826591cf2f9
BLAKE2b-256 23c2d87e2a13b93e75d55b7337d2334630c29cba415e98072e700770a21cea2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for hoodgrow-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: hoodgrow-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c75a422b0ebd7522a379609b29d1d91d0e35ff1f9f75a9f10f45ab43c5a392ca
MD5 0016f7fc3baa1b9f0f7f41dd810a155a
BLAKE2b-256 9bacad950a6b2436b13e89e1e9730c7885c2fa6704e5a8b708413fd2b859497c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hoodgrow-0.3.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