Developer platform · Stagenet · live
Build on cryptography that doesn’t expire.
A pure-TypeScript SDK, in-browser ML-DSA-44 signing, and a public gateway. Generate a wallet, fund it, sign and broadcast a real transaction, without installing anything.
// 1 · a wallet, generated locally — keys never leave the browser
import { onchain } from "soq-lightning-sdk";
const { publicKey, secretKey } = onchain.mlDsaKeygen();
const address = onchain.deriveAddress(publicKey, "ssq");
// 2 · build + sign (ML-DSA-44) + broadcast — all client-side
const { rawTxHex, txid } = onchain.buildSignedSend({
hrp: "ssq", utxos, recipientAddress, amount,
changeAddress: address, senderPubkey: publicKey,
senderSecret: secretKey, feeRate,
});
await fetch("https://gateway.soqu.org/v1/tx", {
method: "POST", body: JSON.stringify({ rawtx: rawTxHex })
});
// → the node accepts it. quantum-safe, ~60 seconds.
Chain height—
Gatewaychecking…
Fee rate—shors/vB
Faucet drip500test SOQ
SignatureML-DSA-44
The first thing to know
You do not need permission or an approval to build on Soqucoin. The SDK, the templates, the docs, and the community are open to everyone, right now. Grab a template and ship. The application is only for the extras, and it never blocks you from building.
Build first. Apply later, for grants and features.
Start now
Get the SDK
soq-lightning-sdk on npm. Install, build, run.
Open →
Browse templates
Four verified starters you can clone and ship in a day.
Open →
See what you can build
AI agent payments, creator monetization, games, commerce, and record-anchoring.
Read →
Join the community
Ask questions, share what you are making, get help.
Join →
§ 02 — The SDKs
- soqucoin-sdk · Go · Layer-1
- ● Ready
- soq-lightning-sdk · TypeScript · in-browser signing + Lightning
- Preview
- soqushield_sdk · Dart · wallet primitives
- Alpha
- Public gateway · read · faucet · broadcast
- gateway.soqu.org
§ 03 — How a transaction is signed
No black boxes. An address is the hash of a lattice public key; a spend carries a Dilithium signature in its witness. Every byte is verified against the node.
address = bech32m("ssq", 1,
SHA256( pubkey₁₃₁₂ ))
witness = [ sig₂₄₂₀ ‖ 0x01, // SIGHASH_ALL
0x00 ‖ pubkey₁₃₁₂ ] // FIPS-204 form
sighash = BIP143, empty-context ML-DSA