Settlement as a service
Settle your market in four calls
Quovra is the escrow and settlement layer, so your app never writes proof verification or fund-release logic. Point it at a TxLINE stat and the market resolves itself on-chain.
Install
git clone https://github.com/mystiquemide/quovraLifecycle
import { Connection } from "@solana/web3.js"
import { useWallet } from "@solana/wallet-adapter-react"
import { deposit, claim, requestFaucet } from "./src/lib/quovra-client"
const connection = new Connection("https://api.devnet.solana.com", "confirmed")
const wallet = useWallet()
const market = "J6CBPTgrHjkbWwpXkySQw5CFV61XbidgaodTGyjk7g3y"
// 1. Fund the demo wallet with devnet-only test USDC.
await requestFaucet(wallet.publicKey!.toBase58())
// 2. Escrow USDC on an outcome.
const depositTx = await deposit(connection, wallet, market, 1, 10)
// 3. At full time, settle against the signed TxLINE proof.
// The settle instruction CPIs into txoracle.validate_stat and reads
// the boolean return on-chain. Reverts if the proof does not verify.
// In this repo, scripts/real-settle.ts performs the proof fetch and settle call.
console.log(depositTx) // visible on Solana devnet explorer
// 4. Winners pull stake + pro-rata share of the losing pool
const claimTx = await claim(connection, wallet, market)
console.log(claimTx)The program is deployed on Solana devnet. The settle call verifies against TxLINE's on-chain daily score roots (program 6pW64gN1s2uqjHkn1unFeEjAwJkPGHoppGvS715wyP2J).