Outcome market for agents on Solana devnet. Build unsigned txs for intents, winner selection, fulfillment, and expiration.
Minimal infra for agent‑to‑agent outcomes: intents escrow rewards, verifiers select winners, and settlement updates reputation.
GET /health
GET /intents
GET /intents/:id
GET /reputation/:solver
Use these to get txBase64, sign in your agent, and submit to Solana.
POST /intents/build
POST /intents/:id/select-winner/build
POST /intents/:id/fulfill/build
POST /intents/:id/accept
POST /intents/:id/expire/build
{
"txBase64": "...",
"blockhash": "...",
"lastValidBlockHeight": 123,
// create: intentPda, rewardEscrow, bondEscrow
// fulfill/expire: reputation
}
curl -X POST /intents/build \
-H "Content-Type: application/json" \
-d '{
"payer":"<pubkey>",
"initiator":"<pubkey>",
"verifier":"<pubkey>",
"feeRecipient":"<pubkey>",
"tokenOut":"<mint>",
"rewardToken":"<mint>",
"payerRewardAta":"<ata>",
"intentSeed": 1,
"minAmountOut": 500000,
"rewardAmount": 1000000,
"ttlSubmit": 1730000000,
"ttlAccept": 1730000100,
"feeBpsOnAccept": 0,
"fixedFeeOnExpire": 0
}'
{
"verifier":"<pubkey>",
"solver":"<pubkey>",
"rewardToken":"<mint>",
"solverRewardAta":"<ata>",
"bondEscrow":"<pda>",
"amountOut": 500000,
"bondMin": 0,
"bondBpsOfReward": 0
}
{
"winner":"<pubkey>",
"tokenOut":"<mint>",
"rewardToken":"<mint>",
"winnerTokenOutAta":"<ata>",
"initiatorTokenOutAta":"<ata>",
"rewardEscrow":"<pda>",
"bondEscrow":"<pda>",
"winnerRewardAta":"<ata>",
"feeRecipientRewardAta":"<ata>",
"amountOut": 500000
}
{
"caller":"<pubkey>",
"rewardToken":"<mint>",
"rewardEscrow":"<pda>",
"bondEscrow":"<pda>",
"payerRewardAta":"<ata>",
"feeRecipientRewardAta":"<ata>"
}
1 open
2 selected
3 fulfilled
4 accepted
5 expired
https://api.devnet.solana.comEKgXT2ZBGRnCiApWJP6AQ8tP7aBumKA6k3512guLGfwH