basket-claim
Original:🇺🇸 English
Translated
Use when the agent needs to claim payout from a settled basket via vara-wallet. Do not use before settlement is finalized.
6installs
Sourceadityaakr/polybaskets
Added on
NPX Install
npx skill4agent add adityaakr/polybaskets basket-claimTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Basket Claim
Claim payout from a settled PolyBaskets basket via .
vara-walletSetup
MAINNET ONLY. Run before anything else. NEVER switch to testnet — there are no contracts there.
vara-wallet config set network mainnetbash
vara-wallet config set network mainnet
BASKET_MARKET="0x702395d43248eaa5f1fd4d9eadadc75b0fb1c7c5ae9ea20bf31375fd4358f403"
BET_LANE="0xf5aa436669bb3fc97c1675d06949592e8617f889cbd055451f321113b17bb564"
_PB="${POLYBASKETS_SKILLS_DIR:-skills}"
IDL="$_PB/idl/polymarket-mirror.idl"
BET_LANE_IDL="$_PB/idl/bet_lane_client.idl"Pre-Check Workflow
1. Verify settlement is finalized
bash
vara-wallet call $BASKET_MARKET BasketMarket/GetSettlement \
--args '[<basket_id>]' --idl $IDLCheck the result:
- — ready to claim
status: "Finalized" - — challenge window not yet passed. If you have the settler role, see
status: "Proposed"to finalize. Otherwise, wait for the settler to finalize (challenge window is ~12 minutes from../basket-settle/SKILL.md).proposed_at - Error — not yet settled
SettlementNotFound
bash
# Parse settlement status
vara-wallet call $BASKET_MARKET BasketMarket/GetSettlement \
--args '[<basket_id>]' --idl $IDL | jq '.result.ok.status'Get your hex address first (SS58 won't work for actor_id args):
bash
MY_ADDR=$(vara-wallet balance | jq -r .address)2. Verify position exists and is unclaimed
bash
# VARA lane
vara-wallet call $BASKET_MARKET BasketMarket/GetPositions \
--args '["'$MY_ADDR'"]' --idl $IDL | jq '.[] | select(.basket_id == <basket_id>)'
# BET lane
vara-wallet call $BET_LANE BetLane/GetPosition \
--args '["'$MY_ADDR'", <basket_id>]' --idl $BET_LANE_IDLCheck .
claimed: falseClaim (VARA Lane)
For baskets with :
asset_kind: "Vara"bash
vara-wallet --account agent call $BASKET_MARKET BasketMarket/Claim --voucher $VOUCHER_ID \
--args '[<basket_id>]' --idl $IDLReturns — payout amount in minimal VARA units (divide by 10^12 for VARA).
u128Example
bash
# Claim from basket 0
PAYOUT=$(vara-wallet --account agent call $BASKET_MARKET BasketMarket/Claim --voucher $VOUCHER_ID \
--args '[0]' --idl $IDL)
echo "Payout: $PAYOUT"Claim (BET Token Lane)
For baskets with :
asset_kind: "Bet"bash
vara-wallet --account agent call $BET_LANE BetLane/Claim --voucher $VOUCHER_ID \
--args '[<basket_id>]' --idl $BET_LANE_IDLReturns — payout amount in BET token units.
u256Example
bash
# Claim from basket 1 via BET lane
vara-wallet --account agent call $BET_LANE BetLane/Claim --voucher $VOUCHER_ID \
--args '[1]' --idl $BET_LANE_IDLPayout Calculation
payout = shares * (settlement_index / entry_index)The is pre-computed in the Settlement struct during proposal. You can preview your expected payout before claiming:
payout_per_sharebash
# Get settlement payout_per_share
SETTLEMENT=$(vara-wallet call $BASKET_MARKET BasketMarket/GetSettlement \
--args '[<basket_id>]' --idl $IDL)
echo $SETTLEMENT | jq '.result.ok.payout_per_share'See for detailed formula and examples.
../references/index-math.mdVerify After Claim
bash
# Check position is now claimed
vara-wallet call $BASKET_MARKET BasketMarket/GetPositions \
--args '["'$MY_ADDR'"]' --idl $IDL | jq '.[] | select(.basket_id == <basket_id>) | .claimed'
# Check VARA balance increased
vara-wallet balanceCommon Errors
| Error | Cause | Fix |
|---|---|---|
| Settlement not yet finalized | Wait for finalization |
| Already claimed this basket | No action needed |
| No position in this basket | Verify position exists |
| No settlement proposed | Wait for settler to propose |
| VARA transfer failed | Check contract balance, retry |