> For the complete documentation index, see [llms.txt](https://axiology.gitbook.io/axiology-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://axiology.gitbook.io/axiology-docs/rest-api/otc-trades-dvp.md).

# OTC Trades DVP

## Get OTC DVP Trades

> Retrieve a list of OTC DVP Trades

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/otc-trades-dvp":{"get":{"description":"Retrieve a list of OTC DVP Trades","operationId":"getOtcTradesDvp","parameters":[{"name":"filter","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/FilterOtcTradeDvpDto"}},{"name":"mode","required":false,"in":"query","description":"Strategy applied when filtering/searching on multiple fields","schema":{"$ref":"#/components/schemas/FilterMode"}},{"name":"pagination","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/PaginationRequestDto"}},{"name":"order","required":false,"in":"query","content":{"application/json":{"schema":{"type":"array","uniqueItems":true,"items":{"type":"object","oneOf":[{"properties":{"createdAt":{"type":"string","enum":["asc","desc"]}},"required":["createdAt"]},{"properties":{"status":{"type":"string","enum":["asc","desc"]}},"required":["status"]},{"properties":{"initiatorSendAmount":{"type":"string","enum":["asc","desc"]}},"required":["initiatorSendAmount"]},{"properties":{"acceptorSendAmount":{"type":"string","enum":["asc","desc"]}},"required":["acceptorSendAmount"]}]}}}},"description":"Array of fields and directions to order. Supported fields: createdAt, status, initiatorSendAmount, acceptorSendAmount"}],"responses":{"200":{"description":"Successfully retrieved a list of items.","content":{"application/json":{"schema":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/PaginationResponseDto"},"items":{"type":"array","items":{"$ref":"#/components/schemas/OtcTradeDvpDto"}}},"required":["pagination","items"]}}}}},"summary":"Get OTC DVP Trades","tags":["OTC Trades DVP"]}}},"components":{"schemas":{"FilterOtcTradeDvpDto":{"type":"object","properties":{"status":{"description":"Filter OTC Trades DVP by status","oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/OtcTradeDvpStatus"},"minItems":1},{"$ref":"#/components/schemas/OtcTradeDvpStatus"}]},"initiatorAccountAddress":{"description":"Filter OTC Trades DVP by initiator address","oneOf":[{"type":"array","items":{"description":"Account address","type":"string","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"minItems":1},{"type":"string","description":"Partial account address"}]},"initiatorSendAssetId":{"description":"Filter OTC Trades DVP by initiator send asset id","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"initiatorBrokerId":{"description":"Filter OTC Trades DVP by initiator broker id","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"acceptorAccountAddress":{"description":"Filter OTC Trades DVP by acceptor account address","oneOf":[{"type":"array","items":{"description":"Account address","type":"string","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"minItems":1},{"type":"string","description":"Partial account address"}]},"acceptorSendAssetId":{"description":"Filter OTC Trades DVP by acceptor send asset id","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"acceptorBrokerId":{"description":"Filter OTC Trades DVP by acceptor broker id","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]}}},"OtcTradeDvpStatus":{"type":"string","enum":["initiated","completed","cancelled","rejected"],"description":"Status of the trade"},"FilterMode":{"type":"string","enum":["and","or"]},"PaginationRequestDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1}}},"PaginationResponseDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1},"totalItems":{"type":"number","description":"Total items count"},"totalPages":{"type":"number","description":"Total pages count"}},"required":["totalItems","totalPages"]},"OtcTradeDvpDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"OTC DVP Trade UUID identifier, unique in scope of this node","format":"uuid"},"status":{"description":"Status of the trade","allOf":[{"$ref":"#/components/schemas/OtcTradeDvpStatus"}]},"initiatorAccountAddress":{"type":"string","description":"Initiator account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"initiatorSendAssetId":{"type":"string","description":"Initiator asset id","format":"uuid"},"initiatorSendAmount":{"format":"int64","description":"Initiator amount to send.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"initiatorBrokerId":{"type":"string","description":"Initiator broker id","format":"uuid"},"acceptorAccountAddress":{"type":"string","description":"Acceptor account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"acceptorSendAssetId":{"type":"string","description":"Acceptor asset id","format":"uuid"},"acceptorSendAmount":{"format":"int64","description":"Acceptor amount to send.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"acceptorBrokerId":{"type":"string","description":"Acceptor broker id","format":"uuid"},"tradedAt":{"format":"date-time","type":"string","description":"Trade date"}},"required":["createdAt","updatedAt","id","status","initiatorAccountAddress","initiatorSendAssetId","initiatorSendAmount","initiatorBrokerId","acceptorAccountAddress","acceptorSendAssetId","acceptorSendAmount","acceptorBrokerId","tradedAt"]},"ExponentScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by the asset's exponent: `encoded = real × 10^exponent`. E.g. for a bond denominated in EUR (exponent=2), a coupon payment of `123.45` is encoded as `12345`, and a nominal value of `1000.00` is encoded as `100000`."}}}}
```

## Initiate DVP OTC trade

> Initiate a Delivery-Versus-Payment Over-The-Counter trade, between two accounts

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/otc-trades-dvp":{"post":{"description":"Initiate a Delivery-Versus-Payment Over-The-Counter trade, between two accounts","operationId":"initiateOtcTradeDvp","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateOtcTradeDvpDto"}}}},"responses":{"201":{"description":"Initiated DVP OTC trade","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtcTradeDvpDto"}}}}},"summary":"Initiate DVP OTC trade","tags":["OTC Trades DVP"]}}},"components":{"schemas":{"InitiateOtcTradeDvpDto":{"type":"object","properties":{"initiatorAccountAddress":{"type":"string","description":"Initiator account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"initiatorSendAssetId":{"type":"string","description":"Initiator sending asset id","format":"uuid"},"initiatorSendAmount":{"format":"int64","description":"Initiator sending asset amount.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"acceptorAccountAddress":{"type":"string","description":"Accepter account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"acceptorSendAssetId":{"type":"string","description":"Acceptor sending asset id","format":"uuid"},"acceptorSendAmount":{"format":"int64","description":"Acceptor sending asset amount.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"tradedAt":{"format":"date-time","type":"string","description":"Trade day in ISO 8601 format YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss.SSSZ"}},"required":["initiatorAccountAddress","initiatorSendAssetId","initiatorSendAmount","acceptorAccountAddress","acceptorSendAssetId","acceptorSendAmount","tradedAt"]},"ExponentScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by the asset's exponent: `encoded = real × 10^exponent`. E.g. for a bond denominated in EUR (exponent=2), a coupon payment of `123.45` is encoded as `12345`, and a nominal value of `1000.00` is encoded as `100000`."},"OtcTradeDvpDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"OTC DVP Trade UUID identifier, unique in scope of this node","format":"uuid"},"status":{"description":"Status of the trade","allOf":[{"$ref":"#/components/schemas/OtcTradeDvpStatus"}]},"initiatorAccountAddress":{"type":"string","description":"Initiator account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"initiatorSendAssetId":{"type":"string","description":"Initiator asset id","format":"uuid"},"initiatorSendAmount":{"format":"int64","description":"Initiator amount to send.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"initiatorBrokerId":{"type":"string","description":"Initiator broker id","format":"uuid"},"acceptorAccountAddress":{"type":"string","description":"Acceptor account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"acceptorSendAssetId":{"type":"string","description":"Acceptor asset id","format":"uuid"},"acceptorSendAmount":{"format":"int64","description":"Acceptor amount to send.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"acceptorBrokerId":{"type":"string","description":"Acceptor broker id","format":"uuid"},"tradedAt":{"format":"date-time","type":"string","description":"Trade date"}},"required":["createdAt","updatedAt","id","status","initiatorAccountAddress","initiatorSendAssetId","initiatorSendAmount","initiatorBrokerId","acceptorAccountAddress","acceptorSendAssetId","acceptorSendAmount","acceptorBrokerId","tradedAt"]},"OtcTradeDvpStatus":{"type":"string","enum":["initiated","completed","cancelled","rejected"],"description":"Status of the trade"}}}}
```

## Get OTC DVP Trade

> Get OTC DVP Trade by its unique identifier

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/otc-trades-dvp/{otcTradeDvpId}":{"get":{"description":"Get OTC DVP Trade by its unique identifier","operationId":"getOtcTradeDvp","parameters":[{"name":"otcTradeDvpId","required":true,"in":"path","description":"OTC DVP Trade UUID identifier, unique in scope of this node","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"Retrieve full information about a single OTC Trade DVP","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtcTradeDvpDto"}}}}},"summary":"Get OTC DVP Trade","tags":["OTC Trades DVP"]}}},"components":{"schemas":{"OtcTradeDvpDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"OTC DVP Trade UUID identifier, unique in scope of this node","format":"uuid"},"status":{"description":"Status of the trade","allOf":[{"$ref":"#/components/schemas/OtcTradeDvpStatus"}]},"initiatorAccountAddress":{"type":"string","description":"Initiator account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"initiatorSendAssetId":{"type":"string","description":"Initiator asset id","format":"uuid"},"initiatorSendAmount":{"format":"int64","description":"Initiator amount to send.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"initiatorBrokerId":{"type":"string","description":"Initiator broker id","format":"uuid"},"acceptorAccountAddress":{"type":"string","description":"Acceptor account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"acceptorSendAssetId":{"type":"string","description":"Acceptor asset id","format":"uuid"},"acceptorSendAmount":{"format":"int64","description":"Acceptor amount to send.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"acceptorBrokerId":{"type":"string","description":"Acceptor broker id","format":"uuid"},"tradedAt":{"format":"date-time","type":"string","description":"Trade date"}},"required":["createdAt","updatedAt","id","status","initiatorAccountAddress","initiatorSendAssetId","initiatorSendAmount","initiatorBrokerId","acceptorAccountAddress","acceptorSendAssetId","acceptorSendAmount","acceptorBrokerId","tradedAt"]},"OtcTradeDvpStatus":{"type":"string","enum":["initiated","completed","cancelled","rejected"],"description":"Status of the trade"},"ExponentScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by the asset's exponent: `encoded = real × 10^exponent`. E.g. for a bond denominated in EUR (exponent=2), a coupon payment of `123.45` is encoded as `12345`, and a nominal value of `1000.00` is encoded as `100000`."}}}}
```

## Change DVP OTC trade

> Accept/Cancel/Reject a Free-Of-Payment Over-The-Counter trade

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/otc-trades-dvp/{otcTradeDvpId}":{"patch":{"description":"Accept/Cancel/Reject a Free-Of-Payment Over-The-Counter trade","operationId":"updateOtcTradeDvp","parameters":[{"name":"otcTradeDvpId","required":true,"in":"path","description":"OTC DVP Trade UUID identifier, unique in scope of this node","schema":{"format":"uuid","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOtcTradeDvpDto"}}}},"responses":{"200":{"description":"Changed DVP OTC trade","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtcTradeDvpDto"}}}}},"summary":"Change DVP OTC trade","tags":["OTC Trades DVP"]}}},"components":{"schemas":{"UpdateOtcTradeDvpDto":{"type":"object","properties":{"status":{"description":"**Update OTC DVP trade status:**\n- `completed` - (destination investor agent) complete OTC DVP trade\n- `cancelled` - (source investor agent) cancel OTC DVP trade\n- `rejected` - (destination investor agent) reject OTC DVP trade","allOf":[{"$ref":"#/components/schemas/OtcTradeDvpStatus"}]}},"required":["status"]},"OtcTradeDvpStatus":{"type":"string","enum":["initiated","completed","cancelled","rejected"],"description":"Status of the trade"},"OtcTradeDvpDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"OTC DVP Trade UUID identifier, unique in scope of this node","format":"uuid"},"status":{"description":"Status of the trade","allOf":[{"$ref":"#/components/schemas/OtcTradeDvpStatus"}]},"initiatorAccountAddress":{"type":"string","description":"Initiator account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"initiatorSendAssetId":{"type":"string","description":"Initiator asset id","format":"uuid"},"initiatorSendAmount":{"format":"int64","description":"Initiator amount to send.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"initiatorBrokerId":{"type":"string","description":"Initiator broker id","format":"uuid"},"acceptorAccountAddress":{"type":"string","description":"Acceptor account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"acceptorSendAssetId":{"type":"string","description":"Acceptor asset id","format":"uuid"},"acceptorSendAmount":{"format":"int64","description":"Acceptor amount to send.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"acceptorBrokerId":{"type":"string","description":"Acceptor broker id","format":"uuid"},"tradedAt":{"format":"date-time","type":"string","description":"Trade date"}},"required":["createdAt","updatedAt","id","status","initiatorAccountAddress","initiatorSendAssetId","initiatorSendAmount","initiatorBrokerId","acceptorAccountAddress","acceptorSendAssetId","acceptorSendAmount","acceptorBrokerId","tradedAt"]},"ExponentScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by the asset's exponent: `encoded = real × 10^exponent`. E.g. for a bond denominated in EUR (exponent=2), a coupon payment of `123.45` is encoded as `12345`, and a nominal value of `1000.00` is encoded as `100000`."}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://axiology.gitbook.io/axiology-docs/rest-api/otc-trades-dvp.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
