Open app

API reference

Markdown

Reopen a coinflip table

POST/v2/coinflips/{id}/reopen

Reopen a table the idle window closed while it still held a balance and before any cash-out.

Authentication: Required: the order’s owner session in X-Session-ID.

#Parameters

Name In Type Required Description
id path string (pattern ^[A-Za-z0-9:_-]{1,128}$) Yes Public order identifier. Not a credential: every read still requires the owner session or the destination proof.

#Response

200 returns an object with:

  • verdict · "settled" · "refused" · "closing" · "closed" · "reopened" · required
  • order · object · required
    • orderId · string · required
    • product · "coinflip" · required
    • status · "awaiting_deposit" · "awaiting_xmr1" · "awaiting_trx1" · "awaiting_zec1" · "processing" · "completed" · "failed" · "expired" · "refunded" · "needs_review" · required
    • asset · "xmr" · "btc" · "sol" · "eth" · "zec" · required — Coinflip-table pool asset key, never a display symbol.
    • direction · "deposit" · "withdraw" — deposit mints the wrapped asset from a native-coin deposit; withdraw returns the native coin against the wrapped asset.
    • chainId · integer or null · required — Non-negative integer chain identifier.
    • toAddress · string or null · required
    • depositAddress · string · required
    • createdAt · string or null · required
    • updatedAt · string or null · required
    • fromChainId · integer or null — Non-negative integer chain identifier.
    • depositChainId · integer or null — Non-negative integer chain identifier.
    • fromToken · string
    • depositToken · string
    • fromTokenSymbol · string
    • depositTokenSymbol · string
    • fromTokenDecimals · integer (0–36)
    • depositTokenDecimals · integer (0–36)
    • fromAmount · string
    • depositAmount · string
    • toChainId · integer or null — Non-negative integer chain identifier.
    • toToken · string
    • toTokenSymbol · string
    • toTokenDecimals · integer (0–36)
    • expectedOutput · string
    • depositTxHash · string or null
    • receivingTxHash · string or null
    • sessionId · string or null
    • refundAddress · string or null
    • refundRequestedAt · string or null
    • expiresAt · string
    • amountUsd · number
    • bonusStage · "none" · "coinflip"
    • coinflipRequested · boolean
    • fundingProvider · "privy" or null
    • integratorFeeUsd · number or null
    • customerState · one of the variants below · required — Authoritative customer display/action state. Clients must not infer lifecycle from status or resource presence.
      • Nested fields: see openapi.json.
    • confirmations · number
    • requiredConfirmations · number
    • depositObserved · boolean
    • errorMessage · string or null · required
    • actualOutput · string — What the customer received, in atomic units of deliveredToken when present, otherwise of toToken. Only on completed orders.
    • deliveredToken · object — Present only when the order completed in a different asset than toToken; actualOutput is then denominated in this token.
      • Nested fields: see openapi.json.
    • coinflipLost · boolean · required
    • hasReview · boolean · required
    • refundRecovery · object or null
      • Nested fields: see openapi.json.
    • rewards · object
      • Nested fields: see openapi.json.
    • maxPayoutUsd · number
    • destination · string
    • depositAddressForms · array of object
      • Nested fields: see openapi.json.
    • coinflip · object or null
      • Nested fields: see openapi.json.

Errors use the standard error envelope: branch on code, never on the message.

#Example

curl
curl -X POST 'https://api-beta.wagyu.xyz/v2/coinflips/<orderId>/reopen' \
  -H 'x-session-id: <sessionId>'
JavaScript
const res = await fetch('https://api-beta.wagyu.xyz/v2/coinflips/<orderId>/reopen', {
  method: 'POST',
  headers: {"x-session-id":"<sessionId>"},
});
const data = await res.json();
Python
import requests

res = requests.post('https://api-beta.wagyu.xyz/v2/coinflips/<orderId>/reopen', headers={"x-session-id":"<sessionId>"}, timeout=30)
data = res.json()

No response is captured for this route: calling it creates or changes a real order. The response fields above come from the live contract.

Tip: every page is also plain Markdown, and /llms.txt indexes them for AI tools.