Skip to main content

Contract Deployment

The upto-session version 2 contract is deployed on Stellar testnet. Mainnet remains disabled.

Released Testnet Contract​

FieldValue
Releasev0.2.0-testnet.20261007
Release commit10460b5740a42def0e00fd03800b6d2ddf15d8ae
Implementation source commit41940839d8f49c733b1815e108fc9740b1285f32
NetworkStellar testnet
Contract IDCCENNI5ZMMD3DCJXG5MURDXWUU3NG6JCFHDCDSEI4OMNWDJRY2IR36L3
WASM SHA-256121431386fedf8149476cbcd79740c242101286520d16456bce5affa7a0a2241
Interface version2
AssetLBT, custom test-only token; not USDC

The deployment matrix links the contract, upload, deployment, initialization, settlement, and recovery evidence. The checksummed source manifests are generated/contracts/testnet-deployment.json and generated/contracts/testnet-lifecycle.json.

Contract Scope​

Only upto-session is part of the capped metered payment design. The policy-wallet-example is an unaudited smart-account example, and test-token is test infrastructure. Neither is production wallet or asset infrastructure.

The current lifecycle proves:

  • Escrow funding at session creation.
  • Seller-authorized partial settlement with buyer refund.
  • Buyer cancellation and full refund.
  • Permissionless expiry recovery that refunds only the buyer.
  • Rejection of unauthorized, over-cap, cross-session, duplicate, and invalid terminal operations.
  • Versioned creation, settlement, cancellation, and recovery events.

Local Verification​

From a clean contracts checkout at the release commit, use the commands published by that repository:

cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features
stellar contract build --locked
node scripts/smoke-upto-session-bindings.mjs
node scripts/check-deployment-evidence.mjs

These commands prove source, build, binding, and evidence consistency. They do not create a new live deployment.

Imported Artifacts​

The docs repository imports and checksums:

  • Decoded contract XDR spec.
  • TypeScript binding containing the encoded contract spec.
  • Versioned method, event, field, and error interface.
  • Testnet deployment manifest and WASM hash.
  • Testnet lifecycle and rejection evidence.

Run npm run sync:generated and npm run check:generated to reproduce the import from the pinned Git revisions.

Backend Boundary​

The deployed contract proves the independent upto lifecycle only. The Phase 24 backend release candidate advertises upto: false; its active payment product is x402 v2 exact. No docs page should infer backend integration merely from the contract deployment.

Mainnet Gate​

There is no mainnet contract ID. Mainnet deployment requires an explicit asset/liquidity decision, security review, reproducible release, operational monitoring, incident response, and recorded transactions. Testnet IDs and LBT evidence must never be copied into a mainnet configuration.