Fingerprint & Attribution
Every response from Stacknet includes a fingerprint — a unique identifier linking to a prompt contract that traces the full provenance of the generation. This enables transparent attribution and origination tracking across the network.
What’s in a fingerprint
A Stacknet fingerprint encodes a prompt contract:
fingerprint = hash(stackId + nodeKeyId + skillIds + injectionIds + timestamp)| Component | Description |
|---|---|
| Stack ID | The Stack that originated the request |
| Node Key ID | The aISP node that executed the work |
| Skill IDs | Any registered skills invoked during execution |
| Injection IDs | System prompts, tools, or context injected by the Stack |
| Timestamp | Execution timestamp for ordering |
How attribution works
Origination credits
Stacks earn origination credits for:
| Activity | Credit |
|---|---|
| Bringing aISPs to the network | Ongoing revenue share |
| Bringing users to the network | Ongoing revenue share |
| Skills users create and register | Revenue when skills are reused |
| Models/tensors users create | Revenue when models/tensors are used |
| Secondary market key resales | Transaction fee |
| aISP task execution | Revenue share per task |
| User subscriptions | Revenue share |
| User billing top-ups | Revenue share |
User credits
Users who create content also earn attribution credits:
| Content type | When credited |
|---|---|
| Skills | When another user invokes the skill |
| Models/Tensors | When another user runs inference with the model |
| Social posts (remixes) | When content is remixed by other users |
Verifying a fingerprint
Fingerprints are cryptographically signed by the executing aISP’s Ed25519 key:
// Response includes fingerprint
{
"id": "chatcmpl-abc123",
"fingerprint": "fp_a1b2c3d4e5f6",
"attribution": {
"stack": "stk_xxx",
"node_key": "nk_yyy",
"skills": ["skill_zzz"],
"signed_by": "ed25519:public_key_hex"
}
}Last updated on