JSON-RPC API Reference¶
The ACDC JSON-RPC API provides programmatic access to both Alpha and Delta chains. All methods follow the JSON-RPC 2.0 specification.
Request Format¶
curl -X POST <endpoint> \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "<method_name>",
"params": [<parameters>]
}'
Chain Methods¶
chain_getInfo¶
Returns general information about the chain.
Parameters: None
Request:
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"chain": "alpha",
"version": "1.0.0",
"blockHeight": 1234567,
"networkId": "mainnet",
"peerCount": 42
}
}
chain_getBlockByNumber¶
Retrieves a block by its height.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | blockNumber | integer | Yes | Block height | | fullTx | boolean | No | Include full transactions (default: false) |
Request:
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"number": 1234567,
"hash": "0xabc123...",
"parentHash": "0xdef456...",
"timestamp": 1704067200,
"transactions": ["0xtx1...", "0xtx2..."],
"stateRoot": "0xstate...",
"receiptsRoot": "0xreceipts..."
}
}
chain_getBlockByHash¶
Retrieves a block by its hash.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | blockHash | string | Yes | Block hash (hex) | | fullTx | boolean | No | Include full transactions (default: false) |
Request:
Account Methods¶
account_getBalance¶
Returns the balance of an account.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | address | string | Yes | Account address (ax1... or dx1...) | | blockNumber | integer/string | No | Block height or "latest" (default: "latest") |
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "account_getBalance",
"params": ["dx1abc123xyz...", "latest"]
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"balance": "1000000000000000000",
"nonce": 42,
"blockNumber": 1234567
}
}
account_getNonce¶
Returns the current nonce for an account.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | address | string | Yes | Account address |
Request:
Response:
Transaction Methods¶
tx_sendRawTransaction¶
Submits a signed transaction to the network.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | signedTx | string | Yes | Signed transaction (hex encoded) |
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tx_sendRawTransaction",
"params": ["0xf86c808504a817c80082520894..."]
}
Response:
tx_getTransaction¶
Retrieves transaction details by hash.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | txHash | string | Yes | Transaction hash |
Request:
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"hash": "0xabc123...",
"from": "dx1sender...",
"to": "dx1receiver...",
"value": "1000000000000000000",
"nonce": 42,
"blockNumber": 1234567,
"blockHash": "0xblock...",
"transactionIndex": 0,
"status": "confirmed"
}
}
tx_getTransactionReceipt¶
Retrieves the receipt of a confirmed transaction.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | txHash | string | Yes | Transaction hash |
Request:
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"transactionHash": "0xabc123...",
"blockNumber": 1234567,
"blockHash": "0xblock...",
"status": 1,
"gasUsed": "21000",
"logs": []
}
}
Alpha Chain Specific Methods¶
alpha_getRecord¶
Retrieves a record (UTXO) by its commitment.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | commitment | string | Yes | Record commitment hash |
Request:
alpha_getSerialNumber¶
Checks if a serial number has been spent.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | serialNumber | string | Yes | Serial number to check |
Request:
Response:
Delta Chain Specific Methods¶
delta_getStake¶
Returns staking information for an address.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | address | string | Yes | Staker address |
Request:
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"stakedAmount": "10000000000000000000000",
"delegatedTo": "dx1validator...",
"rewards": "500000000000000000",
"unbondingAmount": "0",
"unbondingCompleteTime": null
}
}
delta_getValidator¶
Returns validator information.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | address | string | Yes | Validator address |
Request:
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"address": "dx1validator...",
"stake": "1000000000000000000000000",
"delegatedStake": "5000000000000000000000000",
"commission": 0.05,
"status": "active",
"uptime": 0.9995
}
}
Error Codes¶
| Code | Message | Description |
|---|---|---|
| -32700 | Parse error | Invalid JSON |
| -32600 | Invalid request | Missing required fields |
| -32601 | Method not found | Unknown method name |
| -32602 | Invalid params | Invalid parameter type or value |
| -32603 | Internal error | Server-side error |
| -32000 | Transaction rejected | Invalid transaction |
| -32001 | Insufficient funds | Account balance too low |
| -32002 | Nonce too low | Transaction nonce already used |
| -32003 | Nonce too high | Gap in transaction nonce |