Wise Python SDK
Typed synchronous and asynchronous clients for the Wise Platform API. Python 3.11+, HTTPX and Pydantic. Community maintained and not affiliated with Wise.
pip install wise-sdk
Quick start
Set WISE_ACCESS_TOKEN to a sandbox API token in your server environment.
from wise_sdk import WiseClient, WiseEnvironment
with WiseClient(environment=WiseEnvironment.SANDBOX) as client:
profiles = client.profiles.list()
if not profiles or profiles[0].id is None:
raise ValueError("No profile available")
balances = client.balances.list(profile_id=profiles[0].id, types="STANDARD")
print([(balance.currency, balance.amount) for balance in balances])
Choose your intended profile when several exist. Select WiseEnvironment.PRODUCTION
with separate production credentials for live requests.
Async client
import asyncio
from wise_sdk import AsyncWiseClient
async def main():
async with AsyncWiseClient() as client:
profiles = await client.profiles.list()
print(f"Found {len(profiles)} profiles")
asyncio.run(main())
Use context managers or close() / await aclose() to release owned connections.
A supplied httpx_client remains owned by your application.
Client options
| Option | Behavior |
|---|---|
access_token |
Token or callable; async callables work with AsyncWiseClient. Defaults to WISE_ACCESS_TOKEN; False disables fallback. |
environment |
SANDBOX by default; also PRODUCTION, SANDBOX_MTLS, PRODUCTION_MTLS or an environment with api and cards HTTPS URLs. |
timeout |
HTTPX per-phase timeout; 60 seconds by default. A supplied client's timeout is retained unless overridden. |
max_retries |
Up to two retries for eligible reads by default. Writes and OAuth exchanges never retry. |
httpx_client |
Custom httpx.Client / httpx.AsyncClient, including mTLS configuration. |
external_correlation_id |
Sets X-External-Correlation-Id for request tracing. |
client_id, client_secret |
HTTP Basic credentials for the generated OAuth token endpoint only. |
Use request_options for per-call headers, query parameters and timeout settings.
client.<resource>.with_raw_response provides HTTP metadata. HTTP failures raise
ApiError; inspect status_code, body and headers without logging sensitive data.
Helpers and models
Generated Pydantic models are exported from wise_sdk. Python integer IDs retain
their precision. Date-time request parameters use timezone-aware datetime values.
Wise amounts use major currency units; use decimal arithmetic for calculations.
WiseOAuth/AsyncWiseOAuthexpose four OAuth grants and authorization URL helpers.TokenManager/AsyncTokenManagercoordinate token acquisition and persistence within one instance.create_mtls_context()loads a client certificate into a verified SSL context.iter_recipients(),iter_activities()anditer_transfers()fetch lazily; async variants start withasync_iter_.verify_webhook_signature()verifies raw webhook bytes; installpip install 'wise-sdk[webhooks]'to use it.get_sca_challenge()detects documented SCA approval headers.
Documentation
Authentication · Endpoint map · API details · Webhooks · Release notes
Generated from the official 2026Q3 specification with Fern. Account permissions, regional restrictions and partner onboarding determine which endpoints you can use.
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 wise_sdk-0.1.1.tar.gz.
File metadata
- Download URL: wise_sdk-0.1.1.tar.gz
- Upload date:
- Size: 496.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e67c42bb012f4e67e3d9985b57b08e339dc7250946e056ef77bd61b06e260d73
|
|
| MD5 |
ff6c4a6c92d16ac2d0f05ea5db865072
|
|
| BLAKE2b-256 |
7341ae264e0a4b7af48b270fd07dfd9e1545f7d83bcbe8e580bd956b57f96470
|
Provenance
The following attestation bundles were made for wise_sdk-0.1.1.tar.gz:
Publisher:
release.yml on MMZaini/wise-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wise_sdk-0.1.1.tar.gz -
Subject digest:
e67c42bb012f4e67e3d9985b57b08e339dc7250946e056ef77bd61b06e260d73 - Sigstore transparency entry: 2817676053
- Sigstore integration time:
-
Permalink:
MMZaini/wise-sdk@288107c031ee5619a1fe78934c54f0d4795662f9 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/MMZaini
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@288107c031ee5619a1fe78934c54f0d4795662f9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file wise_sdk-0.1.1-py3-none-any.whl.
File metadata
- Download URL: wise_sdk-0.1.1-py3-none-any.whl
- Upload date:
- Size: 1.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c827a0f925b1f1b3e7041d7cf5f662739a292de2737d5ae062430d298f644e8
|
|
| MD5 |
90a32b8728ec2afc939073162ce101d7
|
|
| BLAKE2b-256 |
537a04e41069c86425ff1b13231c36daf0c0c99427f4fcf3d121005cdde857b8
|
Provenance
The following attestation bundles were made for wise_sdk-0.1.1-py3-none-any.whl:
Publisher:
release.yml on MMZaini/wise-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wise_sdk-0.1.1-py3-none-any.whl -
Subject digest:
8c827a0f925b1f1b3e7041d7cf5f662739a292de2737d5ae062430d298f644e8 - Sigstore transparency entry: 2817676063
- Sigstore integration time:
-
Permalink:
MMZaini/wise-sdk@288107c031ee5619a1fe78934c54f0d4795662f9 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/MMZaini
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@288107c031ee5619a1fe78934c54f0d4795662f9 -
Trigger Event:
push
-
Statement type: