curl --request GET \
--url https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"lp": {
"lpName": "<string>",
"lpSource": "<string>",
"routingPathLabel": "<string>",
"solverId": "<string>",
"bilateralStatus": "<string>",
"settlementSlaStatus": "<string>",
"settlementSpeedMs": 1
},
"settlement": {
"status": "<string>",
"cexLane": {
"deposits": [
{
"accountAssetKey": "<string>",
"amount": "<string>",
"applicationTransaction": {
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
},
"depositKey": "<string>",
"ledger": "<string>",
"confirmation": {
"forwardTransaction": {
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
},
"transaction": {
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
},
"venueDepositId": "<string>",
"venueTxHash": "<string>"
}
}
],
"tradeFills": [
{
"actualInputAmount": "<string>",
"actualOutputAmount": "<string>",
"evidenceHash": "<string>",
"ledger": "<string>",
"tradeId": "<string>",
"transaction": {
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
},
"venueFillId": "<string>"
}
]
},
"failureReason": "<string>",
"fillTx": {
"chain": "<string>",
"explorerUrl": "<string>",
"hash": "<string>"
},
"finaliseTx": {
"chain": "<string>",
"explorerUrl": "<string>",
"hash": "<string>"
},
"oracle": {
"name": "<string>",
"messageId": "<string>",
"status": "<string>"
},
"proofTx": {
"chain": "<string>",
"explorerUrl": "<string>",
"hash": "<string>"
},
"recipientWallet": "<string>",
"settlementSpeedMs": 1,
"settlementStage": "<string>",
"submitTx": {
"chain": "<string>",
"explorerUrl": "<string>",
"hash": "<string>"
},
"transactions": [
{
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
}
],
"userDepositWallet": "<string>"
},
"trade": {
"createdAt": "2023-11-07T05:31:56Z",
"executionPrice": {
"source": "stored_quote_price",
"baseSymbol": "<string>",
"quoteSymbol": "<string>",
"value": "<string>"
},
"lifecycleStatus": {
"bucket": "inProgress",
"flowKind": "<string>",
"isTerminal": true,
"primary": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rank": 1,
"rawStatus": "<string>",
"execution": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rawDeferredStatus": "<string>",
"settlement": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"withdrawal": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
}
},
"orderId": "<string>",
"route": {
"buy": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"sell": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
}
},
"routingPathLabel": "<string>",
"status": "<string>",
"amountUsd": 123,
"apiKey": {
"keyId": "<string>",
"name": "<string>"
},
"channel": "ui",
"deferredSettlement": {
"autoWithdraw": true,
"stage": "<string>",
"estimatedSettlementAvailableAt": "2023-11-07T05:31:56Z",
"executedAt": "2023-11-07T05:31:56Z",
"settlementWindowHours": 1,
"withdrawalStatus": "<string>",
"withdrawalTrackingId": "<string>",
"withdrawalTxHash": "<string>"
},
"deliveredBuy": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"deliveredBuyProvenance": "<string>",
"fillTimeMs": 1,
"routingPath": {
"type": "direct"
},
"slippageBps": 123,
"slippageToleranceBps": 123
},
"buy": {
"asset": "<string>",
"amount": "<string>"
},
"connectionId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"executionStatus": "notSubmitted",
"executionTypeId": "<string>",
"lifecycleStatus": {
"bucket": "inProgress",
"flowKind": "<string>",
"isTerminal": true,
"primary": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rank": 1,
"rawStatus": "<string>",
"execution": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rawDeferredStatus": "<string>",
"settlement": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"withdrawal": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
}
},
"operationId": "<string>",
"providerSite": "<string>",
"sell": {
"asset": "<string>",
"amount": "<string>"
},
"submittedByYou": true,
"venueAccountName": "<string>",
"venueName": "<string>",
"kind": "order",
"projection": "mine",
"tradeId": "<string>",
"fees": {
"totals": {
"totalCostUsd": 123,
"lpSpreadUsd": 123,
"protocolFeeUsd": 123,
"solverGasUsd": 123,
"userGasUsd": 123
},
"rows": [
{
"chain": "<string>",
"feeKind": "<string>",
"feePayer": "<string>",
"recordedAt": "2023-11-07T05:31:56Z",
"sequenceNumber": 123,
"txType": "<string>",
"feeUsd": 123,
"feeWei": "<string>",
"gasPriceWei": "<string>",
"gasUsed": "<string>",
"txHash": "<string>"
}
]
},
"legs": [
{
"buy": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"index": 1,
"kind": "<string>",
"label": "<string>",
"sell": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"status": "<string>",
"counterparty": {
"counterpartyType": "<string>",
"jurisdiction": "<string>",
"kybStatus": "<string>",
"licences": [
{
"jurisdiction": "<string>",
"licenceType": "<string>",
"status": "<string>",
"expiresAt": "2023-11-07T05:31:56Z"
}
],
"provenance": "kybVerified"
},
"destChainId": 1,
"etaSeconds": 1,
"externalRefs": [
{
"kind": "<string>",
"value": "<string>",
"url": "<string>"
}
],
"feeUsd": 123,
"measuredBuy": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"measuredBuySource": "<string>",
"product": "<string>",
"provider": "<string>",
"sourceChainId": 1,
"tradeLeg": {
"direction": "pay_in",
"legId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settlementRail": "bank",
"state": "planned",
"boundLapsesAt": "2023-11-07T05:31:56Z",
"confirmAgainReason": "priceBeyondBound",
"consentedPayoutFee": "<string>",
"creditedAmount": "<string>",
"currentPayoutFee": "<string>",
"declaredPayoutFee": "<string>",
"destination": {
"kind": "wallet",
"ref": "<string>",
"approvalId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"expectedArrivalAt": "2023-11-07T05:31:56Z",
"expectedArrivalSource": "<string>",
"finality": "final",
"fundingDeadlineAt": "2023-11-07T05:31:56Z",
"fundingModel": "prefunded",
"fundsReceivedAt": "2023-11-07T05:31:56Z",
"holidaysApplied": true,
"outcomeCode": "<string>",
"overdueAt": "2023-11-07T05:31:56Z",
"overdueSince": "2023-11-07T05:31:56Z",
"ownBankVerification": {
"source": "revolutBusiness",
"state": "verified",
"credit": {
"amount": "<string>",
"creditedAt": "2023-11-07T05:31:56Z",
"currency": "<string>",
"referenceMasked": "<string>"
},
"lastGoodReadAt": "2023-11-07T05:31:56Z",
"matchedBy": "referenceAndAmount",
"reason": "<string>",
"reviewItemId": "<string>"
},
"payoutApproval": {
"approvalsRequired": 1,
"approverNames": [
"<string>"
],
"approvalRequestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"approverGroup": "<string>",
"approverGroupName": "<string>",
"runId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"payoutBreakdown": {
"basis": "consent",
"fee": "<string>",
"receivedMax": "<string>",
"receivedMin": "<string>",
"withdrawn": "<string>",
"charging": "deducted"
},
"payoutBreakdownUnavailableReason": "<string>",
"payoutHeldReason": "<string>",
"quotedExpectedArrivalAt": "2023-11-07T05:31:56Z",
"rail": "<string>",
"railOption": "standard",
"railReference": {
"state": "not_reported_yet"
},
"recipientConfirmation": {
"confirmationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmedAt": "2023-11-07T05:31:56Z",
"confirmedBy": "<string>",
"confirmedByName": "<string>",
"legId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"returnWindowEndsAt": "2023-11-07T05:31:56Z",
"returnedAfterSettlement": {
"detectedAt": "2023-11-07T05:31:56Z",
"reviewItemId": "<string>"
},
"returnedTo": "lpAccount",
"reviewAt": "2023-11-07T05:31:56Z",
"reviewEnteredAt": "2023-11-07T05:31:56Z",
"reviewItemId": "<string>",
"reviewReason": "uncertain_send",
"submittedAt": "2023-11-07T05:31:56Z",
"transactionHash": "<string>",
"venueReportedCredited": true,
"venueWithdrawalId": "<string>"
},
"transactions": [
{
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
}
],
"venueRouteId": "<string>"
}
],
"orderKind": "<string>",
"substatus": "<string>",
"substatusMessage": "<string>",
"apiKey": {
"keyId": "<string>",
"name": "<string>"
},
"executionPrice": "<string>",
"executionPriceUnit": {
"baseAsset": "<string>",
"quoteAsset": "<string>"
},
"feesPaid": "<string>",
"financials": {
"fee": {
"treatment": "included_in_price",
"amount": "<string>",
"asset": "<string>",
"basis": "<string>",
"lines": [
{
"amount": "<string>",
"asset": "<string>"
}
],
"tradeFeeReport": "not_reported"
},
"legs": [
{
"direction": "pay_in",
"legId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settlementRail": "bank",
"state": "planned",
"boundLapsesAt": "2023-11-07T05:31:56Z",
"confirmAgainReason": "priceBeyondBound",
"consentedPayoutFee": "<string>",
"creditedAmount": "<string>",
"currentPayoutFee": "<string>",
"declaredPayoutFee": "<string>",
"destination": {
"kind": "wallet",
"ref": "<string>",
"approvalId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"expectedArrivalAt": "2023-11-07T05:31:56Z",
"expectedArrivalSource": "<string>",
"finality": "final",
"fundingDeadlineAt": "2023-11-07T05:31:56Z",
"fundingModel": "prefunded",
"fundsReceivedAt": "2023-11-07T05:31:56Z",
"holidaysApplied": true,
"outcomeCode": "<string>",
"overdueAt": "2023-11-07T05:31:56Z",
"overdueSince": "2023-11-07T05:31:56Z",
"ownBankVerification": {
"source": "revolutBusiness",
"state": "verified",
"credit": {
"amount": "<string>",
"creditedAt": "2023-11-07T05:31:56Z",
"currency": "<string>",
"referenceMasked": "<string>"
},
"lastGoodReadAt": "2023-11-07T05:31:56Z",
"matchedBy": "referenceAndAmount",
"reason": "<string>",
"reviewItemId": "<string>"
},
"payoutApproval": {
"approvalsRequired": 1,
"approverNames": [
"<string>"
],
"approvalRequestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"approverGroup": "<string>",
"approverGroupName": "<string>",
"runId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"payoutBreakdown": {
"basis": "consent",
"fee": "<string>",
"receivedMax": "<string>",
"receivedMin": "<string>",
"withdrawn": "<string>",
"charging": "deducted"
},
"payoutBreakdownUnavailableReason": "<string>",
"payoutHeldReason": "<string>",
"quotedExpectedArrivalAt": "2023-11-07T05:31:56Z",
"rail": "<string>",
"railOption": "standard",
"railReference": {
"state": "not_reported_yet"
},
"recipientConfirmation": {
"confirmationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmedAt": "2023-11-07T05:31:56Z",
"confirmedBy": "<string>",
"confirmedByName": "<string>",
"legId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"returnWindowEndsAt": "2023-11-07T05:31:56Z",
"returnedAfterSettlement": {
"detectedAt": "2023-11-07T05:31:56Z",
"reviewItemId": "<string>"
},
"returnedTo": "lpAccount",
"reviewAt": "2023-11-07T05:31:56Z",
"reviewEnteredAt": "2023-11-07T05:31:56Z",
"reviewItemId": "<string>",
"reviewReason": "uncertain_send",
"submittedAt": "2023-11-07T05:31:56Z",
"transactionHash": "<string>",
"venueReportedCredited": true,
"venueWithdrawalId": "<string>"
}
],
"quotedOutput": "<string>"
},
"inputSpent": "<string>",
"notSentReason": "QUOTE_RECONFIRMATION_REQUIRED",
"outcomeCode": "<string>",
"outputReceived": "<string>",
"pair": "<string>",
"placedBy": {
"kind": "member",
"name": "<string>",
"userId": "<string>"
},
"statedExecutionPrice": {
"baseAsset": "<string>",
"quoteAsset": "<string>",
"basis": "market_convention",
"value": "<string>"
},
"tetrafiFee": "<string>",
"tetrafiFeeAsset": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}GET /api/v1/workspaces/{workspaceId}/trades/{tradeId}
One trade through the same projection as the list: the workspace’s or the caller’s own taker order or venue trade, a broker umbrella record with the client category’s field visibility, or an LP’s fill with pseudonymised counterparties. Taker orders keep their detail fields at the top level. Accepts a member session or an API key with trades_read.
curl --request GET \
--url https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades/{tradeId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"lp": {
"lpName": "<string>",
"lpSource": "<string>",
"routingPathLabel": "<string>",
"solverId": "<string>",
"bilateralStatus": "<string>",
"settlementSlaStatus": "<string>",
"settlementSpeedMs": 1
},
"settlement": {
"status": "<string>",
"cexLane": {
"deposits": [
{
"accountAssetKey": "<string>",
"amount": "<string>",
"applicationTransaction": {
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
},
"depositKey": "<string>",
"ledger": "<string>",
"confirmation": {
"forwardTransaction": {
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
},
"transaction": {
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
},
"venueDepositId": "<string>",
"venueTxHash": "<string>"
}
}
],
"tradeFills": [
{
"actualInputAmount": "<string>",
"actualOutputAmount": "<string>",
"evidenceHash": "<string>",
"ledger": "<string>",
"tradeId": "<string>",
"transaction": {
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
},
"venueFillId": "<string>"
}
]
},
"failureReason": "<string>",
"fillTx": {
"chain": "<string>",
"explorerUrl": "<string>",
"hash": "<string>"
},
"finaliseTx": {
"chain": "<string>",
"explorerUrl": "<string>",
"hash": "<string>"
},
"oracle": {
"name": "<string>",
"messageId": "<string>",
"status": "<string>"
},
"proofTx": {
"chain": "<string>",
"explorerUrl": "<string>",
"hash": "<string>"
},
"recipientWallet": "<string>",
"settlementSpeedMs": 1,
"settlementStage": "<string>",
"submitTx": {
"chain": "<string>",
"explorerUrl": "<string>",
"hash": "<string>"
},
"transactions": [
{
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
}
],
"userDepositWallet": "<string>"
},
"trade": {
"createdAt": "2023-11-07T05:31:56Z",
"executionPrice": {
"source": "stored_quote_price",
"baseSymbol": "<string>",
"quoteSymbol": "<string>",
"value": "<string>"
},
"lifecycleStatus": {
"bucket": "inProgress",
"flowKind": "<string>",
"isTerminal": true,
"primary": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rank": 1,
"rawStatus": "<string>",
"execution": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rawDeferredStatus": "<string>",
"settlement": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"withdrawal": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
}
},
"orderId": "<string>",
"route": {
"buy": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"sell": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
}
},
"routingPathLabel": "<string>",
"status": "<string>",
"amountUsd": 123,
"apiKey": {
"keyId": "<string>",
"name": "<string>"
},
"channel": "ui",
"deferredSettlement": {
"autoWithdraw": true,
"stage": "<string>",
"estimatedSettlementAvailableAt": "2023-11-07T05:31:56Z",
"executedAt": "2023-11-07T05:31:56Z",
"settlementWindowHours": 1,
"withdrawalStatus": "<string>",
"withdrawalTrackingId": "<string>",
"withdrawalTxHash": "<string>"
},
"deliveredBuy": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"deliveredBuyProvenance": "<string>",
"fillTimeMs": 1,
"routingPath": {
"type": "direct"
},
"slippageBps": 123,
"slippageToleranceBps": 123
},
"buy": {
"asset": "<string>",
"amount": "<string>"
},
"connectionId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"executionStatus": "notSubmitted",
"executionTypeId": "<string>",
"lifecycleStatus": {
"bucket": "inProgress",
"flowKind": "<string>",
"isTerminal": true,
"primary": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rank": 1,
"rawStatus": "<string>",
"execution": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rawDeferredStatus": "<string>",
"settlement": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"withdrawal": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
}
},
"operationId": "<string>",
"providerSite": "<string>",
"sell": {
"asset": "<string>",
"amount": "<string>"
},
"submittedByYou": true,
"venueAccountName": "<string>",
"venueName": "<string>",
"kind": "order",
"projection": "mine",
"tradeId": "<string>",
"fees": {
"totals": {
"totalCostUsd": 123,
"lpSpreadUsd": 123,
"protocolFeeUsd": 123,
"solverGasUsd": 123,
"userGasUsd": 123
},
"rows": [
{
"chain": "<string>",
"feeKind": "<string>",
"feePayer": "<string>",
"recordedAt": "2023-11-07T05:31:56Z",
"sequenceNumber": 123,
"txType": "<string>",
"feeUsd": 123,
"feeWei": "<string>",
"gasPriceWei": "<string>",
"gasUsed": "<string>",
"txHash": "<string>"
}
]
},
"legs": [
{
"buy": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"index": 1,
"kind": "<string>",
"label": "<string>",
"sell": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"status": "<string>",
"counterparty": {
"counterpartyType": "<string>",
"jurisdiction": "<string>",
"kybStatus": "<string>",
"licences": [
{
"jurisdiction": "<string>",
"licenceType": "<string>",
"status": "<string>",
"expiresAt": "2023-11-07T05:31:56Z"
}
],
"provenance": "kybVerified"
},
"destChainId": 1,
"etaSeconds": 1,
"externalRefs": [
{
"kind": "<string>",
"value": "<string>",
"url": "<string>"
}
],
"feeUsd": 123,
"measuredBuy": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"measuredBuySource": "<string>",
"product": "<string>",
"provider": "<string>",
"sourceChainId": 1,
"tradeLeg": {
"direction": "pay_in",
"legId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settlementRail": "bank",
"state": "planned",
"boundLapsesAt": "2023-11-07T05:31:56Z",
"confirmAgainReason": "priceBeyondBound",
"consentedPayoutFee": "<string>",
"creditedAmount": "<string>",
"currentPayoutFee": "<string>",
"declaredPayoutFee": "<string>",
"destination": {
"kind": "wallet",
"ref": "<string>",
"approvalId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"expectedArrivalAt": "2023-11-07T05:31:56Z",
"expectedArrivalSource": "<string>",
"finality": "final",
"fundingDeadlineAt": "2023-11-07T05:31:56Z",
"fundingModel": "prefunded",
"fundsReceivedAt": "2023-11-07T05:31:56Z",
"holidaysApplied": true,
"outcomeCode": "<string>",
"overdueAt": "2023-11-07T05:31:56Z",
"overdueSince": "2023-11-07T05:31:56Z",
"ownBankVerification": {
"source": "revolutBusiness",
"state": "verified",
"credit": {
"amount": "<string>",
"creditedAt": "2023-11-07T05:31:56Z",
"currency": "<string>",
"referenceMasked": "<string>"
},
"lastGoodReadAt": "2023-11-07T05:31:56Z",
"matchedBy": "referenceAndAmount",
"reason": "<string>",
"reviewItemId": "<string>"
},
"payoutApproval": {
"approvalsRequired": 1,
"approverNames": [
"<string>"
],
"approvalRequestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"approverGroup": "<string>",
"approverGroupName": "<string>",
"runId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"payoutBreakdown": {
"basis": "consent",
"fee": "<string>",
"receivedMax": "<string>",
"receivedMin": "<string>",
"withdrawn": "<string>",
"charging": "deducted"
},
"payoutBreakdownUnavailableReason": "<string>",
"payoutHeldReason": "<string>",
"quotedExpectedArrivalAt": "2023-11-07T05:31:56Z",
"rail": "<string>",
"railOption": "standard",
"railReference": {
"state": "not_reported_yet"
},
"recipientConfirmation": {
"confirmationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmedAt": "2023-11-07T05:31:56Z",
"confirmedBy": "<string>",
"confirmedByName": "<string>",
"legId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"returnWindowEndsAt": "2023-11-07T05:31:56Z",
"returnedAfterSettlement": {
"detectedAt": "2023-11-07T05:31:56Z",
"reviewItemId": "<string>"
},
"returnedTo": "lpAccount",
"reviewAt": "2023-11-07T05:31:56Z",
"reviewEnteredAt": "2023-11-07T05:31:56Z",
"reviewItemId": "<string>",
"reviewReason": "uncertain_send",
"submittedAt": "2023-11-07T05:31:56Z",
"transactionHash": "<string>",
"venueReportedCredited": true,
"venueWithdrawalId": "<string>"
},
"transactions": [
{
"actor": "user",
"chainId": 1,
"chainRole": "origin",
"hash": "<string>",
"stage": "prepare",
"status": "pending",
"explorerUrl": "<string>",
"label": "<string>",
"legIndex": 1,
"timestamp": 1
}
],
"venueRouteId": "<string>"
}
],
"orderKind": "<string>",
"substatus": "<string>",
"substatusMessage": "<string>",
"apiKey": {
"keyId": "<string>",
"name": "<string>"
},
"executionPrice": "<string>",
"executionPriceUnit": {
"baseAsset": "<string>",
"quoteAsset": "<string>"
},
"feesPaid": "<string>",
"financials": {
"fee": {
"treatment": "included_in_price",
"amount": "<string>",
"asset": "<string>",
"basis": "<string>",
"lines": [
{
"amount": "<string>",
"asset": "<string>"
}
],
"tradeFeeReport": "not_reported"
},
"legs": [
{
"direction": "pay_in",
"legId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settlementRail": "bank",
"state": "planned",
"boundLapsesAt": "2023-11-07T05:31:56Z",
"confirmAgainReason": "priceBeyondBound",
"consentedPayoutFee": "<string>",
"creditedAmount": "<string>",
"currentPayoutFee": "<string>",
"declaredPayoutFee": "<string>",
"destination": {
"kind": "wallet",
"ref": "<string>",
"approvalId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"expectedArrivalAt": "2023-11-07T05:31:56Z",
"expectedArrivalSource": "<string>",
"finality": "final",
"fundingDeadlineAt": "2023-11-07T05:31:56Z",
"fundingModel": "prefunded",
"fundsReceivedAt": "2023-11-07T05:31:56Z",
"holidaysApplied": true,
"outcomeCode": "<string>",
"overdueAt": "2023-11-07T05:31:56Z",
"overdueSince": "2023-11-07T05:31:56Z",
"ownBankVerification": {
"source": "revolutBusiness",
"state": "verified",
"credit": {
"amount": "<string>",
"creditedAt": "2023-11-07T05:31:56Z",
"currency": "<string>",
"referenceMasked": "<string>"
},
"lastGoodReadAt": "2023-11-07T05:31:56Z",
"matchedBy": "referenceAndAmount",
"reason": "<string>",
"reviewItemId": "<string>"
},
"payoutApproval": {
"approvalsRequired": 1,
"approverNames": [
"<string>"
],
"approvalRequestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"approverGroup": "<string>",
"approverGroupName": "<string>",
"runId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"payoutBreakdown": {
"basis": "consent",
"fee": "<string>",
"receivedMax": "<string>",
"receivedMin": "<string>",
"withdrawn": "<string>",
"charging": "deducted"
},
"payoutBreakdownUnavailableReason": "<string>",
"payoutHeldReason": "<string>",
"quotedExpectedArrivalAt": "2023-11-07T05:31:56Z",
"rail": "<string>",
"railOption": "standard",
"railReference": {
"state": "not_reported_yet"
},
"recipientConfirmation": {
"confirmationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmedAt": "2023-11-07T05:31:56Z",
"confirmedBy": "<string>",
"confirmedByName": "<string>",
"legId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"returnWindowEndsAt": "2023-11-07T05:31:56Z",
"returnedAfterSettlement": {
"detectedAt": "2023-11-07T05:31:56Z",
"reviewItemId": "<string>"
},
"returnedTo": "lpAccount",
"reviewAt": "2023-11-07T05:31:56Z",
"reviewEnteredAt": "2023-11-07T05:31:56Z",
"reviewItemId": "<string>",
"reviewReason": "uncertain_send",
"submittedAt": "2023-11-07T05:31:56Z",
"transactionHash": "<string>",
"venueReportedCredited": true,
"venueWithdrawalId": "<string>"
}
],
"quotedOutput": "<string>"
},
"inputSpent": "<string>",
"notSentReason": "QUOTE_RECONFIRMATION_REQUIRED",
"outcomeCode": "<string>",
"outputReceived": "<string>",
"pair": "<string>",
"placedBy": {
"kind": "member",
"name": "<string>",
"userId": "<string>"
},
"statedExecutionPrice": {
"baseAsset": "<string>",
"quoteAsset": "<string>",
"basis": "market_convention",
"value": "<string>"
},
"tetrafiFee": "<string>",
"tetrafiFeeAsset": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The workspace the request acts in. An API key bound to a workspace implies it: omit the header, or send that same id (another id answers 403 WORKSPACE_SCOPE_MISMATCH). A member session must send it (400 MISSING_WORKSPACE without it).
Path Parameters
Workspace ID
The trade's tradeId: an order id, or a venue trade's operation id
Query Parameters
mine, workspace (default) or umbrella, as on the list Whose rows the list reads.
mine, workspace, umbrella taker (default) or maker, as on the list Which side of the trade the workspace was on.
taker, maker Maker: the LP's own venue that filled it
Maker: protocol, venueAccount or all
Response
The trade, with tradeId, kind and projection
- Option 1
- Option 2
- Option 3
- Option 4
One trade, read through the same projection as the list.
Section D: LP / counterparty information, including its compliance posture.
For a KYB'd liquidity provider the compliance fields carry the LP's
jurisdiction, KYB status, and regulatory licences — the "who is the other
side and are they authorised" a compliance officer needs. Router/bridge
routes settle through a protocol (CCTP, Relay, …), not a VASP counterparty:
those report counterparty_type = "protocol" with no jurisdiction/licences,
which is itself the compliance-relevant fact (no VASP-to-VASP Travel Rule
message is owed).
Show child attributes
Show child attributes
Section B: On-chain settlement data.
Models the four-step lifecycle of an intent on-chain: submit_tx (user
deposit / intent creation), fill_tx (solver fill on destination chain),
proof_tx (cross-chain proof submission), finalise_tx (claim/settle on
origin). Oracle + settlement_stage describe the proof-relay layer.
Show child attributes
Show child attributes
Section A: Trade details.
Show child attributes
Show child attributes
What the trade buys: its asset and, when recorded, the least it must receive from its consented bounds.
Show child attributes
Show child attributes
A venue trade's execution status, in camelCase like the order status (outcomeUnknown).
New values may be added; treat unknown values as other.
notSubmitted, dispatching, outcomeUnknown, filled, unfilled, needsReview The execution type (compiled spec id), not the catalogue Venue.
The same lifecycle shape an order row carries; needsReview is not final.
Show child attributes
Show child attributes
What the trade sells: its asset and, when recorded, the most it may spend from its consented bounds.
Show child attributes
Show child attributes
The workspace's venue account it went through, titled by its catalogue Venue ("Keyrock account"), never by the execution type ("Keyrock OTC"); an on-chain venue is never an account and reads as itself ("Circle StableFX").
The venue's name, for display.
The kinds the one trade history lists.
New values may be added; treat unknown values as other.
order, venueTrade Which view of trades answers the request: the caller's own, the workspace's, a broker's umbrella, an LP's fills, or an LP's unsettled orders.
New values may be added; treat unknown values as other.
mine, workspace, umbrella, maker, settlement Fee breakdown: gas, protocol fee, solver fee, relayer tips. Absent when the order predates fee capture.
Show child attributes
Show child attributes
Uniform per-leg execution model for multi-leg route orders; absent for
single-leg escrow / deferred orders. Mirrors OrderResponse.legs.
Show child attributes
Show child attributes
Canonical, route-aware order kind (cctp-v0 / composite-v0 / fx-v0 /
escrow-v0 / …). Mirrors OrderResponse.orderKind.
Finer-grained state within the coarse status (route routeStatus, etc.).
Human-readable elaboration of substatus — a Circle StableFX status line, or
the reason a parked/refunded/recovered order is in that state. Mirrors
OrderResponse.substatusMessage.
Show child attributes
Show child attributes
Legacy confirmed output per input (buy asset / sell asset), computed with Decimal; null when unread. executionPriceUnit states its unit; prefer statedExecutionPrice for display.
Unit of a price: quoteAsset / baseAsset means one base asset costs this many quote assets.
Show child attributes
Show child attributes
What a confirmed same-asset fill (a bridge) cost the taker: spent minus received, the venue's protocol and forwarding fees, in the sell asset. Absent unless confirmed and positive.
The trade's recorded money terms and payment legs, from the same records as the order read; history never re-derives a fee or minimum.
Show child attributes
Show child attributes
What the venue debited and credited, once its outcome is recorded.
Why a not_sent outcome was not sent, as the dispatch's notSentReason.
QUOTE_RECONFIRMATION_REQUIRED, VENUE_ACCEPT_ADMISSION_REFUSED, VENUE_SESSION_ACQUIRE_TIMEOUT, VENUE_GRID_CHANGED, VENUE_GRID_UNREADABLE, VENUE_REFUSED_BEFORE_ACCEPTANCE, LP_TRADING_REFUSED_UNSENT, COMPLIANCE_AUDIT_UNRECORDED, ON_CHAIN_UNSENT, BOOK_SELL_LIMIT_UNREPRESENTABLE, VENUE_DISPATCH_AUTHORITY_UNAVAILABLE, BOOK_PLACEMENT_PRICE_UNRECORDED_UNSENT, VENUE_ORDER_ABSENT_PAST_HORIZON, VENUE_REQUEST_REFUSED_UNSENT, NOT_SENT_UNCLASSIFIED Why the trade ended as it did, as its dispatch records it (the order page's
dispatch.outcomeCode): the history row names a no-fill's reason from it.
Absent until an outcome is recorded.
The recorded market pair; absent stays absent, never inferred from asset order.
Who placed the trade: the API key by label, else the member where this reader may see their name. Absent otherwise.
- Option 1
- Option 2
Show child attributes
Show child attributes
QuoteCurrencyPriority market convention, with explicit base/quote and fallback basis.
Show child attributes
Show child attributes
Gross TetraFi fee (list rate, before incentives) from the Basic billing ledger, in tetrafiFeeAsset; absent until accrued.