Skip to main content
POST
/
operations
/
redeem-position
Redeem position
curl --request POST \
  --url https://relayer.kuest.com/operations/redeem-position \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "SAFE",
  "from": "0x0B2B3E6B323C0Cd7bEaf4B7cC73b983D4E9B12c7",
  "to": "0xCeAfDb29f9fC7c25fF6F0768d45b288c9b7C5cA5",
  "proxyWallet": "0x3f8Be6FC21f4a5127A42CE1aF58d8bCb8A94F3c1",
  "data": "0x5c778605...",
  "nonce": "9",
  "value": "0",
  "signature": "0xf368488355b0566e99eff3bccc35e98b77d8f3a6e6866176188488c34f0305b07e4a4c600c7a1592e4ac1e96b5887ebff2cb26987a3ad501006b39944df098c21f",
  "signatureParams": {
    "operation": "0",
    "safeTxnGas": "0",
    "baseGas": "0",
    "gasPrice": "0",
    "gasToken": "0x0000000000000000000000000000000000000000",
    "refundReceiver": "0x0000000000000000000000000000000000000000"
  },
  "metadata": "redeem position"
}
'
{
  "txHash": "0x0123...",
  "confirmations": 1
}
Redeem resolved outcome tokens for collateral by having the relayer call redeemPositions. This is typically the final step once a market has been settled on-chain.
POST to https://relayer.kuest.com/operations/redeem-position with the usual L2 headers. You will receive the relayer-broadcast hash and confirmations for the Safe execution.

Request body

redeem-position accepts the same payload as POST /submit. Use:
  • type: SAFE
  • proxyWallet: Safe address executing the call
  • to: Conditional Tokens contract address
  • data: ABI-encoded redeemPositions(...) calldata
All other fields (from, nonce, signature, signatureParams, value, metadata) follow the /submit schema.

Notes

  • Ensure the outcomes have resolved; otherwise the Safe transaction will revert.
  • The nonce must match GET /nonce with type=SAFE; mismatches return 409.
  • Collateral is paid out to the Safe (proxyWallet) that executed the call.
  • Validation failures (bad hex, missing fields) return 400. Execution issues surface as 502 with the RPC error appended to error.

Body

application/json

Signed SAFE payload executed immediately by relayer operations.

type
enum<string>
required
Available options:
SAFE
from
string
required

Safe owner submitting the request.

to
string
required

Contract to execute.

proxyWallet
string
required

Existing Safe proxy address.

data
string
required
nonce
string
required
signature
string
required
signatureParams
object
required
value
string
default:0
metadata
string | null

Response

Transaction broadcast by the relayer.

txHash
string
required
confirmations
integer<int32>
required