API Documentation

Self-hosted REST API for Dogecoin transactions.

Authentication: All wallet-based endpoints accept api_key as form data or URL parameter. Get your API key from API Management (login required).
POST /api/v1/withdraw Send Dogecoin from one of your addresses to any Dogecoin address. Transaction is...

Send Dogecoin from one of your addresses to any Dogecoin address. Transaction is created, signed, and broadcast to the network.

Parameters
NameRequiredDescription
api_key required Your API key
from_address required Your Dogecoin address (must be registered to your account)
to_address required Recipient Dogecoin address
amount required Target amount in DOGE (recipient receives this; fee is added on top)
fee_rate optional Fee rate in DOGE/KB. Default: 0.01
import requests

API = "http://dogecoin.saitamatechno.com/api/v1"
API_KEY = "your_api_key"

resp = requests.post(API + "/withdraw", data={
    "api_key": API_KEY,
    "from_address": "DYourAddress",
    "to_address": "DRecipientAddress",
    "amount": "0.01",
    "fee_rate": "0.01",
})
print(resp.json())
curl -X POST "http://dogecoin.saitamatechno.com/api/v1/withdraw" \
  -d "api_key=YOUR_API_KEY" \
  -d "from_address=DYourAddress" \
  -d "to_address=DRecipientAddress" \
  -d "amount=0.01" \
  -d "fee_rate=0.01"
{
  "status": "success",
  "data": {
    "txid": "abc123...",
    "from_address": "DYourAddress",
    "to_address": "DRecipientAddress",
    "amount_sent": "0.01",
    "network_fee": "0.00067",
    "total_fee": "0.00067"
  },
  "message": "Transaction broadcast successfully"
}
POST /api/v1/estimate_fee Estimate the actual network fee before sending. Returns the exact fee that would...

Estimate the actual network fee before sending. Returns the exact fee that would be charged for a give amount and fee rate.

Parameters
NameRequiredDescription
api_key required Your API key
from_address required Your Dogecoin address (must be registered to your account)
to_address required Recipient Dogecoin address
amount required Target amount in DOGE (recipient receives this; fee is estimated on top)
fee_rate optional Fee rate in DOGE/KB. Default: 0.01
resp = requests.post(API + "/estimate_fee", data={
    "api_key": API_KEY,
    "from_address": "DYourAddress",
    "to_address": "DRecipientAddress",
    "amount": "0.01",
    "fee_rate": "0.01",
})
print(resp.json())
curl -X POST "http://dogecoin.saitamatechno.com/api/v1/estimate_fee"   -d "api_key=YOUR_API_KEY"   -d "from_address=DYourAddress"   -d "to_address=DRecipientAddress"   -d "amount=0.01"   -d "fee_rate=0.01"
{
  "status": "success",
  "data": {
    "actual_fee": "0.00067",
    "fee_rate": 0.01,
    "tx_size_bytes": 250,
    "from_address": "DYourAddress",
    "to_address": "DRecipientAddress",
    "amount": 0.01
  },
  "message": "Estimated fee: 0.00067000 DOGE"
}
POST /api/v1/get_address_balance Get the available balance for one of your wallet addresses.

Get the available balance for one of your wallet addresses.

Parameters
NameRequiredDescription
api_key required Your API key
address optional Your Dogecoin address (preferred)
label optional Wallet label (fallback)
resp = requests.post(API + "/get_address_balance", data={
    "api_key": API_KEY,
    "address": "DQSBm...",
})
print(resp.json())
curl -X POST "http://dogecoin.saitamatechno.com/api/v1/get_address_balance" \
  -d "api_key=YOUR_API_KEY" \
  -d "address=DYourAddress"
{
  "status": "success",
  "data": {
    "balance": "0.2093156",
    "address": "DQSBm..."
  }
}
POST /api/v1/get_my_addresses List all wallet addresses registered to your account with their balances.

List all wallet addresses registered to your account with their balances.

Parameters
NameRequiredDescription
api_key required Your API key
resp = requests.post(API + "/get_my_addresses", data={
    "api_key": API_KEY,
})
print(resp.json())
curl -X POST "http://dogecoin.saitamatechno.com/api/v1/get_my_addresses" \
  -d "api_key=YOUR_API_KEY"
{
  "status": "success",
  "data": {
    "network": "DOGE",
    "addresses": [
      {"label": "Test Wallet", "address": "DQSBm...", "available_balance": "0.20"},
      {"label": "a1", "address": "DG2jc...", "available_balance": "0.04"}
    ]
  }
}
POST /api/v1/addr_by_label Get the Dogecoin address associated with a label.

Get the Dogecoin address associated with a label.

Parameters
NameRequiredDescription
api_key required Your API key
label required The wallet label (e.g. "myaddress", "default")
c = DogeClient("YOUR_API_KEY")
addr = c.addr_by_label("myaddress")
print(addr)
curl -X POST "http://dogecoin.saitamatechno.com/api/v1/addr_by_label"   -d "api_key=YOUR_API_KEY"   -d "label=myaddress"
{
  "status": "success",
  "data": {
    "label": "myaddress",
    "address": "DYourAddress"
  }
}
POST /api/v1/listunspent_by_addr List all UTXOs (confirmed and pending) for a wallet address.

List all UTXOs (confirmed and pending) for a wallet address.

Parameters
NameRequiredDescription
api_key required Your API key
address required Your Dogecoin address
resp = c.listunspent_by_addr("DG2jc...")
print(resp["data"]["total_confined"])
curl -X POST "http://dogecoin.saitamatechno.com/api/v1/listunspent_by_addr"   -d "api_key=YOUR_API_KEY"   -d "address=DG2jc..."
{
  "status": "success",
  "data": {
    "address": "DG2jc...",
    "confirmed_utxos": [{"txid": "...", "vout": 0, "amount": "0.01", "confirmations": 100, "spendable": true}],
    "pending_utxos": [],
    "total_confirmed": "0.01000000",
    "total_pending": "0.00000000"
  }
}
GET /api/v1/search_txid Public: Look up a transaction by TXID. No API key needed. Returns inputs, output...

Public: Look up a transaction by TXID. No API key needed. Returns inputs, outputs, fee, block info.

Parameters
NameRequiredDescription
txid required Transaction ID (64-char hex). Send as query param or POST data.
# Public endpoint - no API key needed
import requests
resp = requests.get("http://dogecoin.saitamatechno.com/api/v1/search_txid?txid=4f155a29...")
print(resp.json())
curl "http://dogecoin.saitamatechno.com/api/v1/search_txid?txid=4f155a29..."
{
  "status": "success",
  "data": {
    "txid": "4cd35104...",
    "inputs": [{"n": 0, "address": "D...", "amount": 1.0}],
    "outputs": [{"n": 0, "address": "D...", "amount": 0.19745360}],
    "total_amount": 0.19745360,
    "fee": 0.000522,
    "confirmations": 150,
    "blockhash": "000000...",
    "blockheight": 6190000,
    "blocktime": 1700000000
  }
}
POST /api/v1/get_new_address Get or create a wallet address with a label. If the label exists, returns the ex...

Get or create a wallet address with a label. If the label exists, returns the existing address.

Parameters
NameRequiredDescription
api_key required Your API key
label required Label for the address (e.g., "my-bot", "default")
resp = requests.post(API + "/get_new_address", data={
    "api_key": API_KEY,
    "label": "my-bot",
})
print(resp.json())
curl -X POST "http://dogecoin.saitamatechno.com/api/v1/get_new_address" \
  -d "api_key=YOUR_API_KEY" \
  -d "label=my-bot"
{
  "status": "success",
  "data": {
    "label": "my-bot",
    "address": "D..."
  }
}
POST /api/v1/get_network_info Get Dogecoin blockchain network information.

Get Dogecoin blockchain network information.

Parameters
NameRequiredDescription
api_key required Your API key
resp = requests.post(API + "/get_network_info", data={
    "api_key": API_KEY,
})
print(resp.json())
curl -X POST "http://dogecoin.saitamatechno.com/api/v1/get_network_info" \
  -d "api_key=YOUR_API_KEY"
{
  "status": "success",
  "data": {
    "block_count": 6190053,
    "difficulty": 6035461.6,
    "connections": 8
  }
}
POST /api/v1/get_transaction_fee Get an estimated transaction fee. The actual fee when sending is calculated dyna...

Get an estimated transaction fee. The actual fee when sending is calculated dynamically.

Parameters
NameRequiredDescription
api_key required Your API key
resp = requests.post(API + "/get_transaction_fee", data={
    "api_key": API_KEY,
})
print(resp.json())
curl -X POST "http://dogecoin.saitamatechno.com/api/v1/get_transaction_fee" \
  -d "api_key=YOUR_API_KEY"
{
  "status": "success",
  "data": {
    "network_fee": "0.0023",
    "total_fee": "0.0023"
  }
}
POST /api/v1/get_current_price Get the current DOGE price in USD.

Get the current DOGE price in USD.

Parameters
NameRequiredDescription
api_key required Your API key
resp = requests.post(API + "/get_current_price", data={
    "api_key": API_KEY,
})
print(resp.json())
curl -X POST "http://dogecoin.saitamatechno.com/api/v1/get_current_price" \
  -d "api_key=YOUR_API_KEY"
{
  "status": "success",
  "data": {
    "price_usd": "0.15",
    "base_currency": "USD"
  }
}
--- Error Responses All endpoints return consistent error format
HTTPScenarioResponse
401Invalid or missing API key{"status": "error", "message": "Invalid API key"}
400Missing required parameter{"status": "error", "message": "from_address is required"}
400Insufficient balance{"status": "error", "message": "Insufficient balance..."}
404Address not registered{"status": "error", "message": "Address D... is not registered..."}
500Network or RPC error{"status": "error", "message": "..."}
Full Python Client
import requests


class DogeClient:

    def __init__(self, api_key, base_url="https://dogecoin.saitamatechno.com"):
        self.api_key = api_key
        self.api_url = base_url.rstrip("/") + "/api/v1"

    def _post(self, endpoint, data=None):
        payload = {"api_key": self.api_key}
        if data:
            payload.update(data)
        return requests.post(f"{self.api_url}/{endpoint}", data=payload).json()

    def balance(self, address=None, label=None):
        payload = {}
        if address:
            payload["address"] = address
        if label:
            payload["label"] = label
        return self._post("get_address_balance", payload)

    def addr_by_label(self, label):
        return self._post("addr_by_label", {"label": label})

    def listunspent_by_addr(self, address):
        return self._post("listunspent_by_addr", {"address": address})

    def search_txid(self, txid):
        return self._post("search_txid", {"txid": txid})

    def my_addresses(self):
        return self._post("get_my_addresses")

    def get_address(self, label="default"):
        return self._post("get_new_address", {"label": label})

    def estimate_fee(self, from_address, to_address, amount, fee_rate=0.01):
        return self._post("estimate_fee", {
            "from_address": from_address,
            "to_address": to_address,
            "amount": str(amount),
            "fee_rate": str(fee_rate),
        })

    def send(self, from_address, to_address, amount, fee_rate=0.01):
        return self._post("withdraw", {
            "from_address": from_address,
            "to_address": to_address,
            "amount": str(amount),
            "fee_rate": str(fee_rate),
        })

    def network_info(self):
        return self._post("get_network_info")

    def price(self):
        url = "https://api.coingecko.com/api/v3/simple/price"
        params = {"ids": "dogecoin", "vs_currencies": "usd"}
        response = requests.get(url, params=params)
        data = response.json()
        price = data["dogecoin"]["usd"]
        return price


# Quick example
if __name__ == "__main__":
    c = DogeClient("YOUR_API_KEY")
    addrs = c.my_addresses()
    for a in addrs["data"]["addresses"]:
        print(a["label"], a["available_balance"], "DOGE")
    # myaddr = addrs["data"]["addresses"][0]["address"]
    # print(c.network_info())
    # print(c.estimate_fee("DFromAddress", "DToAddress", 0.01, 0.01))
    # result = c.send("DFromAddress", "DToAddress", 0.05, 0.01)
    # print(result)
    # print(c.price())
    # print(c.balance("DYourAddress"))
    # res = c.addr_by_label("a1")
    # print(res["data"]["address"])
    # print(c.listunspent_by_addr("DYourAddress"))
    # print(c.search_txid("4cd35104f95e134394cd21f267d34f8f7c598f2a91a0e35060b35e45edb53a6c"))