Production apps should pair this with a passkey on the browser side. This
page uses a string
encrypt_key for the smoke-test scenario, which is the
simplest possible flow. For shipping integrations, the encrypt_key
should come from a platform passkey via the browser-side flow — see the
passkey quickstart. The Python pieces below
are identical either way.chipi-stack on PyPI, using code lifted verbatim from python/tests/test_staging_smoke.py.
The Python SDK is published as
chipi-stack on PyPI — matching the @chipi-stack/* npm scope. (The legacy chipi-python package is deprecated.)Install
Install vs import: the PyPI package is
chipi-stack but the Python module is chipi_sdk. After pip install chipi-stack, import with from chipi_sdk import ... (not chipi_stack).Initialise the SDK
Create a wallet
create_wallet provisions a fresh Starknet account, encrypts the private key with the encrypt_key you provide, and returns a flat response (no nested .wallet field — public_key and encrypted_private_key are at the root).
Get a wallet
Look it up later by your own user ID:public_key, encrypted_private_key, wallet_type, chain, is_deployed, id, external_user_id, created_at, updated_at are all on the root object.
Putting it together
✅ Verified against the live API on 2026-05-11.
