NewDash Dots are hereMini apps in Dash, with payments built inLearn more

Developer Resources · API Basics

Ownership Graph

Trace any Monime resource back through the chain of objects that created it, using the ownershipGraph field.

Every financial resource Monime creates carries an ownership graph: an immutable chain of relationships that traces back to the object that originated it. Use it to explain where a resource came from without stitching records together yourself.

Paymentpay_01H…
Transactiontxn_01H…
Accountdebit
Accountcredit
Every resource records what created it and what it affected.

What it answers

Structure

The graph is a nested chain of owner nodes. Each node identifies an object by id and type, carries its metadata, and names its own owner — until the chain reaches the object that started it.

Ownership graph of a payment
{
  "ownershipGraph": {
    "owner": {
      "id": "pmt-k6Em1Aap25VZ8oWg7ajhxHX3JqF",
      "type": "payment",
      "metadata": {
        "channel": "momo",
        "provider": "m17"
      },
      "owner": {
        "id": "sps-k6Em1aAap254VXg6fhxk9HX3JqF",
        "type": "checkout_session",
        "metadata": {
          "orderId": "ord-3n4o5p6q7r8s"
        },
        "owner": {
          "id": "arq-k6Em12r5VZ8oW9r9Xh7xsH3J4qF",
          "type": "api_request",
          "metadata": {
            "endpoint": "/v1/checkout-sessions",
            "subjectId": "acc-k6Em15VsZ8go5W9lX2h7dxsJ4qF",
            "ipAddress": "192.168.1.100"
          }
        }
      }
    }
  }
}

Read it from the outside in: this payment was made through a checkout session, and that checkout session was created by an API request to /v1/checkout-sessions.

Example lineage

The same chain applies to every sequence of resources. For a payment code:

Lineage of a payment code
Payment Code
└── Payment (when someone pays)
    └── Financial Transaction (when the payment is processed)
        └── Fee Transaction (when your service fee is taken)