IntentOS X Layer testnet Open app
Standard

The outcome, the policy, the hash

This is the Intent Standard (the rules). Two packages, intent-schema and IntentLib.sol, must agree byte-for-byte on how an outcome and a policy hash. If they disagree, settlement reverts with OutcomeMismatch.

Worked example

One playbook sentence, traced through the loop:

"put 5,000 USDT into NVDA and AAPL, 60/40, only attested assets"
IntentSpeckind: BASKET, in: 5000 USDT, out: [NVDA 60%, AAPL 40%], requireRwaAttested: true
IntentDraftNVDAx weightBps 6000, AAPLx weightBps 4000, amounts in wei
HashesoutcomeHash + policyHash committed on IntentRegistry
SettledWinner held to max(user minOut, bid guarantee) on every leg. Dust returned to owner.

Kinds

KindWhat it is
SWAPOne asset in → one asset out
BASKETOne asset in → weighted set out (xStocks portfolios)
REBALANCEExits → base → entries, one atomic tx
RWA_ONBOARDAcquire an attested tokenized real-world asset
BATCHSeveral of the above declared together
PAYMENT1:1 stable send, including gasless USDG

Lifecycle

OPEN → SELECTED → FULFILLED

Side paths: CANCELLED, EXPIRED, or back to OPEN on failure or a dominance challenge.

An outcome is

Kind, input token/amount, recipient, slippage ceiling, acquisition legs (token, weightBps, minOut), exit legs (rebalance only).

A policy (v2) is

Spend cap, validity window, fee cap, reputation floor, requireRwaAttested, requireCompliant (KYB), sponsorGas, token allowlist. The registry stores hashes, never contents.

Contracts on X Layer testnet

ContractJobAddress
IntentRegistryCommit hashes, auction, select, gasless submitFor, session keys0xba5e77ea6DC930c0A41F2d962AB3Efd6ffC3250A
IntentSettlementOnly contract that touches user funds0xcDA3E1eaCF05B55cB04D781Fe6a0Cf365777073a
PolicyEngineGuardrails0xBc8963621E0333f3ABD3FC1B5a7A716D119f6B58
SolverRegistryBond, reputation, lanes, KYB0x66874911ffFe383AB6E5fD1e3daFEE896bf2A0Db
RWARegistryAttestations and onboarding0x96061d44DFe85AB7e045645Cf7B7436854F77E3E
RecurringRegistryStanding jobs the coordinator re-declares0xcE91d813251EbdCc75Bc320690cE5b1A6dA54FEF
RwaVault1:1 TSLAx shares0x7147Da6E8a2C785C72662bE65FCF8d11D2Bf01Af

Trust model

LayerTrust
Mempool / draftUntrusted. Wrong hash → unsettleable.
SolverUntrusted. Bid is a promise the contract enforces.
CoordinatorCannot steal funds; can pick a worse solver (slashable).
SettlementThe only trusted arithmetic.