Developer platform · Mainnet · live
Build on cryptography that doesn’t expire.
A pure-TypeScript SDK with in-browser ML-DSA-44 signing, byte-exact against soqucoind consensus. Generate a wallet, build and sign a real mainnet transaction entirely client-side, then broadcast it through any Soqucoin node.
// 1 · a wallet, generated locally — keys never leave the browser
import { onchain } from "soq-lightning-sdk";
let publicKey, secretKey;
do ({ publicKey, secretKey } = onchain.mlDsaKeygen());
while (publicKey[0] === 0xff); // the node rejects the 0xFF key marker
const address = onchain.deriveAddress(publicKey, "sq");
// 2 · build + sign (ML-DSA-44), all client-side
const { rawTxHex, txid } = onchain.buildSignedSend({
hrp: "sq", utxos, recipientAddress, amount,
changeAddress: address, senderPubkey: publicKey,
senderSecret: secretKey, feeRate,
});
// 3 · broadcast through your own node
// soqucoin-cli sendrawtransaction <rawTxHex>
// → the node accepts it. quantum-safe, on mainnet.
Mainnet height—
Explorerchecking…
NetworkMainnetsince 13 Oct 2026
Address prefixsq1p…
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
- Block explorer · blocks · transactions · addresses
- explorer.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("sq", 1,
SHA256( pubkey₁₃₁₂ ))
witness = [ sig₂₄₂₀ ‖ 0x01, // SIGHASH_ALL
0x00 ‖ pubkey₁₃₁₂ ] // FIPS-204 form
sighash = BIP143, empty-context ML-DSA