For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cash-out Responses

Destination
Source

Client

MTS

Cash-out response types

  • Cash-out Inform Reply (operation "cashout-inform", content type "cashout-inform-reply") is the response to the Cash-out Inform request.

  • Cash-out Build Reply (operation "cashout-build", content type "cashout-build-reply") is the response to the Cash-out Build request.

  • Cash-out Placement Reply (operation "cashout-placement", content type "cashout-placement-reply") is the response to the Cash-out Placement request.

  • Auto Cash-out Reply (operation "auto-cashout", content type "auto-cashout-reply") is the response to the Auto Cash-out request.

  • Auto Cash-out Cancel Reply (operation "auto-cashout-cancel", content type "auto-cashout-cancel-reply") is the response to the Auto Cash-out Cancel request.

  • Cash-out Build Subscription Reply (operation "cashout-build-subscription", content type "cashout-build-subscription-reply") is the response to the Cash-out Build Subscription request.

For an overview of requests and responses, please see Cash-out Requests.


Envelope and Content table:

The envelope provides the content's (Cash-out response) context and contains the following fields (besides Content):

  • correlationId

  • timestampUtc

  • operation

  • version

Example
Field Name
Field Description
Mandatory/ Optional
Data Type

content

See Content object description below

M

Object

correlationId

Client defined string to facilitate the request-response pairing, Sportradar is obliged to return the same string in every response

M

String

timestampUtc

Timestamp of ticket placement as submitted by the client (Unix time in milliseconds format), minimal: 1, maximum: 9223372036854776000

M

Integer

operation

Declaration of ticket content type, should be "cashout-inform" in case of Cash-out Inform Reply or "cashout-build" or "cashout-placement" or "auto-cashout" or "auto-cashout-cancel" or "cashout-build-subscription"

M

String

version

Indicates the ticket format version

M

String

Please note that in the case of major ticket errors or internal system errors, the content object has a different structure and contains "type": "error-reply". For description, see Error-reply Response.

1. cashout-inform-reply Content object

The Content object includes the following fields:

  • type

  • cashoutId

  • signature

  • status

  • ticketId

  • code

  • message

Content object table:

Example
Field Name
Field Description
Mansatory /Optional
Data Type

Object

type

Declaration of content type, should be "cashout-inform-reply"

or "error-reply" in the case of major ticket errors or internal system errors (see also Error-reply Response).

M

String

cashoutId

ID from the corresponding request, minimal string length = 1, maximum string length = 128

O

String

signature

String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS, minimal string length = 1, maximum string length = 128

M

String

status

Request outcome, enumerator:

  • accepted

  • rejected

M

String

ticketId

ID of the initial ticket (defined by client) which is to be affected with this cash-out

M

String

code

Cash-out response code, see list of codes below

M

Integer

message

Readable ticket response validation code, minimal string length = 1, maximum string length = 128

O

String

2. cashout-build-reply Content object

The Content object includes the following fields:

  • type

  • cashoutId

  • signature

  • status

  • ticketId

  • code

  • message

  • ltd

  • cashout

  • endCustomerSuggestions

  • channelSuggestions

  • betDetails

  • exchangeRate

  • cashoutChanges

Content object table:

Example
Field Name
Field Description
Mandatory /Optional
Data Type

Object

type

Declaration of content type, should be "cashout-build-reply"

or "error-reply" in the case of major ticket errors or internal system errors (see also Error-reply Response).

M

String

cashoutId

ID from the corresponding request, minimal string length = 1, maximum string length = 128

O

String

signature

String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS, minimal string length = 1, maximum string length = 128

M

String

status

Request outcome, enumerator:

  • accepted

  • rejected

O

ticketId

ID of the initial ticket (defined by client) which is to be affected with this cash-out

M

String

code

Cash-out response code, see list of codes below

M

Integer

message

Readable ticket response validation code, minimal string length = 1, maximum string length = 128

O

String

ltd

Live time delay suggestion

O

Object

  • modelSuggestedLtd

Action suggested by the AI LTD model, enum:

  • Delay (currently the only option implemented)

  • Skip

  • None

O

String

  • configuredLtd

Configured LTD calculated from event coverage or explicit LTD setting, all data is configured in the MTS Console, min: 0, max: 15

O

Integer

  • suggestedLtd

Suggested LTD calculated from event data latency AI model, min: 0, max: 15

O

Integer

  • accountLbsLtdOffset

LTD offset derived from account (punter) Late Bet Score, min: 0, max: 15

O

Integer

  • liveSelectionLtdOffset

LTD offset derived from the number of live selections, configured in MTS Console (default: -2 seconds in the case of 3 or more live selections),

must be less than zero or zero

O

Integer

  • appliedLtd

MTS recommended LTD, calculated from: max of configured and suggested + account offset + live selection offset, min: 0, max: 15

O

Integer

cashout

Cashout suggestions

O

Object

  • cashoutType

Enum:

  • ticket

  • bet

O

String

  • cashoutId

Unique cash-out ID from the client's system, min length 1, max length 128

O

String

  • maxPayout

Current maximum potential ticket win (cashout cannot be greater that this),

Array of Payout With Source objects, min. number =1, max. number = 5

O

Array

  • fairCashout

Fair cashout calculation: Fair Cashout Value = Σ [Combination Stake × Combination Odds × Combination Probability]. Array of Payout With Source objects, min. number =1, max. number = 5

O

Array

  • cashout

Calculation: Fair Cashout is used as the foundation and adjusted using additional margin factors and compensation factors (configurable in the Insight Tech UI). Array of Payout With Source objects, min. number =1, max. number = 5

O

Array

endCustomerSuggestions

O

Object

  • endCustomer

Data about client's end-customer (bettor)

M

Object

    • id

End customer's unique ID (in client's system). The same as included in the original ticket.

M

String

    • confidence

End customer's suggested CCF, Java regex: ^\d{1,8}(.\d{1,8})?$

O

String

  • appliedConfidence

Calculated end-customer (punter) CCF

O

String

  • suggestedConfidence

AI model suggested end-customer (punter) CCF

O

String

  • suggestedLateBetScore

AI model suggested end-customer (punter) LBS

O

String

  • suggestedMarkerScore

AI model suggested end-customer (punter) Marker Score

O

String

  • suggestedBotScore

AI model suggested end-customer (punter) Bot Score

O

String

betDetails

O

Array

  • betId

Unique bet id (in the client's system), minimal string length = 1, maximum length = 128

O

String

  • selectionDetails

For object description, see Build Reply Selection Detail object

M

Object

  • payout

Sum of previous payouts on the bet, min no. of array items = 1, max no. = 5 For object description, see Payout With Source object

O

Array

  • settledPercentage

Percentage of currently settled stake, Java regex: ^0(.\d{1,8})?$

O

String

exchangeRate

See exchangeRate description on the Ticket Placement Response

O

Array

cashoutChanges

Reflects accepted changes when the actual cashout differs from what was requested.

O

Object

  • payout

See the payout object description in the Details ("type": "ticket") table, min. number =1, max. number = 5

O

Array

Payout With Source object

The Payout With Source object contains the following fields:

  • type

  • amount

  • currency

  • source

  • traceId

  • stakeOrigin

Payout With Source object table :

Example
Field Name
Field Description
Mandatory /Optional
Data Type

{

type

Enum:

  • cash

  • withheld

M

String

amount

String pattern: 1 up to 8 digits, optionally followed by a decimal point and 1 up to 8 digits, Java regex: ^\\d{1,8}(\\.\\d{1,8})?$

M

String

currency

2 to 4 letter currency code, BTC and mBTC are also supported (4 letters only apply to mBTC). For more details please check https://www.iso.org/iso-4217-currency-codes.html

M

String

source

Enum:

  • cash

  • bonus

  • odds-boost

  • cancel

  • cashout

  • ext-settlement

  • manual-cancel

  • manual-cashout

M

String

traceId

A string to help identify the source of operation/action/state

Minimal string length = 1, maximum length = 128

O

String

stakeOrigin

Enum:

  • cash

  • bonus

  • free

  • free-cash

  • free-rollover

O

String

Build Reply Selection Detail object

The Build Reply Selection Detail object contains the following fields:

  • selection

  • appliedEventRating

  • suggestedEventRating

  • configuredLtd

  • suggestedLtd

  • appliedMarketFactor

  • currentProbability

  • currentResult

Build Reply Selection Detail object table :

Example
Field Name
Field Description
Mandatory /Optional
Data Type

selection

A selection that was included in the Ticket Placement Request is returned here, however included can be only selections of "type":"uf" or "type":"external" or "type":"uf-custom-bet"

M

Object

appliedEventRating

Applied event rating for the selection

O

Integer

suggestedEventRating

Suggested event rating for the selection

O

Integer

configuredLtd

Configured LTD calculated from event coverage or explicit LTD setting, min. = 0, max. = 15

O

Integer

suggestedLtd

Suggested LTD calculated from event data latency mode, min. = 0, max. = 15

O

Integer

appliedMarketFactor

Applied market factor for the selection, Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

O

String

currentProbability

Current probabilities for the selection

O

Object

  • type

Enum:

  • win

  • push

M

String

  • win

Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

M

String

  • halfWin

Not present if "type": "win", Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

M Only if "type": "push"

String

  • halfWin

Not present if "type": "win", Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

M Only if "type": "push"

String

  • halfLose

Not present if "type": "win", Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

M Only if "type": "push"

String

currentResult

Current result for the selection

O

Object

  • type

Enum:

  • unsettled

  • win

  • lost

  • void

  • cashout

  • cancel

M

String

  • voidFactor

Only present if "type": "win" or "type": "lost", Void factor for the selection result, Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

O

String

  • deadHeatFactor

Only present if "type": "win", Dead-heat factor for the selection result, Java regex: ^0(\\.\\d{1,8})?|1(\\.0{1,8})?$

O

String

3. cashout-placement-reply Content object

The Content object includes the following fields:

  • type

  • cashoutId

  • signature

  • status

  • ticketId

  • code

  • message

  • cashoutChanges

Content object table:

Example
Field Name
Field Description
Mandatory /Optional
Data Type

type

SDeclaration of content type, should be "cashout-placement-reply"

or "error-reply" in the case of major ticket errors or internal system errors (see also Error-reply Response)

M

String

cashoutId

ID from the corresponding request, minimal string length = 1, maximum string length = 128

O

String

signature

String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS, minimal string length = 1, maximum string length = 128

M

String

status

Request outcome, enum:

  • accepted

  • rejected

M

String

ticketId

ID of the initial ticket (defined by client) which is to be affected with this cash-out

M

String

code

Cash-out response code, see list of codes below

M

Integer

message

Readable ticket response validation code, minimal string length = 1, maximum string length = 128

O

String

cashoutChanges

Reflects accepted changes when the actual cashout differs from what was requested.

O

Object

  • payout

See the payout array description in the Details ("type": "ticket") table; min. number =1, max. number = 5

O

Array

4. auto-cashout-reply, auto-cashout-cancel-reply Content objects

The Content object includes the following fields:

  • type

  • autoCashoutId (or cancellationId in the case of auto-cashout-cancel-reply)

  • signature

  • status

  • ticketId

  • code

  • message

Content object table:

Example
Field Name
Field Description
Mandatory /Optional
Data Type

type

Declaration of content type, should be "auto-cashout-reply" or "auto-cashout-cancel-reply"

or "error-reply" in the case of major ticket errors or internal system errors (see also Error-reply Response)

M

String

autoCashoutId (or cancellationId in case of "auto-cashout-cancel-reply))

ID from the corresponding request, minimal string length = 1, maximum string length = 128

O

String

signature

String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS, minimal string length = 1, maximum string length = 128

M

String

status

Request outcome, enum:

  • accepted

  • rejected

M

String

ticketId

ID of the initial ticket (defined by client) which is to be affected with this cash-out

M

String

code

Cash-out response code, see list of codes below

M

Integer

message

Readable ticket response validation code, minimal string length = 1, maximum string length = 128

O

String

5. cashout-build-subscription-reply Content object

The Cash-out Build Subscription Reply responds to a Cash-out Build Subscription request. It includes the same fields as the standard Cash-out Build Reply. It also returns the current cash-out value for the subscribed ticket or bet. If that value changes, MTS sends subsequent suggestions over a separate Transaction Stream WebSocket connection. Each update uses the cashout-build-reply format. The subscription stays active for up to 5 minutes. To establish the Transaction Stream WebSocket connection, see Connectivity.

The Content object includes the following fields:

  • type

  • cashoutId

  • signature

  • status

  • ticketId

  • code

  • message

  • ltd

  • cashout

  • endCustomerSuggestions

  • channelSuggestions

  • betDetails

  • exchangeRate

Content object table:

Example
Field Name
Field Description
Mandatory /Optional
Data Type

Object

type

Declaration of content type, should be "cashout-build-subscription-reply"

or "error-reply" in the case of major ticket errors or internal system errors (see also Error-reply Response).

M

String

cashoutId

ID from the corresponding request, minimal string length = 1, maximum string length = 128

O

String

signature

String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS, minimal string length = 1, maximum string length = 128

M

String

status

Request outcome, enumerator:

  • accepted

  • rejected

O

String

ticketId

ID of the initial ticket (defined by client) which is to be affected with this cash-out

M

String

code

Cash-out response code, see list of codes below

M

Integer

message

Readable ticket response validation code, minimal string length = 1, maximum string length = 128

O

String

ltd

Live time delay suggestion, see cashout-build-reply for details

O

Object

cashout

Cashout suggestions, see cashout-build-reply for details

O

Object

endCustomerSuggestions

End customer suggestions, see cashout-build-reply for details

O

Object

channelSuggestions

Channel suggestions

O

Object

betDetails

Bet details, see cashout-build-reply for details

O

Array

exchangeRate

See exchangeRate description on the Ticket Placement Response

O

Array


Interpreting build and placement responses

A cashout-build-reply describes the current state of the ticket at the time the build was processed. It is not a reservation, guarantee, or quote with a mandatory expiry period.

The values can change between build and placement because of:

  • market probability changes;

  • settlement of selections;

  • market suspension or closure;

  • event-state changes;

  • live time-delay processing;

  • changes to the ticket's eligibility.

The client must therefore treat the build response as informational until a cashout-placement-reply with an accepted status has been received.

A placement request is validated using the current state at placement time. There are no general placement tolerances for an outdated build value. If the requested value is no longer valid, or the ticket is no longer eligible, placement may be rejected.

If the placement context enables automatic acceptance of a changed cash-out value, the response may contain the actual accepted payout in cashoutChanges. The client must use the accepted value from the placement response when updating the bettor's balance.

After a placement request has been sent, the client should stop unnecessary build requests and prevent duplicate user actions for the same target until the placement response has been processed.

Identifier handling

The following identifiers have different purposes:

  • ticketId: the client-defined identity of the original ticket;

  • ticketSignature: the signature returned by MTS with the original ticket-placement response and used to identify the ticket in later cash-out requests;

  • cashoutId: a client-facing identifier for a cash-out request;

  • correlationId: a client-facing identifier used to pair a request and response;

  • signature: an MTS-generated proof attached to a response.

The cashoutId and correlationId should be unique. They are intended for client-side tracking, response correlation, and troubleshooting. They are not the primary internal identifiers used by MTS for transaction processing and persistence.

The signature returned in a cashout-build-reply is not currently required in a later cashout-placement request.

Placement response and local payout

For a managed cash-out, the client must wait for the cashout-placement-reply before paying the bettor locally.

  • status = accepted: the managed cash-out was accepted. The client can finalise the local payout using the accepted payout represented by the response.

  • status = rejected: the client must not pay the bettor based on the preceding build response. If the ticket remains eligible, the client may request a new build and present an updated offer.

  • a major ticket or internal processing failure may be returned as type = error-reply; clients should apply the general error-handling rules for that response type.

A successful placement updates the cash-out state and liabilities. It does not require a subsequent cashout-inform request.

Cash-out response codes

For general validation codes, please refer to Validation codes.

Code
Description

Transaction processed

Client (bookmaker) not found

Cash-out disabled for particular client (bookmaker) or Limit ID

Ticket not found

Ticket rejected

Ticket version lower than 3.0

Requested cash-out is lower than the minimum allowed amount

Requested cash-out exceeds the maximum allowed amount

Bet ID not found

Ticket has been already manually settled

Cash-out factor is outside the allowed range of 0-100%

Cash-out factor is lower than existing (when the cash-out factor is lower than the previous one)

Conflicting previous cash-out (bet/ticket level)

Auto cash-out request contains threshold configuration that is currently not supported.

Auto cash-out request contains unsupported payout configuration.

Auto cash-out value exceeds the maximum allowed payout.

Auto cash-out request already fulfilled: current cash-out value meets or exceeds the requested threshold.

Requested cash-out amount differs from the current cash-out value.

Requested cash-out amount exceeds the current cash-out value.

Operator (Limit ID) not authorised to use the cash-out validation feature (cashout-placement)

Operator (Limit ID) not authorised to use the cash-out API feature

Cash-out settings not found for Limit ID

Cash-out currency was not found in the transaction

Cash-out calculation failed due to internal or upstream error

Fair odds are lower than the accepted odds. Cash-out is not permitted when expected profit/loss is negative at ticket placement time.

Selection contains unsupported product ID

Selection has unsupported event status

Probabilities not found for selection

Ticket external selections are not allowed

Market suspended (offer status inactive, no PAPI fallback)

Invalid selection status (PAPI cashout_status)

Custom Bet probabilities not received

Tournament is not active in the admin console.

Event is not active in the admin console.

Market is not active in the admin console.

Internal system error

Last updated

Was this helpful?