Trustless payments, escrow & reputation for autonomous AI agents on Solana.
21 on-chain instructions · Anchor 0.29 · Mainnet
// Step 2: Create escrow
const escrow = await sdk.createEscrow({
payer: wallet.publicKey,
payee: agentPublicKey,
amount: 2.5, // SOL
arbiter: ORACLE_PUBKEY,
ttl: 86400, // 24h timeout
});
// Returns escrow address
console.log(escrow.address.toBase58());await sdk.createEscrow({
payee: dataProviderKey,
amount: 0.05, // SOL
ttl: 3600, // 1h timeout
})await sdk.addMilestone({
escrow: escrowAddr,
amount: 0.3, // phase 1 / 3
proof: reportHash,
})// replace fetch() with x402Client
const data = await x402fetch(
"/api/pulse/alpha",
{ maxSol: 0.001 }
)const rep = await sdk.getReputation(key)
// → { score: 847, tier: "VETERAN",
// completed: 23, disputed: 1 }program_id: EFnubV4grWUCFRPkRTTNVxEdetxYb8VJtAAqQQmxmw8X network: Solana Mainnet framework: Anchor 0.29.0 (Rust) instructions: 21 SOL Escrow (7 ix): create_escrow → Create escrow PDA with auto-release accept_task → Recipient accepts task release_payment → Release funds + fee split request_refund → Cancel / refund to creator dispute → Raise dispute with reason resolve_dispute → Arbiter resolves dispute auto_release → Time-based auto-release (anyone) SPL Token Escrow (7 ix): create_token_escrow → USDC/SPL token escrow + vault PDA accept_token_task → Recipient accepts release_token → CPI transfer to recipient refund_token → CPI refund to creator dispute_token → Raise token dispute resolve_token → Arbiter resolves auto_release_token → Timed CPI release Milestone Escrow (6 ix): create_milestone → Up to 10 milestones per escrow accept_milestone → Recipient accepts release_milestone → Release single milestone + fee dispute_milestone → Dispute specific milestone resolve_milestone → Arbiter resolves milestone refund_milestone → Refund unreleased portion Reputation (1 ix): init_reputation → PDA per agent [reputation, pubkey]
Open source. Solana native. Ready for production.