← OBSIDIO.NETWORK

Developers.

Build bots, chat invoices, x402 paid HTTP, and dApps on Obsidio L1 (Dilithium · mainnet-v2). Public RPC: https://obsidio.network/rpc/

Quick start Bots x402 dApps / wallet RPC map Live demos

Quick start

RPC

JSON-RPC over HTTPS. Many read methods are public; writes that move funds need Dilithium signatures from the user wallet.

curl -sS https://obsidio.network/rpc/ \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"obsidio_getStatus","params":{}}'

Network id in x402 / signing: obsidio-mainnet-v2 (header network field: obsidio:obsidio-mainnet-v2).

Bots

*.bot

Bot = name + pay address + API key + webhook. Logic runs on your server; the node delivers events and settles OBS/wUSDC.

  1. Open bots.bot in the Obsidio wallet (BotFather) or call obsidio_botRegister
  2. Store the returned api_key once
  3. Expose HTTPS /webhook; set it with obsidio_botSetWebhook
  4. Handle message / callback / payment / refund / escrow_released
  5. Wallet open fires obsidio_botOpen → synthetic /start webhook (greet without user typing)
  6. Reply via obsidio_botSendMessage / obsidio_botSendInvoice (from = *.bot name)
  7. Each bot should have its own pay address (obsidio_botEnsureKeys)

Webhook

Node → you: POST JSON body, header X-Obsidio-Bot-Signature: blake3(api_key || body) (hex).

{
  "type": "callback",
  "bot": "shop.demo.bot",
  "chat_id": "ons1…",
  "callback_data": "buy:item",
  "message_id": "…",
  "ts": 1793000000
}

Payment event includes invoice_id, tx_hash, escrow / escrow_held, subscription fields when set.

Invoices, escrow, subscriptions, refunds

FeatureHow
Invoiceobsidio_botSendInvoice → wallet shows pay card ⟦invoice⟧…⟦/invoice⟧
Escrow"escrow": true → after pay escrow_held; release with obsidio_botReleaseEscrow
Subscription"subscription_period_secs": 86400 → next_renew_ts; auto-renew ticker or obsidio_botRenewSubscription
Refundobsidio_botEnsureKeys (force:true if pay address already set) → fund new address → obsidio_botRefundInvoice

Example: send invoice

curl -sS https://obsidio.network/rpc/ \
  -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc":"2.0","id":1,
    "method":"obsidio_botSendInvoice",
    "params":{
      "api_key":"obs_bot_sk_…",
      "chat_id":"ons1…",
      "title":"Demo item",
      "amount_obs":"5",
      "memo":"order_42",
      "expires_in":3600,
      "escrow":false
    }
  }'

x402 (HTTP 402)

Same settlement as bot invoices. Demo:

GET https://obsidio.network/x402/demo/ping
# (also via /rpc/x402/demo/ping)
# → 402 + header PAYMENT-REQUIRED (base64 PaymentRequired v2)

# After L1 pay + confirm:
GET https://obsidio.network/x402/demo/ping
  PAYMENT-SIGNATURE: base64({"x402Version":2,"payload":{"tx_hash":"…","invoice_id":"inv_…"}})

Facilitator check: obsidio_validatePayment (amount / pay_to / asset / tx reuse / travel-rule / sanctions).

Wallet Explore → Bots → Try x402 demo ping runs the full client flow.

dApps

WALLET

In-app browser

Injected window.obsidio (same surface as the Chrome extension). Prefer user-signed txs: obsidio_walletSend with Dilithium sender_pk + signature.

Web wallet Extension
CHAIN

What you need

  • User address ons1… or ONS name
  • Asset: OBS (18 dec) or WUSDC (6)
  • Nonce from chain + sign with Dilithium-3
  • Optional: Kyber for private chat / FHE paths

Common dApp RPCs

MethodUse
obsidio_getStatusHeight, tip, network
obsidio_getBalanceOBS / WUSDC balances
obsidio_dexPools / obsidio_dexSwapAMM
obsidio_getStakingStake UI
obsidio_onsResolveName → address
obsidio_walletSendSigned transfer
obsidio_botListDiscover bots

Bot / payment RPC map

MethodAuth
obsidio_botRegisterOwner pays fee (OBS)
obsidio_botList / ResolvePublic
obsidio_botSendMessageBot api_key
obsidio_botSendInvoice / createInvoiceapi_key or bot name
obsidio_botCallbackWallet → node
obsidio_confirmInvoicePayment / validatePaymentAfter L1 pay
obsidio_botReleaseEscrowapi_key
obsidio_botRenewSubscriptionapi_key
obsidio_botEnsureKeys / botRefundInvoiceapi_key + funded bot address
obsidio_x402QuotePublic

Specs in repo: docs/BOTS.md, docs/X402.md. Also mirrored under /docs/.

Live demo bots

  • bots.bot — BotFather (create / webhook / rotate)
  • shop.demo.bot — catalog → invoice → code on payment
  • stake.bot — staking helper
  • status.bot — chain status + tip invoice

Open them in the mobile wallet: Chats → Bots or Explore → Bots.

Get APK BOTS.md X402.md Bug bounty