Most integrations should use the Python SDK or TypeScript dApp SDK. They handle tokens, signing, and retries for you. Call the HTTP API directly when you’re working in a language without a Walley SDK.
Authentication
Reads need a bearer token, which you get through the auth endpoints by proving you hold the party’s Ed25519 key:401, you mint a new token and retry.
Reading the ledger
/v1/proxy/ forwards to the participant’s Canton JSON Ledger API, so any Ledger API documentation or client works here. Swap in the base URL and attach your token:
Submitting transactions
The same prepare, sign, submit loop the SDKs run:fee_amount, in CC) and drawn from the same prepaid traffic balance as every other Walley path. If you have traffic balance, that’s it: the fee comes out of the balance and there is nothing extra to sign or pay per transaction. If the balance can’t cover the fee, Walley fronts that one transaction and the balance goes negative; further prepares are refused with HTTP 402 until you top the balance back up.
submit returns as soon as the submission is accepted; submit-and-wait blocks until the transaction commits.
Limits
- Reads run as your party only.
- Request bodies on the ledger proxy are capped at 10 MB, and per-IP rate limits apply.