Repost Token
This token represents a repost (share) of another user’s content.
A repost allows a user to share someone else’s post with their own followers, optionally adding their own commentary. This is similar to “retweeting” in Twitter or “sharing” in other social platforms.
The token must contain a parent (p) field pointing to the original post being reposted. For other constraints see the Action Tokens.
Content-Addressing
This token is content-addressed using SHA-256:
- The entire JWT token (header + payload + signature) is hashed
- Action ID format:
a1~{base64_hash} - See Content-Addressing & Merkle Trees for details
Parent Reference
The p (parent) field references the original post being reposted:
- Contains the original post’s action_id (
a1~...) - Parent must exist and be verified
- Creates immutable link between repost and original content
- Federation: remote instances can verify the complete chain
Database Key
The database key for a repost token is [iss, t, p]
Purpose: This key ensures that a user can only repost the same content once. The key components are:
iss: Issuer identity (who is reposting)t: Token type (“REPOST”)p: Parent ID (what’s being reposted)
Example:
- Alice reposts Bob’s post → Stored with key
[alice.example.com, "REPOST", a1~post123] - Alice reposts the same post again → New token with same key, previous one is marked deleted
- Only ONE repost of the same content per user
Types of Reposts
Simple Repost
Sharing content without additional commentary:
{
"iss": "alice.example.com",
"iat": 1738483200,
"k": "20240101",
"t": "REPOST",
"p": "a1~xyz789..."
}Repost with Commentary
Sharing content with your own thoughts added:
{
"iss": "alice.example.com",
"iat": 1738483200,
"k": "20240101",
"t": "REPOST",
"p": "a1~xyz789...",
"c": "This is an excellent analysis! Everyone should read this."
}Quote Repost
Reposting with substantial commentary (quote post/quote tweet):
{
"iss": "alice.example.com",
"iat": 1738483200,
"k": "20240101",
"t": "REPOST",
"p": "a1~xyz789...",
"c": "While I agree with the main points, I think the conclusion overlooks an important aspect..."
}Fields
| Field | Required | Description |
|---|---|---|
| iss | ✓ | The identity reposting the content |
| iat | ✓ | Timestamp when repost was created |
| k | ✓ | Key ID used to sign the token |
| t | ✓ | Token type (always “REPOST”) |
| p | ✓ | Parent token ID (the original post being reposted) |
| c | Optional commentary on the repost (markdown) | |
| aud | Optional audience restriction |
Example
User @alice.example.com reposts @bob.example.com’s post with commentary:
| Field | Value |
|---|---|
| iss | alice.example.com |
| iat | 2024-04-13T00:01:10.000Z |
| k | 20240101 |
| t | REPOST |
| p | a1~xyz789abc… |
| c | Great insights on distributed systems! |
Visibility and Federation
Repost tokens are broadcast actions, meaning they are:
- Sent to all followers of the reposter
- Displayed in the reposter’s timeline/feed
- Credit the original author
- Link back to the original post
Federation Flow
When Alice reposts Bob’s post:
- Alice’s instance creates a REPOST token referencing Bob’s original POST token
- The REPOST is broadcast to Alice’s followers
- The original POST token is fetched/synchronized if not already available locally
- Followers see the repost in Alice’s timeline with proper attribution to Bob
Permission Checks
When creating a repost:
- Original post exists: Verify the parent post ID is valid
- Permission to view: Ensure the reposter can access the original post
- Repost allowed: Check if original author allows reposts (future feature)
- Audience restrictions: Honor any audience limitations on original post
Statistics Impact
Reposts affect the statistics of the original post:
- Original post’s STAT token includes repost count
- Reposts increase content visibility and reach
- Original author can see who reposted their content
Undo/Delete Repost
To remove a repost:
- Create a new action that overwrites the REPOST (using same database key)
- Or delete the REPOST token entirely
- This removes the repost from the reposter’s timeline
- Original post’s repost count is decremented
Comparison with Other Actions
| Action | Purpose | Visibility |
|---|---|---|
| REPOST | Share content with followers | Broadcast to your followers |
| REACT | Express opinion privately | Only visible to post author/viewers |
| CMNT | Add threaded discussion | Attached to original post |
| ENDR | Recommend user/content | Endorsement on profile |
See Also
- Action Tokens - Overview of all action token types
- Post Token - Original posts that can be reposted
- Statistics Token - Tracking repost counts
- Federation - How reposts federate across instances