DOCUMENTATION
SOBTC.NET
Bitcoin Freelance Network — Developer Guide
WHAT IS SOBTC.NET
SOBTC.NET is a decentralized Bitcoin donation platform built on the OIO Protocol. Every profile gets a Bitcoin wallet. Supporters donate directly — no middlemen, no fees except SUBTC network fee on withdrawal.
TESTNET MODE — TEST WITHOUT REAL BTC
SOBTC.NET has a built-in testnet environment. Create a real account, switch to testnet,
and use the faucet to receive free test funds — no real Bitcoin required.
1.
Create your account — takes under 2 minutes
2.
Go to Dashboard → Bitcoin Core → switch to TESTNET
3.
Claim 100,000 sat from the faucet — sent instantly to your testnet wallet
4.
Test donations, ads, payments, and the publish API — full feature parity with mainnet
5.
Switch back to MAINNET anytime — one click, wallet preserved
GETTING STARTED
1. Create your profile
https://sobtc.net/create
Upload a photo, choose a username, add bio → you get an BTC KEY + Bitcoin wallet
2. Save your BTC KEY
Your BTC KEY is shown once. Store it securely — it is your identity and API key.
3. Share your profile
https://sobtc.net/{username}
Anyone can visit your profile and donate Bitcoin directly to your wallet.
API REFERENCE
POST /api/publish
Publish a post. Stored on IPFS permanently. Triggers Telegram · GitHub · IFTTT auto-send.
# Text post (min 35 chars)
curl -X POST https://sobtc.net/api/publish \
-H "X-BTC-KEY: YOUR_OIO_KEY" \
-d "text=hello world #bitcoin"
# Code post (auto-push to GitHub if connected)
curl -X POST https://sobtc.net/api/publish \
-H "X-BTC-KEY: YOUR_OIO_KEY" \
-d "text=fmt.Println(\"hello\")&code_mode=1&code_lang=go"
{
"cid": "QmXxx...",
"slug": "abc123",
"url": "https://sobtc.net/abc123"
}
text — post body (required, min 35 chars)
code_mode — set to 1 for code posts
code_lang — language hint: go py js sh sql html
code_mode — set to 1 for code posts
code_lang — language hint: go py js sh sql html
GET /widget/{username}
Embeddable Bitcoin donate button for any website.
<iframe
src="https://sobtc.net/widget/demo"
width="320" height="148"
frameborder="0"
></iframe>
GET /widget/stream/{username}
OBS / Streamlabs Browser Source. Transparent background. Click to reveal BTC address.
URL: https://sobtc.net/widget/stream/demo
Width: 260
Height: 120
CSS: body { background: rgba(0,0,0,0); }
GET /api/donate/{username}
Get a fresh Bitcoin receive address for a profile.
curl https://sobtc.net/api/donate/demo
{"address":"tb1q..."}
POST /auth/verify
Verify OIO identity for third-party login. Returns public info only — never the key.
curl -X POST https://sobtc.net/auth/verify \
-H "Content-Type: application/json" \
-d '{"btc_id":"OIO-xxxxxxxx","btc_key":"BTC-KEY-..."}'
{"verified":true,"username":"btc","btc_id":"OIO-xxxxxxxx"}
→ CORS enabled — works from any domain
→ Never returns BTC KEY or sensitive data
→ Use for "Login with SOBTC.NET" on external sites
→ Never returns BTC KEY or sensitive data
→ Use for "Login with SOBTC.NET" on external sites
GET /api/feed
Public feed — latest posts from all profiles.
curl https://sobtc.net/api/feed
WALLET
Every profile gets a Bitcoin wallet powered by SUBTC Gateway.
Donations arrive directly. Withdraw anytime via your dashboard.
→ Minimum withdrawal: 100,000 sat
→ Network fee: deducted by SUBTC on send
→ Platform fee: 0%
→ Payout: instant on-chain
CONTENT STORAGE
All posts are stored on IPFS — the decentralized web.
Content is permanent and censorship-resistant. Every post gets a unique CID (Content ID).
https://i.sobtc.net/ipfs/{cid}
DONATE — SUPPORT A CREATOR
Every SOBTC.NET profile has a public Bitcoin donation button. Anyone can send any amount of BTC directly to a creator's wallet — no account needed, no intermediaries, zero platform commission.
HOW IT WORKS
1.
Visit any creator profile on SOBTC.NET
2.
Click the Donate button — a Bitcoin address appears
3.
Send any amount from your Bitcoin wallet — the creator receives 100%
4.
No account required. No email. No tracking.
Want to support SOBTC.NET directly? Click the button below — donations go to the platform wallet.
ADVERTISE — AD NETWORK ON PROFILES
Every creator can activate an ad slot on their profile. Advertisers pay directly in Bitcoin — 100% goes to the creator. SOBTC.NET takes zero commission.
FOR CREATORS — ENABLE YOUR AD SLOT
1.
Go to your dashboard → Advertise section
2.
Upload a banner image (468×60 or 300×250) and add your link
3.
Your profile now shows an Advertise button — visible to visitors
4.
Advertisers click the button, pay 100,000 sat directly to your wallet, and their ad goes live for 24 hours
FOR ADVERTISERS — BUY AN AD SLOT
1.
Visit any profile that shows an Advertise button
2.
Upload your banner (468×60 or 300×250) and enter your destination URL
3.
Send 100,000 sat to the provided Bitcoin address
4.
Your ad activates for 24 hours — zero scripts, banner + link only, no tracking
Slot price
100,000 sat / 24h
Platform commission
0%
Banner sizes
468×60 · 300×250
Tracking
Zero
PAYMENT GATEWAY API
Accept Bitcoin payments with a single GET request. No product setup, no DB — pass amount + label + ref and get a Bitcoin address instantly. Webhook fires when payment arrives.
CREATE PAYMENT
GET /api/pay?username={user}&amount={sat}&label={text}&ref={id}
Minimum: 100,000 sat · Returns fresh Bitcoin address · Watch created automatically
Response:
{
"address": "bc1q...", ← show to customer
"amount_sat": 100000,
"min_sat": 90000, ← webhook fires at 90%
"label": "Game Level",
"ref": "order_123", ← your reference ID
"expires_at": 1234567890,
"webhook": "https://sobtc.net/webhook/pay/{user}"
}
WEBHOOK — your server receives
POST https://your-server.com/paid
Headers:
X-SUBTC-SIG: sha256=abc... ← HMAC-SHA256 signature
Body:
{
"event": "confirmed",
"address": "bc1q...",
"received_sat": 95000
}
VERIFY SIGNATURE
// Node.js
const sig = req.headers['x-subtc-sig']
const expected = 'sha256=' + hmac('sha256', YOUR_SECRET, rawBody)
if (sig !== expected) return res.status(401).end()
const { received_sat, ref } = req.body
if (received_sat >= MIN_SAT) unlockProduct(ref)
# Python
import hmac, hashlib
sig = request.headers.get('X-SUBTC-SIG')
expected = 'sha256=' + hmac.new(secret, body, hashlib.sha256).hexdigest()
if not hmac.compare_digest(sig, expected): abort(401)
90% TOLERANCE RULE
Bitcoin network fees can reduce the received amount. OIO Pay fires the webhook at 90% of the requested amount.
If you need 100,000 sat → charge customers 111,111 sat. Use the calculator.
If you need 100,000 sat → charge customers 111,111 sat. Use the calculator.