High-Level YAML Example
Create delegation (upsert):What Endorsements Do
- Split only the endorser’s daily reward payout.
- Allocate payout shares in basis points (
ratioBps). - Keep any unallocated share with the endorser.
- Stay active until updated or deleted.
- Credit recipients in the same daily payout cycle.
rewardsPayoutSatsfor their own rewards.endorsementsPayoutSatsfor delegated rewards received.payoutSatsas the total.
Example
If an endorser configures:- Recipient A:
3000bps (30%) - Recipient B:
2000bps (20%)
10000 sats:
- Recipient A receives
3000sats as endorsements payout. - Recipient B receives
2000sats as endorsements payout. - Endorser keeps
5000sats as rewards payout.
Security Model
Every create/update/delete request requires:- A
timestampNoncein UUIDv7 format. - A secp256k1 signature by the endorser pubkey.
- The signature is over the SHA-256 hash of a canonical YAML payload.
- Nonce timestamp must be within 5 minutes.
- Nonces are single-use (replay protection).
- You cannot endorse to yourself.
- Sum of all active ratios for one endorser cannot exceed
10000bps.
Endpoints
GET /v1/rewards/:pubkey/endorsementsPOST /v1/rewards/:pubkey/endorsementsDELETE /v1/rewards/:pubkey/endorsements/:toPubkey