Skip to content

Smart Treasury AccountProgrammable treasury contracts on Stellar

Policy-enforced payments, approvals, and recovery — enforced onchain by Soroban contracts instead of manual wallet operations.

What this documents

The Smart Treasury Account (STA) is a programmable treasury wallet built on Stellar and Soroban. It holds Stellar Asset Contract balances and enforces policy on payments, approvals, automation, and recovery through smart contracts.

This site is the technical documentation for the system: what each contract does, what every entrypoint expects, what the errors and events mean, which guarantees the system makes, how to run the test suite that proves them, where the testnet and mainnet deployments live, how to operate a treasury from the production dApp, and how to integrate from TypeScript with the SDK.

It is written for developers integrating with the contracts, reviewers verifying the guarantees, and operators running a treasury.

Where to start

If you want toRead
Understand how the contracts fit togetherContract architecture
Call the policy layerPolicyEngine reference
Verify the security claimsSecurity guarantees
Run the tests yourselfRunning the tests
Find the mainnet addresses and hashesMainnet deployment
Operate a treasury from the dAppOperator guide
Review it end to end, rejections includedTesting support guide
Integrate from TypeScriptTypeScript SDK
See exactly what is implemented todayStatus

Implementation status

The contract core is being delivered in tranches. Not every module documented in the architecture exists yet, and this site marks clearly which is which rather than describing planned code as though it shipped. See Status for the current picture.

The Smart Treasury Account contracts have not been independently audited. OpenZeppelin's Stellar libraries, which they build on, have been.