# RPC API Reference

Script offers two sets of RPC APIs. The rationale of this division is to separate the public interface accessible to all users and personal interface that manages a specific user's private wallet.

The **Script APIs** is provided by the Script Node. It is the RPC interface via which a user can interact with the Script Node directly. As described in the setup guide, the Script Node can be launched with the following command.<br>

The following endpoints are available for testnet nodes:

```
        ## Subsystem URLS by function:
                ## Front end
                ## 1  web-wallet                     https://wallet-testnet.script.tv
                ## 2  blockchain explorer            https://explorer-testnet.script.tv
                ##
                ## Back end
                ## 1  L1 ethereum bridge             https://eth-node-testnet.script.tv/rpc
                ## 2  L1 script Ledger daemon        https://node-testnet.script.tv/rpc
                ## 3  L1 wallet backend              https://backend-wallet-testnet.script.tv/api
                ## 4  explorer backend               https://backend-explorer-testnet.script.tv/api
```

script start --config=\<path/to/config/folder>

The **ScriptCli APIs** is provided by the ScriptCli Daemon. It allows a user to interact with his/her personal Script Wallet through RPC calls. The wallet can manage multiple accounts simultaneously. The encrypted private keys of the accounts are stored under \~/.scriptcli/keys/encrypted/ by default. The RPC APIs supports account creation, lock/unlock, and sending script. The ScriptCli Daemon can be run by the following command. If the port parameter is not specified, by default it runs at port 16889. Note that part of the ScriptCli Daemon's functionality depends on the Script Node. Hence we need to have the Script Node running when we launch the ScriptCli Daemon.

scriptcli daemon start --port=\<port>

In the examples below, we assume the reader has followed the setup guide to launch **both** the Script Node and the ScriptCli Daemon on the local machine at port 16888 and 16889 respectively.<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.script.tv/api-references/rpc-api-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
