scemadex-settle 0.1.3

Open devnet reference settler for ScemaDEX Conviction-Routing bonds: moves devnet USDC via real SPL transfers. Test/devnet only — the mainnet x402 facilitator is a separate proprietary stack.
Documentation

scemadex-settle

Open devnet reference settler for ScemaDEX Conviction-Routing bonds.

scemadex-sdk ships the bond settlement state machine but moves no money (it has no solana-sdk dependency). This crate closes the loop on devnet: it wraps that state machine and, when a bond is slashed, makes a real on-chain SPL-USDC transfer of the bond to the caller — so you can run the entire Conviction-Routing loop (quote → bond → execute → settle on-chain) for free, with no proprietary stack.

use scemadex_settle::DevnetUsdcSettler;
use scemadex_sdk::{BondEngine, demo_intent, ReferenceRoutePolicy, RoutePolicy, Fill, Amount};

let settler = DevnetUsdcSettler::devnet(agent, usdc_mint, beneficiary_token_account);
let solution = ReferenceRoutePolicy.solve(&demo_intent()).await?;
let bond = settler.escrow(&solution).await?;
// an under-delivering fill slashes the bond -> real devnet USDC moves to the caller
let (outcome, signature) = settler.settle_onchain(&bond, &under_fill).await?;

See examples/devnet_settlement.rs for a full runnable walkthrough (with the solana/spl-token setup commands).

⚠️ Devnet / test only

A reference settler: it does a plain SPL transfer on slash, with no escrow custody, fee collection, x402 metering, dispute windows, or mainnet safety. Do not point it at mainnet. The production mainnet rail (x402-settled, fee-abstracted, trust-networked) is a separate, closed component.

License

MIT