RPC Reference
Tidecoin Core exposes the full Bitcoin Core v30 JSON-RPC surface plus
Tidecoin-specific commands for PQHD wallet management (setpqhdpolicy,
listpqhdseeds, importpqhdseed, setpqhdseed, removepqhdseed) and AuxPoW merged
mining (createauxblock, submitauxblock, getauxblock).
This page is the command reference. It is not the RPC deployment guide; bind, authentication, firewalling, and service-account policy belong in RPC Security. Integration patterns belong in RPC Integration Patterns.
Calling RPC
Local CLI call:
tidecoin-cli getblockchaininfoWallet RPC call:
tidecoin-cli -rpcwallet="<wallet>" listpqhdseedsRaw JSON-RPC shape:
{
"jsonrpc": "1.0",
"id": "client",
"method": "getblockchaininfo",
"params": []
}Tidecoin-specific command index
| Command | Category | Scope | Purpose |
|---|---|---|---|
createauxblock | Mining | Node RPC | Create an AuxPoW candidate block for external merge-mining. |
submitauxblock | Mining | Node RPC | Submit solved AuxPoW for a candidate created by createauxblock. |
getauxblock | Wallet/mining | Wallet RPC | Wallet-assisted create/submit AuxPoW flow. |
setpqhdpolicy | Wallet | Wallet RPC | Set default PQ signature scheme policy for receive and change addresses. |
listpqhdseeds | Wallet | Wallet RPC | List PQHD seeds tracked by a wallet. |
importpqhdseed | Wallet | Wallet RPC | Import a 32-byte PQHD master seed. |
setpqhdseed | Wallet | Wallet RPC | Select default PQHD seed IDs for receive and change derivation. |
removepqhdseed | Wallet | Wallet RPC | Remove a non-default seed not referenced by wallet descriptors. |
AuxPoW RPCs
AuxPoW RPCs are implemented for merged-mining workflows. On mainnet, AuxPoW is
built but not active while mainnet nAuxpowStartHeight remains disabled. On
testnet, AuxPoW is active from block 1000. On regtest, it is active from
genesis. See Activation Status.
createauxblock
Create a merge-mining candidate with an explicit Tidecoin payout address.
tidecoin-cli createauxblock "<tidecoin_address>"Arguments:
| Name | Type | Required | Description |
|---|---|---|---|
address | string | Yes | Coinbase payout address for the candidate block. |
Result:
| Field | Type | Description |
|---|---|---|
hash | hex string | Hash of the created block. |
chainid | number | AuxPoW chain ID for the block. Tidecoin uses chain ID 8. |
previousblockhash | hex string | Previous block hash. |
coinbasevalue | number | Coinbase value in satoshis. |
bits | string | Compressed target. |
height | number | Candidate block height. |
_target | hex string | Deprecated reversed-byte-order target. |
Common failures:
| Error | Meaning |
|---|---|
RPC_INVALID_ADDRESS_OR_KEY (-5) | The payout address is not a valid Tidecoin address. |
RPC_CLIENT_NOT_CONNECTED (-9) | The node does not have peer connectivity when connectivity is required. |
RPC_CLIENT_IN_INITIAL_DOWNLOAD (-10) | The node is still in initial block download. |
RPC_VERIFY_ERROR (-25) or RPC_VERIFY_REJECTED (-26) | Candidate creation or validation failed. |
submitauxblock
Submit solved AuxPoW for a block created by createauxblock.
tidecoin-cli submitauxblock "<block_hash>" "<auxpow_hex>"Arguments:
| Name | Type | Required | Description |
|---|---|---|---|
hash | hex string | Yes | Hash returned by createauxblock. |
auxpow | hex string | Yes | Serialized AuxPoW data. |
Result:
| Type | Description |
|---|---|
| boolean | true if the solved AuxPoW was accepted, otherwise false. |
getauxblock
Wallet-assisted AuxPoW flow. Without arguments it creates a candidate using a
wallet-derived coinbase script. With hash and auxpow, it submits solved
AuxPoW.
Create:
tidecoin-cli -rpcwallet="<wallet>" getauxblockSubmit:
tidecoin-cli -rpcwallet="<wallet>" getauxblock "<block_hash>" "<auxpow_hex>"Arguments:
| Name | Type | Required | Description |
|---|---|---|---|
hash | hex string | No | Block hash to submit. Must be paired with auxpow. |
auxpow | hex string | No | Serialized AuxPoW data. Must be paired with hash. |
Result without arguments is the same candidate object as createauxblock.
Result with arguments is a boolean acceptance result, the same shape as
submitauxblock.
Requirements:
- A wallet must be loaded.
- Private keys must be enabled for that wallet.
- The command is useful only where AuxPoW is active or being tested.
PQHD wallet RPCs
PQHD wallet RPCs require a loaded wallet. Use -rpcwallet="<wallet>" when more
than one wallet is loaded.
Scheme inputs
Commands that accept a scheme accept known scheme names or numeric prefix bytes.
| Scheme | Common input forms | Prefix |
|---|---|---|
| Falcon-512 | falcon-512, falcon512 | 7 |
| Falcon-1024 | falcon-1024, falcon1024 | 8 |
| ML-DSA-44 | ml-dsa-44, mldsa44 | 9 |
| ML-DSA-65 | ml-dsa-65, mldsa65 | 10 |
| ML-DSA-87 | ml-dsa-87, mldsa87 | 11 |
Mainnet activation matters. Falcon-512 is live on mainnet; additional schemes are implemented but gated by AuxPoW activation on mainnet.
setpqhdpolicy
Set default PQ scheme policy for new receive and change addresses.
tidecoin-cli -rpcwallet="<wallet>" setpqhdpolicy "<receive_scheme>" "<change_scheme>"Arguments:
| Name | Type | Required | Description |
|---|---|---|---|
receive_scheme | string | Optional | Default scheme for receive addresses. |
change_scheme | string | Optional | Default scheme for change outputs. |
At least one argument must be provided.
Examples:
tidecoin-cli -rpcwallet="main" setpqhdpolicy "falcon-512" "falcon-512"
tidecoin-cli -rpcwallet="test" setpqhdpolicy "ml-dsa-65" "ml-dsa-65"Result:
| Field | Type | Description |
|---|---|---|
receive_scheme_id | number | Selected receive scheme prefix byte. |
receive_scheme_name | string | Selected receive scheme name. |
change_scheme_id | number | Selected change scheme prefix byte. |
change_scheme_name | string | Selected change scheme name. |
listpqhdseeds
List PQHD seeds tracked by the wallet.
tidecoin-cli -rpcwallet="<wallet>" listpqhdseedsResult:
| Field | Type | Description |
|---|---|---|
seed_id | hex string | SeedID32 identifier. |
created_at | Unix timestamp | Seed creation time. |
encrypted | boolean | Whether the seed is encrypted in wallet storage. |
default_receive | boolean | Whether this seed is the default receive seed. |
default_change | boolean | Whether this seed is the default change seed. |
importpqhdseed
Import a 32-byte PQHD master seed. Re-importing an existing seed is idempotent.
tidecoin-cli -rpcwallet="<wallet>" importpqhdseed "<32_byte_seed_hex>"Example:
tidecoin-cli -rpcwallet="main" importpqhdseed \
"00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff"Arguments:
| Name | Type | Required | Description |
|---|---|---|---|
seed | hex string | Yes | 32-byte PQHD master seed, encoded as 64 hex characters. |
Result:
| Field | Type | Description |
|---|---|---|
seed_id | hex string | Derived SeedID32. |
inserted | boolean | true if a new seed record was inserted. |
setpqhdseed
Set default PQHD seed IDs used for receive and change derivation.
tidecoin-cli -rpcwallet="<wallet>" setpqhdseed "<receive_seed_id>" ["<change_seed_id>"]Arguments:
| Name | Type | Required | Description |
|---|---|---|---|
receive_seed_id | hex string | Yes | SeedID32 used for receive derivation. |
change_seed_id | hex string | No | SeedID32 used for change derivation. Defaults to receive_seed_id. |
Result:
| Field | Type | Description |
|---|---|---|
receive_seed_id | hex string | Selected receive seed ID. |
change_seed_id | hex string | Selected change seed ID. |
removepqhdseed
Remove a PQHD seed that is not default and is not referenced by existing wallet descriptors.
tidecoin-cli -rpcwallet="<wallet>" removepqhdseed "<seed_id>"Arguments:
| Name | Type | Required | Description |
|---|---|---|---|
seed_id | hex string | Yes | SeedID32 to remove. |
Result:
| Field | Type | Description |
|---|---|---|
seed_id | hex string | Removed SeedID32. |
removed | boolean | Always true on success. |
Tidecoin-specific options on Bitcoin-compatible RPCs
These are not separate commands, but Tidecoin adds PQHD-related options to existing wallet and PSBT RPCs.
| Command | Option | Default | Purpose |
|---|---|---|---|
getaddressinfo | include_pqhd_origin | command-specific | Include Tidecoin PQHD origin information when available. |
walletcreatefundedpsbt | include_pqhd_origins | false | Include Tidecoin PQHD origin proprietary metadata in PSBT inputs/outputs. |
walletprocesspsbt | include_pqhd_origins | false | Include Tidecoin PQHD origin metadata while processing PSBT. |
fundrawtransaction | include_pqhd_origins | false | Include PQHD origins when wallet metadata is attached. |
send / sendall | include_pqhd_origins | false | Include PQHD origins when returning PSBT output. |
bumpfee / psbtbumpfee | include_pqhd_origins | false | Include PQHD origins for fee-bump PSBT workflows. |
Leave include_pqhd_origins=false unless the receiving signer or integration
needs PQHD origin metadata. The default is privacy-preserving.
Bitcoin-compatible RPCs
Tidecoin inherits the broad Bitcoin Core v30 RPC surface for blockchain,
mempool, raw transaction, wallet, descriptor, PSBT, network, mining, REST, and
ZMQ workflows. Use help for the full runtime schema exposed by your node:
tidecoin-cli help
tidecoin-cli help getblockchaininfo
tidecoin-cli -rpcwallet="<wallet>" help walletprocesspsbtFor integration work, prefer runtime help output for exact argument ordering
and defaults, then use this page for Tidecoin-specific extensions.
See also: RPC Error Codes, RPC Security, PQHD Wallets, Mining / AuxPoW Integration, Protocol / Activation Status.