Infrastructure API

The Infrastructure API provides an interface for managing essential infrastructure services required to build modern Web3 applications.

RPC Service

Create a RPC API Key

Create a new RPC API key for a project.

POST /rpc/api-key

Body Fields

FieldTypeDescriptionRequired
namestringName of the API keyYes
descriptionstringDescription of the API keyNo

Possible Errors

CodeDescription
40300000Forbidden
40020001Max RPC API keys limit reached
40405001Project owner not found
50000001Internal server error
422001101RPC API key name is missing

curl --location --request POST "https://api.apillon.io/rpc/api-key" \
--header "Authorization: Basic :credentials" \
--header "Content-Type: application/json" \
--data-raw "{
    \"name\": \"RPC API Key\",
    \"description\": \"Description of the API key\"
}"
{
  "status": 201,
  "data": {
    "id": 4,
    "projectUuid": "d0c34b5e-1fd6-473e-81f8-e89ee479f7aa",
    "name": "RPC API Key",
    "description": "Description of the API key",
    "uuid": "60020364-7edc-495a-a0a2-df695bb1cc3f"
  }
}

List RPC API Keys

Retrieve a list of RPC API keys associated with a project.

GET /rpc/api-key

Query Parameters

All query parameters from listing request

Response Fields

FieldTypeDescription
idnumberUnique identifier of the RPC API key
projectUuidstringUUID of the project the RPC API key belongs to
namestringName of the RPC API key
uuidstringUnique identifier of the RPC API key returned by Dwellir
descriptionstringDescription of the RPC API key
createTimeDateTimeCreation timestamp
updateTimeDateTimeLast updated timestamp

curl --location --request GET "https://api.apillon.io/rpc/api-key" \
--header "Authorization: Basic :credentials"
{
  "status": 200,
  "data": {
    "items": [
      {
        "id": 4,
        "createTime": "2024-09-09T11:15:26.000Z",
        "updateTime": "2024-09-10T13:18:31.000Z",
        "projectUuid": "cfd85992-8f79-4486-97cf-2406bd722d90",
        "name": "RPC API Key",
        "description": "Description of the API key",
        "uuid": "60020364-7edc-495a-a0a2-df695bb1cc3f"
      }
    ],
    "total": 1,
    "page": 1,
    "limit": 20
  }
}

Get a RPC API Key

Retrieve the details of a specific RPC API key by its ID along with the list of RPC endpoints marked as favorite for this API key.

GET /rpc/api-key/:id

URL Parameters

FieldTypeDescriptionRequired
idnumberUnique identifier of the RPC API keyYes

Response Fields

FieldTypeDescription
idnumberUnique identifier of the RPC API key
namestringName of the RPC API key
descriptionstringDescription of the RPC API key
projectUuidstringUnique identifier of the project
uuidstringUnique identifier of the RPC API key
createTimeDateTimeCreation timestamp
updateTimeDateTimeLast updated timestamp
urlsarrayArray of favorite URLs for the RPC API key
URL Fields
FieldTypeDescription
idnumberUnique identifier of the RPC Endpoint
apiKeyIdnumberUnique identifier of the RPC API key
chainNamestringName of the chain the RPC Endpoint belongs to
networkstringNetwork of the RPC Endpoint (Usually mainnet, testnet, etc.)
httpsUrlstringHTTPS URL of the RPC Endpoint
wssUrlstringWSS URL of the RPC Endpoint
createTimeDateTimeCreation timestamp
updateTimeDateTimeLast updated timestamp

Possible Errors

CodeDescription
40300000Forbidden
40420001RPC API key not found

curl --location --request GET "https://api.apillon.io/rpc/api-key/:id" \
--header "Authorization: Basic :credentials"
{
    "id": "60020364-7edc-495a-a0a2-df695bb1cc3f",
    "status": 200,
    "data": {
      "createTime": "2024-09-09T11:15:26.000Z",
      "updateTime": "2024-09-10T13:18:31.000Z",
      "name": "RPC API Key",
      "description": null,
      "project_uuid": "d0c34b5e-1fd6-473e-81f8-e89ee479f7aa",
      "uuid": "60020364-7edc-495a-a0a2-df695bb1cc3f",
      "urls": [
        {
          "id": 77,
          "chainName": "Ethereum",
          "network": "mainnet",
          "httpsUrl": "https://mainnet.apillon.io/60020364-7edc-495a-a0a2-df695bb1cc3f",
          "wssUrl": "wss://mainnet.apillon.io/60020364-7edc-495a-a0a2-df695bb1cc3f",
          "createTime": "2024-09-10T12:55:44.000Z",
          "updateTime": "2024-09-12T13:57:26.000Z",
        }
      ]
    }
}

List RPC Endpoints

Retrieve a list of available RPC endpoints by Dwellir.

GET /rpc/endpoints

Response Fields

FieldTypeDescription
idnumberUnique identifier of the RPC Endpoint
image_urlstringURL of the RPC Endpoint chain image
namestringName of the RPC Endpoint chain
networkIdnumberNetwork ID of the RPC Endpoint
networkNamestringNetwork of the RPC Endpoint (Usually Mainnet, Testnet, etc.)
nodesarrayArray of nodes for the RPC Endpoint
typestringType of the Entity (will be 'network')
versionstring Version of the RPC Endpoint
Node Fields
FieldTypeDescription
idnumberUnique identifier of the RPC Endpoint Node
httpsstringHTTPS URL of the RPC Endpoint Node
wssstringWSS URL of the RPC Endpoint Node
typestringType of the Entity (will be 'node')
node_typestringType of the RPC Endpoint Node
versionstring Version of the RPC Endpoint Node

curl --location --request GET "https://api.apillon.io/rpc/endpoints" \
--header "Authorization: Basic :credentials"
{
    "status": 200,
    "data": [{
        "id": 1,
        "image_url": "https://apillon.io/images/chains/ethereum.svg",
        "name": "Ethereum",
        "networkId": 31,
        "networkName": "Mainnet",
        "nodes": [{
            "id": 1,
            "https": "https://mainnet.apillon.io/<key>",
            "wss": "wss://mainnet.apillon.io/<key>",
            "type": "node",
            "node_type": "Archive",
            "version": "1.0"
        }],
        "type": "network",
        "version": "1.0"
    }]
}