XODIAK / Attribution
Attribution
Credit gets decided when the work happens, not in an argument after the money lands.
The expensive question is always "who found this?"
By the time a deal closes, the people who can answer that have moved on, changed systems or changed sides. Attribution disputes are expensive because the evidence was never captured, not because the parties are dishonest.
XODIAK writes an attribution record at the moment of contact, carrying the source, the actor and the cost basis of the lookup. Nothing about it depends on anyone remembering later.
- Written on contact creation, before any revenue exists
- Source of the record and the actor that wrote it are both captured
- Later contributions append rather than overwrite
- The settlement waterfall reads these rows directly
// Six kinds of contribution earn a share. type Contribution = | "capital" | "connection" | "labor" | "data" | "technology" | "contact_source"; // Every agent that touches a contact logs one. await xodiak.attribute({ contact: "c_41ba9d", kind: "contact_source", actor: "agent:account-intel-enrich", source: "internal_cache", });
What a waterfall actually looks like.
Illustrative only, using round numbers. Your model is registered on the network and versioned; these percentages are not defaults and not a recommendation.
| Leg | Basis | Amount |
|---|---|---|
| Gross deal value | Contract value at close | $50,000.00 |
| Managing party share | 6.00% of gross | $3,000.00 |
| Origination partner | 33.33% of the managing share | $999.90 |
| Introduction credit | 5.00% of the managing share | $150.00 |
| Net to managing party | Remainder of the managing share | $1,850.10 |
Every one of those five rows is a signed transaction, not a line in a report generated after the fact.
Six contribution kinds
Capital, connection, labor, data, technology and contact source. A deal can carry any mix, and the model decides what each is worth.
Reusable revenue models
Define the waterfall once per relationship and version it. Deals reference the version that was in force when they closed.
Anchored event log
Contribution events batch into a Merkle tree, the root is anchored on chain, and each event keeps its inclusion proof.
Ready to get started?
Create an account instantly, or talk to us about a settlement design for your business.
See what you'll pay
Per-settlement pricing tied to what actually moves. No seat licences, no hidden spread.
Pricing detailsStart building
Open an account, sign a transaction, read a block. About ten minutes end to end.
Integration options