Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions components/MDXComponents.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import DesignTeam from './DesignTeam'
import Credits from './Supporters'
import YouTubeEmbed from './YouTubeEmbed'
import Members from './Members'
import StatsBar from './StatsBar'

export const Wrapper = ({ layout, content, ...rest }: MDXLayout) => {
const Layout = require(`../layouts/${layout}`).default
Expand All @@ -38,4 +39,5 @@ export const MDXComponents: ComponentMap = {
YouTubeEmbed,
Credits,
Members,
StatsBar,
}
39 changes: 39 additions & 0 deletions components/StatsBar.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
export function formatNumber(num: number): string {
const abbreviations = ['k', 'M', 'B', 'T']
let i = 0
while (num > 1e3 && i < abbreviations.length) {
num /= 1e3
if (num < 1e3) {
return `${num.toFixed(1)} ${abbreviations[i]}`
}
i += 1
}
return num.toString()
}

export default function StatsBar({ stats }) {
const statistics = [
{ id: 1, name: stats.names[0], value: stats.values[0] },
{ id: 2, name: stats.names[1], value: stats.values[1] },
{ id: 3, name: stats.names[2], value: stats.values[2] },
]

return (
<div className="bg-white py-4 dark:bg-gray-900">
<div className="mx-auto">
<dl className="grid grid-cols-1 gap-x-2 gap-y-4 md:grid-cols-3">
{statistics.map((stat) => (
<div key={stat.id} className="mx-auto grid grid-cols-1">
<dt className="text-center text-base/7 text-gray-600 dark:text-gray-300">
{stat.name}
</dt>
<dt className="order-first text-center text-4xl font-semibold tracking-tight text-gray-900 dark:text-gray-100">
{stat.value}
</dt>
</div>
))}
</dl>
</div>
</div>
)
}
46 changes: 46 additions & 0 deletions data/blog/additional-ops-budget-from-hrf.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: "Additional Operational Budget from HRF"
date: '2025-02-18'
tags: ['OpenSats', 'funding', 'donations', 'operations']
draft: false
authors: ['arvin', 'default']
images: ['/static/images/blog/69-additional-ops-budget-from-hrf.jpg']
summary: "OpenSats secures a $250,000 grant from HRF's Bitcoin Development Fund for our Operations Budget."
---

OpenSats is thrilled to announce a $250,000 donation from the Human Rights
Foundation's Bitcoin Development Fund, first
[announced](https://hrf.org/latest/hrf-bitcoin-development-fund-grants-one-billion-satoshis-to-13-projects-worldwide/)
during the 2024 Oslo Freedom Forum.

The Human Rights Foundation ([HRF](https://hrf.org/)) defends global human
rights by supporting dissidents and challenging authoritarian regimes, and their
[Bitcoin Development
Fund](https://hrf.org/program/financial-freedom/bitcoin-development-fund/) backs
projects that enhance Bitcoin's privacy, security, and usability to promote
global financial freedom.

This generous contribution is specifically allocated for our [Operations
Budget](/funds/ops), ensuring our essential operational functions remain robust
and effective.

> OpenSats is a powerful force for good in the world. Their largely
> volunteer-driven team has an outsized impact, and HRF is thrilled to support
> their important work with this grant to help sustain their operations.
>
><cite>—Christian Keroles, Director of Financial Freedom</cite>

Unlike our General Fund and The Nostr Fund, which pass 100% of donations
directly to developers and projects, the Operations Budget is what sustains the
organizational framework that makes our grantmaking possible. This funding
empowers us to continue our behind-the-scenes work, which keeps our
[mission](/mission) thriving.

We are grateful to HRF for their trust and support. If you share our commitment
to fostering open-source development in the Bitcoin and nostr ecosystems, please
consider donating to our cause. Your support drives
meaningful innovation and helps us champion the technologies of tomorrow.

<center>
<DonateToOperationsButton/>
</center>
2 changes: 1 addition & 1 deletion data/funds/ops.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ git: 'https://github.com/OpenSats'
zaprite: 'lZo1wcsJ0SQb58XfGC4e'
btcpay: 'opensats_operations_budget'
tags: ['OpenSats', 'Fund']
bonusUSD: 1330000
bonusUSD: 1580000
---

## About this project
Expand Down
19 changes: 12 additions & 7 deletions data/pages/faq-application.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ not covered below.
- [If my application is rejected, can I reapply?](#if-my-application-is-rejected-can-i-reapply)
- [Can anyone apply?](#can-anyone-apply)
- [What should I do if I have general praise or criticism regarding OpenSats?](#what-should-i-do-if-i-have-general-praise-or-criticism-regarding-opensats)
- [I have a question that isn't covered here; whom should I email?](#i-have-a-question-that-isnt-covered-here-whom-should-i-email)
- [I have a question that isn't covered here; what do I do?](#i-have-a-question-that-isnt-covered-here-what-do-i-do)

---

Expand Down Expand Up @@ -90,8 +90,8 @@ jurisdiction.

Yes. We suggest working with your accountant or a similar professional if you
need help setting up an entity and/or filling out the appropriate tax forms. You
can also receive the grant as an individual. The congratulations email we sent
you contains information on what tax form we need from you in each case.
can also receive the grant as an individual. If your grant is approved, the email
notification will contain information on what tax form we need from you in each case.

### Why do you require tax information from your grantees?

Expand All @@ -118,7 +118,7 @@ commits to GitHub (or equivalent).
[gnu]: https://www.gnu.org/licenses/license-list.html

Writing all your code/educational materials in private, even if you plan to
publish them later, is not compliant with our requirements.
publish them later, is not compliant with our grant agreement.

### Can grants be part-time or only full-time?

Expand All @@ -134,9 +134,14 @@ commitment with corresponding levels of financial support.

### If my application is rejected, can I reapply?

Yes. We suggest improving your application or putting in more Proof of Work
before applying again. If you have questions about why your application was
rejected, contact us at [support@opensats.org](mailto:support@opensats.org).
Yes. We suggest:

- Putting in more Proof of Work
- Improving your application
- Consider applying for a shorter grant of 3 or 6 months

If you would like feedback on why your application was rejected, contact us at
[support@opensats.org](mailto:support@opensats.org).

### Can anyone apply?

Expand Down
12 changes: 12 additions & 0 deletions data/pages/faq-grantees.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ changes so that you can continue building under sustainable conditions.
- [Why do you require tax information from your grantees?](#why-do-you-require-tax-information-from-your-grantees)
- [Can OpenSats help me with an accounting or legal question?](#can-opensats-help-me-with-an-accounting-or-legal-question)
- [What are the requirements of my grant?](#what-are-the-requirements-of-my-grant)
- [What does it mean to produce work under a free and open-source license?](#what-does-it-mean-to-produce-work-under-a-free-and-open-source-license)
- [How does OpenSats evaluate the work done by a grantee?](#how-does-opensats-evaluate-the-work-done-by-a-grantee)
- [What does an ideal progress report look like?](#what-does-an-ideal-progress-report-look-like)
- [What does a poor progress report look like?](#what-does-a-poor-progress-report-look-like)
Expand Down Expand Up @@ -89,6 +90,17 @@ That’s basically it![^fn-legal]

[^fn-legal]: As a public charity, we have to check various boxes on our side. Please refer to our grant agreement for any other details, linked at [opensats.org/transparency](/transparency)

### What does it mean to produce work under a free and open-source license?

We expect both code and educational materials to be published under a [free and
open-source license][gnu] and produced in the open. That means frequent, public
commits to GitHub (or equivalent).

[gnu]: https://www.gnu.org/licenses/license-list.html

Writing all your code/educational materials in private, even if you plan to
publish them later, is not compliant with our grant agreement.

### How does OpenSats evaluate the work done by a grantee?

Every grantee must submit a progress report every 90 days. A markdown template
Expand Down
Loading