> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neuro-tech.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Token contract operations XML structure reference

> Look up exact token contract operations elements, content models, required attributes, and schema types

Use this reference to check XML spelling, ordering, occurrence counts, and attribute types. It is generated from the exact XSD selected in the [schema catalog](/resources/schemas).

Namespace: `https://paiwise.tagroot.io/Schema/NeuroFeatures.xsd`.

[Download the original XSD](https://paiwise.tagroot.io/Schema/NeuroFeatures.xsd). SHA-256: `68ecc7cd689c5bfa57052ad692287bea2a48cac0661a3262902a01c4ebe07bfc`.

## Read the structural notation

* `sequence(A, B)` requires the listed order; `choice(A, B)` selects an allowed alternative.
* `[0..1]` means optional; `[1..1]` means exactly one; `unbounded` removes the upper count.
* `group(Name)`, element types, and `extension(Base)` refer to declarations elsewhere in this reference or an imported schema. Inherited fields are not repeated.
* Names separated by `/` identify a declaration's containing element or type. They are lookup labels, not XML element names.
* Structural validity does not establish provider support, execution permissions, or successful Script evaluation. The original XSD and [validator](/resources/validate-xml) determine XML validity.

For complete construction steps, use [contract authoring](/contracts/from-scratch) or [the token and machine example](/build/tokenized-assets/from-scratch).

<AccordionGroup>
  <Accordion title="Create (element)">
    ```text theme={null}
    sequence(TokenID:TokenID[1..unbounded], Creator:Part[1..1], Owner:Part[0..1], Valuator:Part[0..unbounded], Assessor:Part[0..unbounded], Certifier:Part[0..unbounded], Witness:Part[0..unbounded], TrustProvider:Part[1..1], Value:Value[1..1], Currency:Value[1..1], CommissionPercent:Value[1..1], CommissionPaidBy:CommissionPaidBy[0..1], Expires:Value[1..1], CreatorCanDestroy:Value[0..1], OwnerCanDestroyBatch:Value[0..1], OwnerCanDestroyIndividual:Value[0..1], CertifierCanDestroy:Value[0..1], Reference:Value[0..1], Definition[1..1], Tag[0..unbounded], FriendlyName:Value[1..1], Category:Value[0..1], Description:Value[0..1], Glyph[1..1])[1..1]
    ```

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/TokenID (element)">
    Type: `TokenID`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Creator (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Owner (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Valuator (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Assessor (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Certifier (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Witness (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/TrustProvider (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Value (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Currency (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/CommissionPercent (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/CommissionPaidBy (element)">
    Type: `CommissionPaidBy`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Expires (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/CreatorCanDestroy (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/OwnerCanDestroyBatch (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/OwnerCanDestroyIndividual (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/CertifierCanDestroy (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Reference (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Definition (element)">
    ```text theme={null}
    sequence(any(namespace=##any, processContents=strict)[1..unbounded])[1..1]
    ```

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Tag (element)">
    ```text theme={null}
    extension(Value) 
    ```

    | Attribute | Type        | Use      | Default or fixed value |
    | --------- | ----------- | -------- | ---------------------- |
    | `name`    | `xs:string` | required | —                      |
  </Accordion>

  <Accordion title="Create/FriendlyName (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Category (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Description (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Create/Glyph (element)">
    ```text theme={null}
    extension(xs:base64Binary) 
    ```

    | Attribute     | Type                 | Use      | Default or fixed value |
    | ------------- | -------------------- | -------- | ---------------------- |
    | `contentType` | `inline type`        | optional | —                      |
    | `width`       | `xs:positiveInteger` | optional | —                      |
    | `height`      | `xs:positiveInteger` | optional | —                      |
  </Accordion>

  <Accordion title="Destroy (element)">
    ```text theme={null}
    sequence(TokenID:Value[1..unbounded], Owner:Part[1..1], TrustProvider:Part[1..1])[1..1]
    ```

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Destroy/TokenID (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Destroy/Owner (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Destroy/TrustProvider (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Transfer (element)">
    ```text theme={null}
    sequence(TokenID:TokenID[1..unbounded], Seller:Part[1..1], Buyer:Part[1..1], TrustProvider:Part[1..1], Value:Value[1..1], Currency:Value[1..1], CommissionPercent:Value[1..1], OwnershipContract:Value[1..1])[1..1]
    ```

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Transfer/TokenID (element)">
    Type: `TokenID`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Transfer/Seller (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Transfer/Buyer (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Transfer/TrustProvider (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Transfer/Value (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Transfer/Currency (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Transfer/CommissionPercent (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Transfer/OwnershipContract (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Donate (element)">
    ```text theme={null}
    sequence(TokenID:TokenID[1..unbounded], Donor:Part[1..1], Recipient:Part[1..1], TrustProvider:Part[1..1], OwnershipContract:Value[1..1])[1..1]
    ```

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Donate/TokenID (element)">
    Type: `TokenID`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Donate/Donor (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Donate/Recipient (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Donate/TrustProvider (element)">
    Type: `Part`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Donate/OwnershipContract (element)">
    Type: `Value`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Part (complexType)">
    ```text theme={null}
    choice(RoleReference:RoleReference[1..1])[1..1]
    ```

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Part/RoleReference (element)">
    Type: `RoleReference`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="RoleReference (complexType)">
    | Attribute | Type        | Use      | Default or fixed value |
    | --------- | ----------- | -------- | ---------------------- |
    | `role`    | `xs:string` | required | —                      |
  </Accordion>

  <Accordion title="Value (complexType)">
    ```text theme={null}
    choice(group(ValueTypes)[1..1])[1..1]
    ```

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ValueTypes (group)">
    ```text theme={null}
    choice(ParameterReference:ParameterReference[1..1], RoleReference:RoleReference[1..1], String:xs:string[1..1], Number:xs:decimal[1..1], Boolean:xs:boolean[1..1], Uri:xs:anyURI[1..1], Binary:xs:base64Binary[1..1], Date:xs:date[1..1], DateTime:xs:dateTime[1..1], Time:xs:time[1..1])[1..1]
    ```

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ValueTypes/ParameterReference (element)">
    Type: `ParameterReference`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ValueTypes/RoleReference (element)">
    Type: `RoleReference`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ValueTypes/String (element)">
    Type: `xs:string`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ValueTypes/Number (element)">
    Type: `xs:decimal`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ValueTypes/Boolean (element)">
    Type: `xs:boolean`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ValueTypes/Uri (element)">
    Type: `xs:anyURI`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ValueTypes/Binary (element)">
    Type: `xs:base64Binary`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ValueTypes/Date (element)">
    Type: `xs:date`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ValueTypes/DateTime (element)">
    Type: `xs:dateTime`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ValueTypes/Time (element)">
    Type: `xs:time`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="TokenID (complexType)">
    ```text theme={null}
    choice(group(ValueTypes)[1..1], Random:Empty[1..1], Unique:Empty[1..1])[1..1]
    ```

    | Attribute         | Type                 | Use      | Default or fixed value |
    | ----------------- | -------------------- | -------- | ---------------------- |
    | `shortIdLength`   | `xs:positiveInteger` | optional | —                      |
    | `shortIdAlphabet` | `xs:string`          | optional | 0123456789             |
  </Accordion>

  <Accordion title="TokenID/Random (element)">
    Type: `Empty`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="TokenID/Unique (element)">
    Type: `Empty`.

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Empty (complexType)">
    ```text theme={null}
    complexType(name=Empty)
    ```

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="ParameterReference (complexType)">
    | Attribute   | Type        | Use      | Default or fixed value |
    | ----------- | ----------- | -------- | ---------------------- |
    | `parameter` | `xs:string` | required | —                      |
  </Accordion>

  <Accordion title="CommissionPaidBy (simpleType)">
    ```text theme={null}
    restriction(xs:string) value=Creator value=Owner
    ```

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>

  <Accordion title="Token (element)">
    ```text theme={null}
    complexType()
    ```

    No attributes declared directly here. Check the referenced type or base type for inherited attributes.
  </Accordion>
</AccordionGroup>
