Data Contracts

The contract is registered on Dash Platform testnet. Every field carries an explicit position, because Dash requires it for every document property.

Contract ID66UbfEca1EFPRTm6zMz8HL7Rp1WkGh9wxJ7QhZjYS2ih
Owner identity34vkjdeUTP2z798SiXqoB6EAuobh51kXYURqVa9xkujf
Version1
Protocol version0
Networktestnet

intent

A user's request and the terms they will accept. Indices are onstatus anduserId.

PropertyTypeMaxRequired
userIdstring44yes
fromAssetstring10yes
toAssetstring10yes
inputAmountinteger—yes
minOutputAmountinteger—yes
statusstring10yes
createdAtinteger—yes
expiresAtinteger—yes

status is one ofopen,executing,settled, orexpired.additionalProperties isfalse: an unknown field is rejected outright rather than silently stored.

settlement

The record of a completed fill. Indices are onintentId andsettledAt.

PropertyTypeMaxRequired
intentIdstring44yes
offerIdstring64yes
solverIdstring44yes
userIdstring44yes
inputAmountinteger—yes
outputAmountinteger—yes
protocolFeeinteger—yes
settledAtinteger—yes
txHashstring64yes

There is no on-chainoffer document

Offers are exchanged over Nostr only, and are deliberately absent from the contract. A quote is short-lived and competitive, so storing every competing quote on-chain would cost credits proportional to the number of market makers and would leave expired quotes behind permanently.

Note: the currently registered testnet contract still contains an offerdocument from an earlier revision. The next registration carriesintent andsettlement only. Index paths are immutable once registered, so the document set is finalised at publish time.

Verifying a registration

Fetch the contract from a DAPI node and compare its$id andversion. The contract ID above links directly to the testnet platform explorer.