Skip to main content
POST
https://api.pmx.trade
/
v2
/
markets
/
{slug}
/
claim
/
confirm
curl -X POST "https://api.pmx.trade/v2/markets/btc-100k-march/claim/confirm" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "wallet": "YourWalletPubkey...",
    "transferTxHash": "YourTokenTransferSignature..."
  }'
{
  "success": true,
  "data": {
    "slug": "btc-100k-march",
    "wallet": "YourWalletPubkey...",
    "outcome": "Yes",
    "payoutUsdc": 50,
    "tokenAmount": 100000,
    "tokenTransferTxHash": "YourTokenTransferSignature...",
    "usdcPayoutTxHash": "PlatformUsdcPayoutSignature..."
  }
}
After transferring your winning tokens to the platform wallet, use this endpoint to verify the transfer and receive your USDC payout.
slug
string
required
The market slug (e.g., btc-100k-march)

Request Body

wallet
string
required
Your Solana wallet address
transferTxHash
string
required
Transaction signature of your token transfer to the platform wallet
curl -X POST "https://api.pmx.trade/v2/markets/btc-100k-march/claim/confirm" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "wallet": "YourWalletPubkey...",
    "transferTxHash": "YourTokenTransferSignature..."
  }'
{
  "success": true,
  "data": {
    "slug": "btc-100k-march",
    "wallet": "YourWalletPubkey...",
    "outcome": "Yes",
    "payoutUsdc": 50,
    "tokenAmount": 100000,
    "tokenTransferTxHash": "YourTokenTransferSignature...",
    "usdcPayoutTxHash": "PlatformUsdcPayoutSignature..."
  }
}

Complete Claim Flow

  1. Check eligibility - Call POST /v2/markets/{slug}/claim with your wallet
  2. Get payout info - Response shows your token balance and expected USDC payout
  3. Transfer tokens - Send ALL winning tokens to the platform wallet address
  4. Confirm claim - Call this endpoint with the transfer transaction signature
  5. Receive USDC - Platform verifies the transfer and sends your USDC payout

Payout Calculation

USDC payout is calculated using a scaling factor:
scalingFactor = marketLimit / 100,000,000
payoutUsdc = tokenBalance × scalingFactor
For example, with a $100,000 market limit:
  • scalingFactor = 100,000 / 100,000,000 = 0.001
  • 100,000 tokens → 100 USDC payout

Error Responses

Token Transfer Not Verified
{
  "success": false,
  "error": {
    "code": "PAYMENT_FAILED",
    "message": "Token transfer verification failed: Insufficient amount"
  }
}
Already Claimed
{
  "success": false,
  "error": {
    "code": "ALREADY_CLAIMED",
    "message": "Winnings already claimed for this market"
  },
  "claim": {
    "claimedAt": "2026-01-20T15:30:00Z",
    "txHash": "PreviousClaimTxSignature..."
  }
}
Transaction Already Processed
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "This transaction has already been processed"
  }
}
You must transfer ALL your winning tokens in a single transaction. Partial transfers are not supported. Once claimed, you cannot claim again for the same wallet.
The USDC payout is automatically sent to your wallet after the token transfer is verified. The usdcPayoutTxHash in the response contains the platform’s payment transaction signature.