Second's avatar
Second
_@nostr.second.tech
npub1ake0...pfwt
Simple solutions for integrating Ark and Lightning payments into your apps. Painlessly deliver fast, low-cost, self-custodial payments to your users.
Second's avatar
second yesterday
Bark's `Wallet` struct is the single entry point for Ark, Lightning, and on-chain payments. Create one with a mnemonic + sqlite + server URL and you're transacting. image
Second's avatar
second 2 days ago
The liquidity fee model in Ark is time-based: refreshing a VTXO costs more the further it is from expiry. This creates natural incentives to refresh closer to deadline rather than early.
Second's avatar
second 3 days ago
On-chain payments on Bark no longer happen in rounds. They're now instant, kind of like Ark-to-onchain swaps. This makes them more expensive than before, but the upside is that they're now broadcast immediately (more intuitive UX).
Second's avatar
second 3 days ago
Generating Ark addresses offline is now feasible with persisted server pubkeys. No need to be connected to the Ark server just to produce a receive address.
Second's avatar
second 4 days ago
Payments on Bark currently use a single input. Instead of multi-input txs, large txs bundle independent arkoor txs into a "package" sent to the receiver in one go. Wallet history shows it as a single incoming payment.
Second's avatar
second 4 days ago
Small Rust API design lesson from Bark development: if your top-level functions are just thin wrappers around methods on a struct, they shouldn't exist. Put the logic where it belongs.
Second's avatar
second 5 days ago
If you're building on the Bark library, Lightning payments are now `wallet.pay_lnaddr(..)` instead of standalone functions that take a wallet reference. Smaller surface, fewer surprises.
Second's avatar
second 1 week ago
We're building a shared corpus repository for our fuzz targets. Every time the fuzzer runs, it builds up optimized inputs that make future runs more efficient—it doesn't start from zero each time. Over time this becomes an automatically growing collection of edge cases that doubles as regression testing.
Second's avatar
second 1 week ago
1/ Getting honggfuzz running inside a Nix development shell was its own adventure. Nix's hardening flags conflict with how honggfuzz instruments binaries, and glibc version mismatches between NixOS and honggfuzz added another layer.
Second's avatar
second 1 week ago
Fuzz testing throws massive volumes of random and malformed data at your code to find crashes that normal testing misses. @lucad70's been adding it to our QA process and it's already caught arithmetic overflows and unwrap panics that could crash the server. Fuzzing is pretty much a requirement when you're building protocol-level software.
Second's avatar
second 1 week ago
Bitcoin scaling has two sides: transactions in blocks and UTXOs. Lightning scales transactions. Ark scales both.
Second's avatar
second 1 week ago
We've redesigned how Bark-based wallets sync with the Ark server. The new unified mailbox replaces per-address polling with a single feed for all wallet notifications (Ark and Lightning payments, refreshes, and more) with support for real-time push subscriptions. One endpoint, checkpoint-based sync, and delegated notification auth for mobile. Available now in Bark.
Second's avatar
second 1 week ago
Refreshes on Bark no longer use connectors for atomicity, that's now handled by good ol' hash-locks. Confusingly, on-chains payments now use connectors instead, which are no longer handled alongside refreshes!
Second's avatar
second 1 week ago
Bark's new unified mailbox consolidates all wallet notifications into a single feed: Ark payments, Lightning preimages, BOLT-12 offers, and refresh completions. Checkpoint-based sync fetches only what's changed. image
Second's avatar
second 1 week ago
Taproot happened because Lightning proved the need for it. The best way to get covenants is for Ark to prove the need for them too.
Second's avatar
second 1 week ago
We chose honggfuzz over libfuzzer for fuzz testing bark. libfuzzer is simpler to set up, but honggfuzz gives us more flexibility for complex targets down the road. And it's what rust-bitcoin uses, so we can borrow from their what they're doing!
Second's avatar
second 1 week ago
The Ark protocol is not constrained by the need to standardize across implementations like Lightning. This means that each implementation is react fast to users' needs.
Second's avatar
second 2 weeks ago
Ark's transaction trees feel exotic until you realize they're just cleverly arranged standard bitcoin transactions. No special opcodes needed. Just signatures, timelocks, and multisigs held off-chain. image
Second's avatar
second 3 weeks ago
We've released bark-0.1.0-beta.6 featuring hArk (Hash-lock Ark), a major protocol evolution that eliminates synchronous interactivity during rounds. Previously, all round participants had to be online simultaneously to sign intermediate transactions. hArk removes this requirement—the server generates a unique secret for each VTXO, and participants can claim asynchronously after signing a forfeit transaction. This also enables efficient consolidation of multiple VTXOs into a single output and reduces server costs during malicious exit scenarios. Note: Wallets created before this release require migration due to security upgrades with hardened key derivations. Create a new wallet and transfer funds before upgrading. Lots more updates on the changelog: image