Kucoin SDK
Read-only Classic spot-side reporting, wallet network methods and simple Earn listings. The source checkout also implements credential-free public Classic spot and linear perpetual Market data. This expansion is unreleased; the existing 0.2.1 release does not contain it.
from tribulnation.sdk import ReportSDK, accounts
reports = ReportSDK({'kucoin': accounts.Kucoin()})
async with reports.venue('kucoin') as report:
async for record in report.history():
print(record)
- History discovers spot markets automatically; no holdings-based filter or caller market list is required. Per-symbol sweeps can require many requests. Omitted bounds select seven days of spot fills and 30 days for deposits/withdrawals; explicit bounds are preserved and rows are filtered locally.
- History is best-effort. Retention, delisted symbols, dedicated margin activity, Earn accruals and other unsupported ledgers leave gaps for file ingestion.
- Snapshots include Classic main/trade balances and paginated Earn holdings. Futures and legacy margin/isolated compartments are explicitly excluded, not reported as zero exposure. Neither history nor snapshots call futures endpoints. No Futures permission or scope configuration is needed. Rejected supported reads fail rather than claiming zero balances. Other user subaccounts remain unsupported. The underlying Typed futures APIs are unchanged.
Wallet.new(public=True)lists enabled chains with nativechainIdidentifiers. Withdrawal fees are the published minimum, not a quote for a specific transfer.- Earn lists five simple savings/staking families. Structured dual investments are excluded because their contingent principal conversion is not a plain APR product.
Public Market data (unreleased)
from datetime import datetime, timedelta, timezone
from tribulnation.kucoin import KucoinMarket
async with KucoinMarket.new() as venue:
spot = await venue.exchange('spot')
print(await spot.tickers(['BTC-USDT']))
market = await venue.perp_market('perp:XBTUSDTM')
end = datetime.now(timezone.utc)
candles = await market.candles('1h', end - timedelta(days=3), end)
print(await market.next_funding())
- Discovery, native tickers, public rules, depth, trade candles and perpetual funding use public APIs. No account credentials or Futures permission are needed.
- Exchange IDs are
spotandperp; full SDK IDs includekucoin:spot:BTC-USDTandkucoin:perp:XBTUSDTM. Native symbols are not renamed. - Perpetual support covers open linear contracts. Inverse and dated contracts are excluded. Quantities use base units, converted from contract lots where necessary.
- REST depth accepts 1–100 levels (default 20); streams accept 1–5 (default 5). Streams share an upstream and honor SDK queue/overflow settings.
- Candles support
1m,5m,15m,1h,4h,1d, require aware[start, end)bounds, and page by time at 1,500 spot/200 futures rows. Gaps remain gaps; historical availability differs by product and interval and does not guarantee an archive. - Funding history uses inclusive bounds; an omitted start walks earliest available
settlements. Perpetual statistics expose index, mark and base-unit open interest;
use
next_funding()for the current cycle's rate, next settlement and interval. rules().feesis unknown. Account fees and all private Market/trading methods are unsupported. Use the separate Report surface for supported Classic spot reporting.
See the qualification handoff for observed limits, Catalogue follow-up and release/version requirements.
Metadata
Release files for tribulnation-kucoin 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tribulnation_kucoin-0.5.0.tar.gz | 15.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tribulnation_kucoin-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.7 kB
Release files / tribulnation_kucoin-0.5.0.tar.gz
| Download URL | tribulnation_kucoin-0.5.0.tar.gz |
|---|---|
| Size | 15.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a54f228916896c24e670c482a7c243d879586bacd18ac4356acdfffa68ac803c
|
|
BLAKE2b-256 checksum How to use checksums |
5464003d3efab875815803d861d302ed29aba76f900f2c4705f32392b87638ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logRelease files / tribulnation_kucoin-0.5.0-py3-none-any.whl
| Download URL | tribulnation_kucoin-0.5.0-py3-none-any.whl |
|---|---|
| Size | 18.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a9bba96795192df177ded075f8344743020539e3d7f20a87d17d57cde33cea45
|
|
BLAKE2b-256 checksum How to use checksums |
e31b64bd00a5a70abbe38d8939da08467cc742b7530e4c138d41997945e6de1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency log