Hey all! I wanted to share a project I’ve been building.
ArkAPI is a pay-per-call API gateway live on Signet where sessions are funded via Bark. Both Lightning invoices and native Ark payments work for activating sessions.
This was a genuinely fun build. The Bark integration was way smoother than I expected going in. Being able to accept Lightning payments without running my own node, and having native Ark payments work alongside that, made the whole payment layer surprisingly simple to wire up. The barkd REST API is clean and just does what you’d expect. Huge props to the Second team for making this so approachable for developers.
You can see the full session funding and API call flow on the landing page, or check out the interactive funding page at arkapi.dev/fund/ and the full API docs at arkapi.dev/docs/
There are currently 24 endpoints covering:
- Security: DNS, WHOIS, SSL, headers audit, CVE lookup, AXFR check
- OSINT: domain intel, IP geolocation, email auth
- Utility: weather, BTC price, QR codes, screenshots, domain availability
- AI: chat, translation, image generation
Full pricing in the OpenAPI spec at:
arkapi.dev/openapi.json
The API is also designed for agent access. There’s an OpenAPI spec, an llms.txt file, and a .well-known/arkapi.json manifest so agents can discover endpoints and pricing programmatically. The idea is that an agent with a funded session token can call any endpoint without human intervention — no API key provisioning, no OAuth, just a bearer token backed by sats.
The backend is a Go service in Docker talking to barkd on localhost:3000 for all payment operations. MySQL handles sessions and billing. Apache and Cloudflare sit in front. Everything runs on a single VPS. A background poller checks for Lightning invoice payments and also monitors for incoming VTXOs to handle native Ark funding. Both rails activate the same session.
A few questions for the team:
- For native Ark payments, is polling wallet state the right approach today, or is there a cleaner way to detect incoming VTXOs tied to a specific purpose?
- Any plans for barkd webhook or callback support when payments arrive?
- For a merchant wallet receiving many small payments, is there anything I should be aware of around VTXO refresh timing or wallet maintenance?
- Once Bark goes mainnet, is there anything I should prepare for beyond changing the ASP URL and network settings?
If anyone wants to try it out, I’d really appreciate the testing and feedback. You can fund a session from arkapi.dev/fund/ or via curl. You’ll need Signet sats from the faucet at signet.2nd.dev to fund your Bark wallet, then pay via Lightning invoice or send directly to the Ark address. Once your session is active, all 24 endpoints are available to hit. Let me know if anything breaks or feels off.
If this is useful as a reference implementation for other developers building on Bark, I’d be happy to see it linked from docs or examples.
Happy to go into more detail on any part of the integration. Would love feedback from the team and the community on anything I should be doing differently.
Cheers,
PiHiker