App Description
This proposal requests storing the TradeOS CosmWasm smart contract (tradeos-cw-sc) bytecode on XION mainnet. The contract is on-chain infrastructure built to support TradeOS product development: it gives the TradeOS team a production-grade, audited CosmWasm module for verifier-authorized, one-time asset claims (native or CW20)—a replay-safe payout path keyed to an off-chain secp256k1 verifier and deterministic claim digests. Integrators may instantiate their own instances against the stored code as needed for TradeOS-related deployments.
Team Background
This contract is developed by Burnt Labs, the core team building XION network infrastructure. It is maintained to enable the TradeOS team to ship and iterate on TradeOS experiences on XION with a clear, documented on-chain claims layer. The same codebase is open for instantiation by deployments that align with TradeOS’s technical requirements. The implementation has been exercised on xion-testnet-2, with integration examples and documentation in the repository.
Contract Source Code
Contract(s) Description(s)
TradeOS CosmWasm (tradeos-cw-sc) supports TradeOS development on XION as a verifier-backed vault: assets held by the contract are paid out only when a designated secp256k1 verifier has signed a specific claim. Each successful claim is one-time (replay protection on the signed digest).
-
Instantiation — Optional
owner(defaults to sender).verifier_pubkey: 33-byte compressed key as hex (0x…optional) or base64. -
Claim shape — A
ClaimInfospecifiesasset(native denom or CW20 contract), recipient bech32to,value(must be non-zero), optional timedeadline(0= none), andcomment. The verifier signs a digest derived with keccak256 over a canonical encoding that includes asset, recipient, amount, deadline, comment, this contract address, and chain id, then applies the standard EIP-191Ethereum Signed Messageprefix (aligned with the EVM implementation).get_claim_digestreturns the hex digest to sign;is_claimedchecks whether that digest was already used. -
claim— Submitclaim+ signature (hex/base64; 64-byter||s, or 65 bytes withvstripped). Verifies against the stored pubkey, rejects expired or duplicate claims, then sends native or CW20 toto. -
Owner-only —
set_verifier,emergency_withdraw(move funds without a signature), andupdate_ownership(cw-ownable: propose transfer, accept, renounce). -
Migration — Supported for instances with wasm admin; migrates only within the same
tradeos-cw-sccontract name and refreshescw2version metadata.
Each integrator instantiates its own contract after mainnet code storage, with separate admin, verifier, and ops policy.
Audit
testnet code_id
2026