Skip to content

[Feature]: Stellar micro-payments module #143

Description

@memplethee-lab

Feature Request

Problem Statement

The repository lacks a Stellar micro-payments module to enable low-fee, fast microtransactions for grant disbursements, tipping, and reward payouts. Without a native Stellar module, teams must implement ad-hoc payment logic, increasing engineering effort and risk.

Proposed Solution

Add a Stellar micro-payments module that:

  • Provides REST endpoints to create, sign, and submit Stellar transactions (SEP-000X compatible), including support for testnet and mainnet.
  • Supports creating client-side signed transactions and server-side anchors for asset issuance.
  • Implements idempotent payment submission, fund source selection, and rate limiting to prevent accidental double-spend.
  • Exposes reconciliation endpoints and webhooks for Stellar payment events (using Horizon streaming or webhook anchors).

Acceptance criteria:

  • Module exposes documented endpoints: /payments/stellar/create, /payments/stellar/submit, /payments/stellar/status.
  • Transactions can be created and submitted on testnet in CI with sample keys.
  • Idempotency keys prevent double-processing of the same logical payment.
  • End-to-end tests simulate a payment from a funded testnet account to a recipient and assert ledger inclusion.

Alternatives Considered

  • Using third-party payment providers (rejected: adds external fees and centralization).
  • Off-chain ledger with batched on-chain settlements (future enhancement).

Additional Context

Stellar is attractive for Grantfox and Stellar teams due to low fees and fast finality — implementing native support will make the API competitive for micropayments.

Implementation Ideas (Optional)

  • Use stellar-sdk and Horizon testnet for integration tests. Implement a StellarService abstraction and a PaymentsController.

Would you be willing to contribute?

  • Yes, I'd like to submit a PR for this feature
  • I can help with testing
  • I can help with documentation
  • I'd rather let someone else work on this

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third CampaignenhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions