Packages
Veil is a set of focused @provablehq/veil-* packages rather than one
monolithic SDK. @provablehq/veil-core defines the client, transport, and
action interfaces every other package builds on; the rest add a signing
strategy, a framework binding, typed program bindings, or a domain client on
top of it.
| Package | What it's for |
|---|---|
๐งฉ @provablehq/veil-core | Clients, actions, transports, and types โ the base SDK. Ships LLM agent (/agent) and MCP (/mcp) bindings for the base Aleo actions. |
๐ @provablehq/veil-aleo-sdk | Local accounts, signing, and proving via @provablehq/sdk. Builds a client from a private key or mnemonic. |
๐ @provablehq/veil-aleo-wallet-adapter | Adapts a connected Provable-standard wallet (Shield, Leo, Puzzle, Fox) into a Veil account and transport. |
โ๏ธ @provablehq/veil-aleo-react-hooks | VeilProvider and useVeilWallet() for React apps โ wallet connection and clients with no adapter wiring. |
๐ @provablehq/shield-swap-sdk | Client for the shield_swap_v3.aleo concentrated-liquidity AMM โ private swaps, liquidity, and the DEX API. |
๐ฅ๏ธ @provablehq/shield-swap-cli | Trade on Shield Swap from a terminal: account setup, pools, balances, private swaps, and liquidity. |
๐ @provablehq/veil-codegen | Generates typed TypeScript bindings from an Aleo program ABI (library and veil-codegen CLI). |
๐งช @provablehq/veil-aleo-devnode | Starts and drives a local Aleo devnode process for integration tests. |
๐ฆ @provablehq/veil-leo | Typed wrapper around the leo CLI โ build, deploy, run, synthesize. |
๐ธ @provablehq/aleo-bridge-sdk | Cross-chain bridge client (preview; its API may break between minor releases). |
Choosing packagesโ
Every setup starts from @provablehq/veil-core and adds the signer or
framework layer that matches where the private key lives.
Read-only or server-side access, where the code only queries chain state,
needs @provablehq/veil-core on its own โ a PublicClient over an http
transport covers it.
A CLI, server, or custodial service that holds a private key directly pairs
@provablehq/veil-core with @provablehq/veil-aleo-sdk, which wraps the
Provable WASM SDK to sign and prove โ locally or delegated โ under that key.
Adding @provablehq/veil-leo builds or deploys Leo programs from the same
process, and @provablehq/veil-codegen generates typed bindings for the
contracts it calls.
A browser dApp where the connected wallet holds the key pairs
@provablehq/veil-core with @provablehq/veil-aleo-wallet-adapter, or with
@provablehq/veil-aleo-react-hooks in a React app โ the hooks package wraps
the adapter and the core client so the app never touches a private key.
An agent that calls Aleo starts from @provablehq/veil-core plus its
/agent (tool schemas) and /mcp (MCP tools) entry points. An agent that
signs unattended adds @provablehq/veil-aleo-sdk for a local key; one behind
a connected wallet adds @provablehq/veil-aleo-wallet-adapter instead. See
Agents.
Integrating Shield Swap always starts with @provablehq/shield-swap-sdk on
top of a client, paired the same way: @provablehq/veil-aleo-react-hooks in a
frontend, @provablehq/veil-aleo-sdk for an agent trader or a programmatic
bot. Read-only pool and price queries need only a transport โ no key,
proving, or scanner.
Local testing against a devnet pairs @provablehq/veil-aleo-devnode โ to
start and advance a local node โ with @provablehq/veil-leo โ to compile and
deploy programs onto it โ extended onto a TestClient. See
Testing against a devnode.
Every package composes through viem's extend() pattern, so one client can
carry base actions plus any domain surface โ DEX, devnode, Leo โ at once.