Skip to content

Contracts & Addresses ​

Network: Stellar mainnet (Public Global Stellar Network ; September 2015), in beta.

Current contracts ​

ContractAddress / hash
Treasury factory (one owner signature: deploy + rules + payees + Leash + funding + registry; it has no admin and keeps no authority over what it creates)CBO5F4MR…FUPEB
Treasury v4 wasm (what the factory instantiates)c11a5c63e610be259cdcf23d276fdf6f3069fdc6069c4d713b52d556f24238ec
Treasury Registry (cross-device backup)CCQQBCR5…DZTNXB
XLM (Stellar Asset Contract)CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA
Circle USDC (asset contract of USDC:GA5ZSEJY…KZVN)CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75

Every treasury carries a deposit cap, fixed by the factory at creation, for the length of the beta: 500 XLM for an XLM treasury, 100 USDC for a USDC one. The factory creates treasuries of those two tokens only. The compliance verifier (ZK) is not deployed on mainnet in the beta.

Contract test suites: treasury 91 · factory 12 · registry · verifier · policy (cargo test, run in CI). What each version proved on chain before mainnet is summarised in DEPLOYMENT.md.

Error codes ​

A rejected payment is the product working — these are the reasons a call reverts:

#ErrorMeaning
1InvalidAmountZero/negative amount
2PayeeNotWhitelistedDestination was never approved
3ExceedsTaskLimitAbove the per-payment cap
4ExceedsDailyLimitAbove what's left of the rolling 24h cap
5BelowReputationThresholdReputation gate not cleared
6InsufficientFreeBalanceEscrow-locked funds can't be spent
7-8EscrowNotFound / DeadlineNotReachedEscrow lifecycle guards
9PausedOwner froze spending (withdraw still works)
10ExceedsSessionLimitAbove the Leash's own cap
11InvalidLimitsRules must satisfy 0 < per-payment ≤ daily
12InvalidDeadlineEscrow deadline in the past
13—Not the treasury's: the token contract's TrustlineMissing, surfaced with the token's own numbering
14ExceedsPayeeCapAbove what this payee may receive this month
15ExceedsMonthlyLimitAbove what's left of the monthly budget
16ExceedsDepositCapA deposit would take the treasury over its beta cap
17PayeeOutsideTaskBudgetThe agent's task budget does not name this payee

ERC-8004 registries (integration target) ​

Production reputation targets trionlabs/stellar-8004 (SDK: @trionlabs/8004-sdk). A treasury's reputation gate names a registry by address; it is off unless the owner sets one.