directsponsor.net

This is specific to the site. For general directsponsor info and structures, see the directsponsor.org section.

Sever: rn1

Vision

DirectSponsor.net becomes a dual-interface content platform with a decentralised relay network:

  • Web interface for traditional users (zero Nostr complexity)
  • Native Nostr relay for decentralized ecosystem integration
  • Bitcoin Lightning integration for direct project monetization
  • Identity bridging between traditional and cryptographic systems
  • Decentralized network of community relays sharing content

Nostr itself is still in chaos and unreliable, but with a dual interface it may be possible to eliminate some of that unreliability.


Hybrid Architecture

Domain Structure

directsponsor.net → Primary Nostr relay + content hub
clickforcharity.net → Charity content (shares via primary)
roflfaucet.com → Promotional content (shares via primary)
auth.directsponsor.org → Centralized authentication service
community-relays.* → Decentralized network relays

Technical Stack

directsponsor.net ├── Primary Nostr Relay (strfry/nostream)
                 ├── Dual Web Interface (traditional + Nostr)
                 ├── Lightning Integration (NIP-57 Zaps)
                 ├── Authentication Bridge (web ↔ Nostr)
                 ├── Relay Directory Service
                 ├── Content Sharing Protocol
                 └── Network Management Tools

User Experience Scenarios

1: Regular Network Users

Goal: Zero Nostr complexity, familiar web experience

User Journey:
1. Visits directsponsor.net → sees normal blog/website
2. Reads posts, browses projects, views profiles
3. Wants to comment/tip → simple email signup
4. Behind scenes: auto-generates Nostr keypair
5. Uses platform normally with traditional UI
6. Benefits from Nostr features transparently
7. Sees content from entire decentralized network

Implementation:

  • Traditional web interface (HTML/CSS/JS)
  • Hidden Nostr integration
  • Managed cryptographic keys
  • JWT-based network authentication
  • Lightning wallet integration
  • Network content aggregation (from all relays)

2: Existing Nostr Users

Goal: Native Nostr experience, full interoperability

User Journey:
1. Discovers content via Nostr client (Damus, Amethyst, etc.)
2. Connects to relay: wss://directsponsor.net
3. Comments/tips using existing Nostr identity
4. Content appears on both Nostr network AND web interface
5. Full native Nostr experience
6. Sees content from all network relays

Implementation:

  • Standard Nostr relay protocols
  • NIP-57 Zaps for Lightning tips
  • Cross-client compatibility
  • Cross-relay content sharing
  • Network discovery protocol

3: Nostr User Wants Account

Goal: Preserve existing Nostr identity while gaining network access

User Journey:
1. "I want network access with my existing Nostr identity"
2. Provides npub (public key)
3. System generates challenge message
4. Signs challenge with nsec (in their client)
5. System verifies signature
6. Links npub to network account
7. Same identity across both systems
8. Access to all network relays

Implementation:

  • Cryptographic signature verification
  • Identity linking system
  • Account merging capabilities
  • Cross-platform authentication
  • Network-wide identity

Content Flow Architecture

Decentralized Content Flow

Author creates post
    ↓
Published to DirectSponsor relay
    ↓
┌─────────────────────────────────┐
    ↓              ↓              ↓
Web Interface    Community     External Nostr
(Network users)   Relays        (Global users)
    ↓              ↓              ↓
Comments/ Tips   Comments/ Tips  Comments/ Tips
    ↓              ↓              ↓
    ←←← Same Event Store →→→→→→→→→
    ↓
Content shared across all network relays

Network Content Sharing

DirectSponsor Relay (Primary)
    ↓
┌─────────────────────────┐
    ↓                    ↓
Community Relay A      Community Relay B
    ↓                    ↓
Local Users             Local Users
    ↓                    ↓
    ←←← Content Sync →→→→→

Authentication Bridge

// Hybrid authentication system with network support
class NostrAuthBridge {
    // For web users
    createWebAccount(email, password) {
        const nostrKeypair = generateKeypair();
        const networkAccount = createAccount(email, password);
        linkAccounts(networkAccount, nostrKeypair);
        return { 
            networkToken, 
            managedNostrKey,
            networkAccess: true 
        };
    }

    // For Nostr users
    linkNostrIdentity(npub, signature, challenge) {
        if (verifySignature(npub, signature, challenge)) {
            return linkToNetworkAccount(npub);
        }
    }

    // Network relay access
    grantRelayAccess(userAccount, relayList) {
        return {
            primaryRelay: "wss://directsponsor.net",
            communityRelays: relayList,
            networkToken: userAccount.networkToken
        };
    }
}

Lightning Integration

// Native Bitcoin monetization with network support
class LightningTips {
    // For web users
    showTipInterface(authorPubkey) {
        const invoice = generateInvoice(authorLightningAddress);
        displayQRCode(invoice);
        // Or connect to web wallet
    }

    // For Nostr users
    nativeZaps(event, amount) {
        // Standard NIP-57 implementation
        return createZapEvent(event, amount);
    }

    // Network-wide tipping
    networkTip(authorPubkey, amount, acrossRelays) {
        if (acrossRelays) {
            return distributeTipAcrossNetwork(authorPubkey, amount);
        }
        return createZapEvent(authorPubkey, amount);
    }
}

Implementation Phases

1: Foundation (Wk 1-6)

Core Infrastructure:
├── Deploy primary Nostr relay on directsponsor.net
├── Create dual web interface (traditional + Nostr)
├── Implement authentication bridge
├── Basic Lightning tips integration
├── Network authentication connection
└── Initial content sharing protocol

2: Network Building (Wk 7-12)

Decentralized Network:
├── Develop "relay-in-a-box" package
├── Create relay directory service
├── Implement cross-relay content sharing
├── Add community relay discovery
├── Test network effects
└── Recruit first community relay operators

3: Enhanced Features (M 4-6)

Advanced Capabilities:
├── Nostr identity linking for existing users
├── Cross-relay broadcasting for wider reach
├── Enhanced tip features (recurring, splits)
├── Mobile PWA or native app
├── Advanced moderation tools
└── Network analytics dashboard

4: Ecosystem Integration (M 6-9)

Network Expansion:
├── API endpoints for all network projects
├── Unified user profiles across network
├── Advanced analytics and insights
├── Community features and groups
├── Geographic relay distribution
└── Scalable network architecture

Strategic Benefits

For Regular Users

  • Zero Learning Curve: Familiar web experience
  • Rich Content: Access to entire network from any site
  • Modern Features: Tips, comments, social interaction
  • Future-Proof: Automatic Nostr benefits
  • Network Effects: See content from all community relays

For Nostr Ecosystem

  • Native Compatibility: Works with all Nostr clients
  • Identity Preservation: Existing users keep their identity
  • Network Effects: Content distributed across relays
  • Lightning Integration: Native Bitcoin payments
  • Decentralization: True distributed network

For Direct Sponsor Network

  • Early Adopter Advantage: Unique positioning in market
  • Censorship Resistance: Distributed content storage
  • Global Reach: Tap into growing Nostr ecosystem
  • Technical Leadership: Innovation in charity/Bitcoin space
  • Network Scalability: Community-driven growth

For Community Relay Operators

  • Easy Setup: One-click relay deployment
  • Built-in Audience: Access to network content
  • Community Support: Help from other operators
  • Autonomy: Control your own relay
  • Network Benefits: Share content across all relays

Trust Problem in Traditional Nostr

Current Nostr Limitations:

  • No verification – anyone can claim anything
  • No accountability – no way to track actual impact
  • Scam potential – Sponsors have no recourse
  • No transparency – Money flows without verification
  • Web of trust missing – no reputation system

Direct Sponsor Solution:

  • Verified recipients – Real people, real projects
  • Transparent accounting – Every transfer tracked
  • Read-only wallet APIs – Sponsors control their money
  • Accountability system – Web of trust with verification
  • Impact reporting – Sponsors see where money goes

Sponsor Security System

Multi-Layer Verification:

Sponsor Security Layers:
1. Identity Verification (KYC-lite)
2. Project Verification (real impact)
3. Financial Transparency (read-only APIs)
4. Community Vetting (web of trust)
5. Impact Reporting (regular updates)

Coinos API Integration:

// Coinos-based wallet system (proven in ROFLFaucet)
class CoinosWalletSystem {
    // Recipient creates Coinos wallet, gets read-only API key
    setupRecipientWallet(recipientId, coinosApiKey) {
        const wallet = new CoinosReadOnlyAPI(coinosApiKey);
        return {
            recipientId: recipientId,
            walletAddress: wallet.getAddress(),
            apiKey: coinosApiKey, // Read-only only
            balance: wallet.getBalance(),
            transactionHistory: wallet.getTransactionHistory()
        };
    }

    // System generates invoice, sender pays directly to recipient
    createDirectTransfer(recipientId, amount, sponsorId) {
        const recipient = this.getRecipientWallet(recipientId);

        // Generate invoice directly for recipient's wallet
        const invoice = recipient.wallet.createInvoice(amount);

        // Record pending transfer in our accounting
        const transferRecord = {
            transferId: generateTransferId(),
            sponsorId: sponsorId,
            recipientId: recipientId,
            amount: amount,
            invoice: invoice,
            status: 'pending',
            created: Date.now()
        };

        accountingSystem.recordPendingTransfer(transferRecord);

        return {
            invoice: invoice, // Sender pays this directly
            transferId: transferRecord.transferId,
            recipientAddress: recipient.walletAddress,
            message: "Pay this invoice directly from any Lightning wallet"
        };
    }

    // System monitors via read-only API for payment confirmation
    verifyTransferCompletion(transferId) {
        const transfer = accountingSystem.getPendingTransfer(transferId);
        const recipient = this.getRecipientWallet(transfer.recipientId);

        // Check recipient's transaction history via read-only API
        const recentTransactions = recipient.wallet.getRecentTransactions();
        const payment = recentTransactions.find(tx => 
            tx.amount === transfer.amount && 
            tx.timestamp >= transfer.created &&
            tx.invoice === transfer.invoice
        );

        if (payment && payment.status === 'completed') {
            // Confirm transfer and update accounting
            accountingSystem.confirmTransfer({
                ...transfer,
                status: 'completed',
                completedAt: payment.timestamp,
                txHash: payment.txHash,
                verifiedBy: 'Coinos API'
            });

            // Update recipient's balance in our system
            this.updateRecipientBalance(transfer.recipientId, transfer.amount);

            // Notify both parties
            this.notifyTransferCompletion(transfer);

            return { confirmed: true, transferId: transferId };
        }

        return { confirmed: false, message: "Payment not yet detected" };
    }
}

Real-Time Transparency:

// Sponsor dashboard showing actual recipient finances
class SponsorTransparencyDashboard {
    showRecipientFinancialProfile(recipientId) {
        const recipient = this.getRecipient(recipientId);
        const wallet = this.getRecipientWallet(recipientId);

        return {
            recipient: {
                name: recipient.name,
                verificationLevel: recipient.verificationLevel,
                trustScore: recipient.trustScore
            },
            financials: {
                // Real data from Coinos API
                currentBalance: wallet.getBalance(),
                totalReceived: wallet.getTotalReceived(),
                monthlyAverage: wallet.getMonthlyAverage(),
                recentTransactions: wallet.getRecentTransactions(),

                // Our accounting data
                activeSponsors: this.getActiveSponsors(recipientId),
                regularSponsorships: this.getRegularSponsorships(recipientId),
                oneTimeDonations: this.getOneTimeDonations(recipientId)
            },
            transparency: {
                // Sponsors see exactly what recipient receives
                "Regular monthly income": `$${this.getMonthlyTotal(recipientId)}`,
                "Number of sponsors": this.getActiveSponsors(recipientId).length,
                "Average sponsorship": `$${this.getAverageSponsorship(recipientId)}`,
                "Recent large donations": this.getRecentLargeDonations(recipientId),
                "Fundraising goals": this.getFundraisingProgress(recipientId)
            }
        };
    }
}

Example Scenarios:

// Real-world examples for sponsors
class TransparencyExamples {
    showScenario1() {
        return {
            scenario: "Regular Sponsorship Verification",
            recipient: "Maria's Education Fund",
            sponsorConcern: "Is Maria getting $20/month or $2000/month?",
            systemShows: {
                regularSponsors: 5,
                monthlyAmount: 20,
                totalMonthly: 100,
                recentTransactions: [
                    { sponsor: "John D.", amount: 20, date: "2025-11-20" },
                    { sponsor: "Sarah M.", amount: 20, date: "2025-11-18" },
                    { sponsor: "Mike R.", amount: 20, date: "2025-11-15" }
                ]
            },
            conclusion: "Maria receives exactly $100/month from 5 sponsors"
        };
    }

    showScenario2() {
        return {
            scenario: "Specific Fundraiser Verification",
            recipient: "Solar Panel Project",
            fundraiser: "$250 for solar panel kit",
            sponsorConcern: "Will they get $250 or $25,000?",
            systemShows: {
                fundraiserGoal: 250,
                currentRaised: 250,
                completed: true,
                transactions: [
                    { type: "fundraiser", amount: 250, date: "2025-11-10" },
                    { type: "regular sponsorship", amount: 50, date: "2025-11-01" }
                ],
                totalMonthly: 50, // Only regular sponsorships
                conclusion: "Exactly $250 raised for solar panel, $50/month regular support"
            };
        };
    }
}

Web of Trust System

Trust Network Architecture:

Trust Relationships:
Sponsor A ──► Recipient X (verified, ongoing)
    ↓              ↓
Trust Score    Reputation Score
    ↓              ↓
Sponsor B sees  Other sponsors see
high trust      high reputation

Trust Metrics:

// Web of trust scoring system
class TrustScoring {
    calculateRecipientScore(recipientId) {
        const metrics = {
            identityVerification: 0.3,      // 30% - Verified identity
            projectTransparency: 0.25,     // 25% - Clear project goals
            financialAccounting: 0.2,      // 20% - Transparent fund usage
            communityEndorsements: 0.15,   // 15% - Other sponsor endorsements
            impactReporting: 0.1           // 10% - Regular impact updates
        };

        let totalScore = 0;
        for (const [metric, weight] of Object.entries(metrics)) {
            totalScore += this.getMetricScore(recipientId, metric) * weight;
        }

        return {
            score: totalScore,
            level: this.getTrustLevel(totalScore),
            verificationStatus: this.getVerificationStatus(recipientId)
        };
    }
}

Trust Levels:

  • Platinum (90-100%) – Verified, transparent, long-term impact
  • Gold (75-89%) – Established, good track record
  • Silver (60-74%) – Growing, building reputation
  • Bronze (40-59%) – New, limited history
  • Unverified (0-39%) – New or insufficient verification

Robust Financial System

Transfer Flow (Coinos Model):

Sponsor Initiates Transfer
    ↓
DirectSponsor Shows Recipient's Full Financial Profile
    ↓ (Real data from Coinos API)
System Generates Invoice Directly for Recipient's Wallet
    ↓
Sponsor Pays Invoice from ANY Lightning Wallet
    ↓ (Direct P2P - funds go straight to recipient)
System Monitors via Coinos Read-Only API
    ↓
Payment Detected & Verified
    ↓
Transfer Recorded in DirectSponsor Accounting
    ↓
Both Parties Receive Confirmation & Receipt
    ↓
Impact Reporting Triggered

Key Security Benefits:

  • Direct P2P transfers – Money never touches DirectSponsor
  • Read-only verification – the system can see but not move funds
  • Real-time transparency – Sponsors see actual recipient finances
  • Any Lightning wallet – the sender chooses their preferred wallet
  • Cryptographic proof – Blockchain confirms all transactions

Financial Transparency:

// Sponsor dashboard for transparency
class SponsorDashboard {
    showRecipientDetails(recipientId) {
        return {
            profile: recipient.getPublicProfile(),
            trustScore: trustScoring.calculate(recipientId),
            financialHistory: {
                totalReceived: accounting.getTotalReceived(recipientId),
                activeSponsors: accounting.getActiveSponsors(recipientId),
                averageMonthly: accounting.getAverageMonthly(recipientId),
                recentTransfers: accounting.getRecentTransfers(recipientId)
            },
            impactReports: recipient.getImpactReports(),
            communityEndorsements: trust.getEndorsements(recipientId),
            verificationStatus: recipient.getVerificationLevel()
        };
    }
}

Accountability Features

Impact Reporting:

// Automated impact reporting
class ImpactReporting {
    // Recipients must provide regular updates
    generateReportRequirement(recipientId, transferAmount) {
        const frequency = this.getReportingFrequency(transferAmount);
        return {
            textUpdates: frequency.textUpdates,      // Weekly/Monthly
            photoEvidence: frequency.photoEvidence,  // Monthly
            financialBreakdown: frequency.financial, // Quarterly
            communityTestimonials: frequency.testimonials, // Bi-annual
            nextReportDue: this.calculateNextReport(recipientId)
        };
    }

    // System tracks compliance
    checkCompliance(recipientId) {
        const reports = this.getSubmittedReports(recipientId);
        const required = this.getRequiredReports(recipientId);
        return {
            complianceRate: this.calculateCompliance(reports, required),
            missedReports: this.getMissedReports(recipientId),
            trustImpact: this.calculateTrustImpact(recipientId),
            sponsorNotifications: this.generateSponsorNotifications(recipientId)
        };
    }
}

Fraud Prevention:

// Fraud detection and prevention
class FraudPrevention {
    analyzeTransferPatterns(recipientId) {
        const patterns = {
            suddenIncrease: this.checkSuddenIncrease(recipientId),
            unusualFrequency: this.checkUnusualFrequency(recipientId),
            multipleSmallTransfers: this.checkFragmentation(recipientId),
            sponsorComplaints: this.checkSponsorComplaints(recipientId),
            reportingGaps: this.checkReportingGaps(recipientId)
        };

        return {
            riskScore: this.calculateRiskScore(patterns),
            flags: this.generateFlags(patterns),
            recommendedActions: this.getRecommendedActions(patterns),
            automaticHolds: this.shouldHoldTransfers(patterns)
        };
    }
}

Web of Trust Integration

PGP-Style Trust Signatures:

// Web of trust endorsement system
class WebOfTrust {
    // Sponsors can endorse recipients
    endorseRecipient(sponsorId, recipientId, endorsement) {
        const signature = this.createEndorsementSignature(sponsorId, endorsement);
        return {
            endorsementId: generateEndorsementId(),
            sponsorId: sponsorId,
            recipientId: recipientId,
            endorsement: endorsement,
            signature: signature,
            timestamp: Date.now(),
            trustWeight: this.calculateSponsorTrustWeight(sponsorId)
        };
    }

    // Calculate trust propagation
    calculatePropagatedTrust(recipientId) {
        const endorsements = this.getEndorsements(recipientId);
        let propagatedTrust = 0;

        for (const endorsement of endorsements) {
            const sponsorTrust = this.getSponsorTrustScore(endorsement.sponsorId);
            const endorsementWeight = endorsement.trustWeight;
            propagatedTrust += sponsorTrust * endorsementWeight;
        }

        return {
            directEndorsements: endorsements.length,
            propagatedTrust: propagatedTrust,
            networkReach: this.calculateNetworkReach(endorsements),
            trustLevel: this.getTrustLevelFromScore(propagatedTrust)
        };
    }
}

Trust Network Visualisation:

Sponsor Network Graph:
┌─────────────────┐    ┌─────────────────┐
│  Sponsor A      │────│  Recipient X    │
│  Trust: 95%     │    │  Score: 88%     │
└─────────────────┘    └─────────────────┘
         │                       │
         └───────┬───────────────┘
                 │
    ┌─────────────────┐    ┌─────────────────┐
    │  Sponsor B      │────│  Recipient Y    │
    │  Trust: 92%     │    │  Score: 85%     │
    └─────────────────┘    └─────────────────┘

Sponsor Benefits

Enhanced Security:

  • Identity verification – Know who you’re sponsoring
  • Financial transparency – See exactly where money goes
  • Trust scoring – Data-driven sponsorship decisions
  • Fraud prevention – Automated risk detection
  • Openness – Proper documentation and records

Better Outcomes:

  • Verified impact – Real projects, real results
  • Complete financial transparency – See exactly what recipients receive
  • Direct P2P transfers – Money goes straight to recipients
  • Regular updates – See your impact in action
  • Accountability – Recipients must report back
  • Trust verification – Know if recipient gets $20/month or $2000/month

Network Effects:

  • Shared intelligence – Learn from other sponsors
  • Collective bargaining – group verification power
  • Reputation system – Build trust over time
  • Market efficiency – Good projects rise to top
  • Risk distribution – Spread sponsorship across verified recipients

Implementation Integration

Integration with Nostr:

// Enhanced Nostr integration with trust system
class NostrTrustIntegration {
    // Nostr posts include trust verification
    createNostrPost(content, authorId) {
        const trustInfo = this.getAuthorTrustInfo(authorId);
        const nostrEvent = {
            content: content,
            author: authorId,
            trustScore: trustInfo.score,
            verificationLevel: trustInfo.verificationLevel,
            sponsorCount: trustInfo.activeSponsors,
            impactMetrics: trustInfo.impactMetrics
        };

        return this.publishToNostr(nostrEvent);
    }

    // Nostr zaps require minimum trust score
    processZapEvent(zapEvent) {
        const recipientTrust = this.getRecipientTrust(zapEvent.recipient);
        if (recipientTrust.score < MINIMUM_TRUST_FOR_ZAPS) {
            return { error: "Recipient below minimum trust threshold" };
        }

        return this.processVerifiedZap(zapEvent, recipientTrust);
    }
}

Trust System Success Metrics

Trust Metrics:

  • Verification rates – Percentage of recipients verified
  • Trust score distribution – Network trust health
  • Fraud detection accuracy – False positive/negative rates
  • Sponsor satisfaction – Confidence in the system
  • Impact reporting – Recipient accountability

User Metrics:

  • Sponsor retention – Repeat sponsorship rates
  • Recipient success – Long-term funding sustainability
  • Network growth – New verified recipients
  • Trust propagation – Endorsement network effects
  • Dispute resolution – Problem handling efficiency

Key Differentiators

vs Traditional Nostr:

  • Trust vs Anonymity – Verified identities vs pseudonymous
  • Accountability vs Freedom – Required reporting vs no oversight
  • Transparency vs Privacy – Open financials vs hidden transfers
  • Verification vs Open Access – Curated vs anyone can join
  • Impact vs Activity – Real results vs just content

vs Traditional Charity:

  • Direct Connection – Person-to-person vs institutional
  • Transparency – Real-time vs annual reports
  • Flexibility – Choose recipients vs predefined programs
  • Community Trust – Web of trust vs institutional trust
  • Low Overhead – Direct transfers vs administrative costs

Next Steps

1: Foundation (M 1-2)

  • [ ] Implement read-only wallet API integration
  • [ ] Create basic trust scoring system
  • [ ] Set up identity verification process
  • [ ] Develop impact reporting framework

2: Network Building (M 3-4)

  • [ ] Launch web of trust endorsement system
  • [ ] Implement fraud detection algorithms
  • [ ] Create sponsor dashboard
  • [ ] Test with pilot group

3: Scale (M 5-6)

  • [ ] Open to broader sponsor base
  • [ ] Enhance trust propagation algorithms
  • [ ] Add advanced analytics
  • [ ] Integrate with Nostr features

Notes

Why This Matters:

  • Solves Nostr’s trust problem – adds accountability to a decentralised system
  • Protects sponsors – Prevents fraud and misuse of funds
  • Enables real impact – Connects money to verifiable outcomes
  • Builds sustainable ecosystem – trust-based long-term relationships

Competitive Advantage:

  • Unique in Nostr ecosystem – the only platform with trust verification
  • Hybrid approach – Web of trust meets modern finance
  • Scalable trust – Network effects improve verification over time
  • Real accountability – not just promises, but proof

Status: Trust system architecture ready for implementation
Innovation: Combines Nostr’s decentralization with real-world accountability