Restful APIs Documentation

This documentation covers the Restful APIs available in the Smart Node system. The APIs are organized into several main categories.

Smart Node ManagementRestful APIs DocumentationIPFS OperationsValidator OperationsSnapshotsAuthentication ServicesHashgraph Consensus Service (HCS) OperationsHashgraph HCS Mirror Node OperationsHashgraph HTS (Token Service) OperationsHashgraph HTS Mirror Node OperationsHashgraph TransactionsHashgraph AccountsHashgraph Accounts Mirror Node Operations

Smart Node Management

Get SmartNetwork.Operator.Entity identifier

get

Returns the SmartNetwork.Operator.Entity identifier details

Responses
200
Returns SmartNetwork.Operator.Entity
application/json
get
GET /smart-node/identifier HTTP/1.1
Host: 
Accept: */*
{
  "accountId": "0.0.1234567",
  "publicKey": "302a300506032b6570032100a6e3161d0db8e3c629e4d1d2a3a4e4b6e1f1c1d8c7b5b4a3c2d1f0e9d8c7b5",
  "url": "https://operator.smartnetwork.com",
  "nft": {
    "id": "0.0.123456",
    "serialNumber": 1,
    "name": "Premium Operator",
    "description": "High-capacity network operator",
    "attributes": {
      "tier": "premium",
      "region": "us-east",
      "permissions": [
        "read",
        "write",
        "execute"
      ]
    }
  }
}

Get array of SmartNetwork.Network.Entity nodes

get

Returns array of SmartNetwork.Network.Entity whitelisted nodes

Responses
200
Returns array of SmartNetwork.Network.Entity
application/json
get
GET /smart-node/network HTTP/1.1
Host: 
Accept: */*
[
  {
    "membership": {
      "walletId": "0x1234567890abcdef",
      "operator": {
        "id": "op123",
        "name": "MainOperator"
      },
      "status": "ACTIVE",
      "details": {
        "metadata": {
          "name": "Premium Operator",
          "description": "High-performance network operator"
        }
      }
    },
    "trustScore": {
      "score": 95,
      "timestamp": "2024-01-01T12:00:00Z"
    },
    "type": "operator",
    "clusters": [
      {
        "id": "cluster1",
        "name": "Primary Cluster",
        "nodes": [
          "node1",
          "node2"
        ]
      }
    ],
    "dkgId": "dkg123456"
  }
]

Get SmartNetwork.SmartNode.State status

get

Returns the SmartNetwork.SmartNode.State details

Responses
200
Returns SmartNetwork.SmartNode.State
application/json
get
GET /smart-node/status HTTP/1.1
Host: 
Accept: */*
{
  "node": {
    "status": "active",
    "lastSeen": "2023-12-01T10:00:00Z",
    "metrics": {
      "cpu": "45%",
      "memory": "60%",
      "network": "120Mbps"
    }
  },
  "ipfs": {
    "connected": true,
    "peers": 25,
    "storage": {
      "pinned": 1500,
      "available": "2TB"
    }
  }
}

Get array of SmartNetwork.Network.Utility tokens

get

Returns array of SmartNetwork.Network.Utility token details

Responses
200
Returns array of SmartNetwork.Network.Utility
application/json
get
GET /smart-node/utilities HTTP/1.1
Host: 
Accept: */*
[
  {
    "name": "GovernanceToken",
    "id": "0x123abc...",
    "treasury": "0xdef456...",
    "decimals": "18"
  }
]

Health & Metrics

GET /health/check - Perform system health check

get
Responses
200
The Health Check is successful
application/json
get
GET /health/check HTTP/1.1
Host: 
Accept: */*
{
  "status": "ok",
  "info": {
    "database": {
      "status": "up"
    }
  },
  "error": {},
  "details": {
    "database": {
      "status": "up"
    }
  }
}

GET /health/infos - Retrieve detailed system health metrics

get
Responses
200
HealthInfos - Contains detailed metrics about CPU, memory, disk and network usage
application/json
get
GET /health/infos HTTP/1.1
Host: 
Accept: */*
{
  "platform": "text",
  "release": "text",
  "machine": "text",
  "arch": "text",
  "uptime": 1,
  "cpu": {
    "usage": 1,
    "cpus": 1,
    "speed": 1
  },
  "memory": {
    "totalMemMb": 1,
    "usedMemMb": 1,
    "freeMemMb": 1,
    "usedMemPercentage": 1,
    "freeMemPercentage": 1
  },
  "drive": {
    "totalGb": "text",
    "usedGb": "text",
    "freeGb": "text",
    "usedPercentage": "text",
    "freePercentage": "text"
  },
  "network": {
    "inputBytes": 1,
    "outputBytes": 1
  }
}

Get metrics data

get

Retrieves comprehensive metrics data for system and application monitoring.

Responses
200
Successfully retrieved metrics data in Prometheus format
text/plain
ResponsestringExample: # HELP process_cpu_user_seconds_total Total user CPU time spent in seconds. # TYPE process_cpu_user_seconds_total counter process_cpu_user_seconds_total 0.03125
get
GET /metrics HTTP/1.1
Host: 
Accept: */*
200

Successfully retrieved metrics data in Prometheus format

# HELP process_cpu_user_seconds_total Total user CPU time spent in seconds.
# TYPE process_cpu_user_seconds_total counter
process_cpu_user_seconds_total 0.03125

IPFS Operations

IPFS.Read.Content

get
Path parameters
cidstringRequired
Responses
200
IPFS.Read.Content.Success
get
GET /ipfs/{cid} HTTP/1.1
Host: 
Accept: */*

No content

IPFS.Get.File

get
Path parameters
cidstringRequired
Responses
200
IPFS.Get.File.Success
get
GET /ipfs/file/{cid} HTTP/1.1
Host: 
Accept: */*

No content

IPFS.Get.Metadata

get
Path parameters
cidstringRequired
Responses
200
IPFS.Get.Metadata.Success
get
GET /ipfs/metadata/{cid} HTTP/1.1
Host: 
Accept: */*

No content

IPFS.Pin.Content

post
Path parameters
cidstringRequired
Responses
200
IPFS.Pin.Content.Success
post
POST /ipfs/pin/{cid} HTTP/1.1
Host: 
Accept: */*

No content

IPFS.Unpin.Content

delete
Path parameters
cidstringRequired
Responses
200
IPFS.Unpin.Content.Success
delete
DELETE /ipfs/unpin/{cid} HTTP/1.1
Host: 
Accept: */*

No content

IPFS.Upload.File

post
Body
filestring · binaryOptional

File to upload (max 100MB)

Responses
201
IPFS.Upload.File.Success
post
POST /ipfs/upload HTTP/1.1
Host: 
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17

{
  "file": "binary"
}

No content

Validator Operations

Validators.Account.Add

post

Validators.Account.Add.Description

Body
smartNodeSecuritystring · enumRequired

Level of Smart Node security for the account's keys

Example: partialPossible values:
updateConditionsall ofRequired

Conditions for the updatable property.

Example: {"values":["maxAutomaticTokenAssociations"],"controller":"owner"}
actionsConditionsall ofRequired

Conditions for the Actions property.

Example: {"values":["transfer","delete"],"controller":"owner"}
tokenGatesall ofRequired

Token gating configuration for both fungible and non-fungible tokens.

Example: {"fungibles":{"tokens":[]},"nonFungibles":{"tokens":[]},"timeRange":null}
swapConditionsall ofRequired

Swap conditions.

Example: {"prices":[]}
Responses
200
Validators.Account.Add.Response.Success
application/json
Responsestring
post
POST /validators/accounts HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 308

{
  "smartNodeSecurity": "partial",
  "updateConditions": {
    "values": [
      "maxAutomaticTokenAssociations"
    ],
    "controller": "owner"
  },
  "actionsConditions": {
    "values": [
      "transfer",
      "delete"
    ],
    "controller": "owner"
  },
  "tokenGates": {
    "fungibles": {
      "tokens": []
    },
    "nonFungibles": {
      "tokens": []
    },
    "timeRange": null
  },
  "swapConditions": {
    "prices": []
  }
}
text

Validators.Account.Read

get

Validators.Account.Read.Description

Path parameters
timestampstringRequired

Validators.Account.Read.Param.Timestamp.Description

Responses
200
Validators.Account.Read.Response.Success
application/json
get
GET /validators/accounts/{timestamp} HTTP/1.1
Host: 
Accept: */*
{
  "smartNodeSecurity": "partial",
  "updateConditions": {
    "values": [
      "maxAutomaticTokenAssociations"
    ],
    "controller": "owner"
  },
  "actionsConditions": {
    "values": [
      "transfer",
      "delete"
    ],
    "controller": "owner"
  },
  "tokenGates": {
    "fungibles": {
      "tokens": []
    },
    "nonFungibles": {
      "tokens": []
    },
    "timeRange": null
  },
  "swapConditions": {
    "prices": []
  }
}

Validators.Consensus.Add

post

Validators.Consensus.Add.Description

Body
smartNodeSecuritystring · enumOptional

Level of Smart Node security for the token's keys

Example: partialPossible values:
tokenGatesall ofRequired

The token gating configuration for both fungible and non-fungible tokens.

Example: {"fungibleTokens":[],"nonFungibleTokens":[]}
customInterfaceall ofOptional

The custom parameters for the consensus topic.

Example: {"parameters":{},"conditions":[]}
actionsConditionsall ofRequired

The conditions for the actions property.

Example: {"create":[],"update":[],"delete":[]}
updateConditionsall ofRequired

The conditions for updatable fields in the consensus topic.

Responses
200
Validators.Consensus.Add.Response.Success
application/json
Responsestring
post
POST /validators/consensus HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 221

{
  "smartNodeSecurity": "partial",
  "tokenGates": {
    "fungibleTokens": [],
    "nonFungibleTokens": []
  },
  "customInterface": {
    "parameters": {},
    "conditions": []
  },
  "actionsConditions": {
    "create": [],
    "update": [],
    "delete": []
  },
  "updateConditions": {}
}
text

Validators.Consensus.Read

get

Validators.Consensus.Read.Description

Path parameters
timestampstringRequired

Validators.Consensus.Read.Param.Timestamp.Description

Responses
200
Validators.Consensus.Read.Response.Success
application/json
get
GET /validators/consensus/{timestamp} HTTP/1.1
Host: 
Accept: */*
{
  "smartNodeSecurity": "partial",
  "tokenGates": {
    "fungibleTokens": [],
    "nonFungibleTokens": []
  },
  "customInterface": {
    "parameters": {},
    "conditions": []
  },
  "actionsConditions": {
    "create": [],
    "update": [],
    "delete": []
  },
  "updateConditions": {}
}

Validators.Token.Add

post

Validators.Token.Add.Description

Body
smartNodeSecuritystring · enumRequired

Level of Smart Node security for the token's keys

Example: partialPossible values:
updateConditionsall ofRequired

Conditions for the updatable property of the token.

Example: {"values":["condition1","condition2"],"controller":{"type":"standard"}}
actionsConditionsall ofRequired

Conditions for the actions property.

Example: {"values":["action1","action2"],"controller":{"type":"advanced"}}
feesConditionsall ofRequired

Conditions for the fees property.

Example: {"values":["fee1","fee2"],"controller":{"type":"basic"}}
keysConditionsall ofRequired

Conditions for the keys property.

Example: {"values":["key1","key2"],"controller":{"type":"secure"}}
Responses
200
Validators.Token.Add.Response.Success
application/json
Responsestring
post
POST /validators/tokens HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 357

{
  "smartNodeSecurity": "partial",
  "updateConditions": {
    "values": [
      "condition1",
      "condition2"
    ],
    "controller": {
      "type": "standard"
    }
  },
  "actionsConditions": {
    "values": [
      "action1",
      "action2"
    ],
    "controller": {
      "type": "advanced"
    }
  },
  "feesConditions": {
    "values": [
      "fee1",
      "fee2"
    ],
    "controller": {
      "type": "basic"
    }
  },
  "keysConditions": {
    "values": [
      "key1",
      "key2"
    ],
    "controller": {
      "type": "secure"
    }
  }
}
text

Validators.Token.Read

get

Validators.Token.Read.Description

Path parameters
timestampstringRequired

Validators.Token.Read.Param.Timestamp.Description

Responses
200
Validators.Token.Read.Response.Success
application/json
get
GET /validators/tokens/{timestamp} HTTP/1.1
Host: 
Accept: */*
{
  "smartNodeSecurity": "partial",
  "updateConditions": {
    "values": [
      "condition1",
      "condition2"
    ],
    "controller": {
      "type": "standard"
    }
  },
  "actionsConditions": {
    "values": [
      "action1",
      "action2"
    ],
    "controller": {
      "type": "advanced"
    }
  },
  "feesConditions": {
    "values": [
      "fee1",
      "fee2"
    ],
    "controller": {
      "type": "basic"
    }
  },
  "keysConditions": {
    "values": [
      "key1",
      "key2"
    ],
    "controller": {
      "type": "secure"
    }
  }
}

Snapshots

Snapshots.Queue.Generate.Request

post

Snapshots.Queue.Generate.Request.Description

Path parameters
tokenIdstringRequired

Snapshots.Queue.Generate.Request.TokenId

Example: 0.0.123456
Responses
201
Snapshots.Queue.Generate.Response.Success
application/json
post
POST /snapshots/generate/{tokenId} HTTP/1.1
Host: 
Accept: */*
{
  "_sender": "0x123...",
  "_jobId": "123456"
}

Authentication Services

Get authenticated user profile from session

get

Returns the profile of the authenticated user from their active session. Requires valid authentication.

Responses
200
Returns the user's safe profile data
application/json
get
GET /auth/profile HTTP/1.1
Host: 
Accept: */*
{
  "email": "[email protected]",
  "username": "johndoe",
  "created_at": 1634567890,
  "updated_at": 1634567890,
  "confirmed": true,
  "type": "standard",
  "role": "user",
  "tags": [
    "premium",
    "beta"
  ],
  "banned": false,
  "twoFactorAuth": {
    "status": "PENDING",
    "factorSid": "YF1234567890abcdef1234567890abcdef",
    "identity": "[email protected]",
    "qr_code": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA..."
  }
}

create a user session from a web3 signed payload.

post

This endpoint will create a user session from a web3 signed payload. The payload must be signed offline with your web3 wallet.

Body
operatorobjectRequired

The operator information for the login request

signedDataall ofRequired

The signed data for the login request

Responses
200
Returns a Auth.Credentials.Web3.Request.Signin.Login.
application/json
post
POST /auth/web3/login HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 118

{
  "operator": {},
  "signedData": {
    "signature": {
      "0": 1,
      "1": 2,
      "2": 3,
      "3": 4,
      "4": 5
    },
    "serverSigningAccount": "0x1234567890abcdef"
  }
}
{
  "operator": {},
  "signedData": {
    "signature": {
      "0": 1,
      "1": 2,
      "2": 3,
      "3": 4,
      "4": 5
    },
    "serverSigningAccount": "0x1234567890abcdef"
  }
}

allow a user to logout and destroy the session.

get

This endpoint will destroy the session and the user will be logged out. This endpoint is protected and requires authentication.

Responses
200
Returns a CredentialsLogoutResponse.
application/json
get
GET /auth/web3/logout HTTP/1.1
Host: 
Accept: */*
{
  "logout": true,
  "message": "Logout successful"
}

trigger a request to be signed offline with your web3 wallet.

get

This endpoint will return a payload to be signed offline with your web3 wallet. The signed payload will then be sent to the login endpoint to authenticate the user.

Responses
200
Returns a Web3AuthRequestDto.
application/json
get
GET /auth/web3/request HTTP/1.1
Host: 
Accept: */*
{
  "signedData": {
    "signature": {
      "0": 1,
      "1": 2,
      "2": 3,
      "3": 4,
      "4": 5
    },
    "serverSigningAccount": "0x1234567890abcdef"
  },
  "payload": {
    "url": "https://example.com/auth",
    "node": "node-1",
    "data": {
      "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
    }
  }
}

Hashgraph Consensus Service (HCS) Operations

Hashgraph.Ledger.HCS.Topic.Create

post

Creates a new Hashgraph.Ledger.HCS.Topic

Body
keyobjectOptional

The key for the topic. Can be a single PublicKey or a KeyList.

memostringOptional

Optional memo or description for the topic

validatorConsensusTimestampstringOptional

The consensus timestamp for the validator.

Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
post
POST /hcs HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 61

{
  "key": {},
  "memo": "text",
  "validatorConsensusTimestamp": "text"
}
{}

Hashgraph.Ledger.HCS.Topic.Update

put

Updates an existing Hashgraph.Ledger.HCS.Topic

Path parameters
topicstringRequired

Hashgraph.Ledger.HCS.Topic ID

Body
memostringRequired

A short description or note about the topic update

Example: Updated topic description
senderobjectOptional

Configuration for the topic sender

daoobjectOptional

Configuration settings for the DAO

Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
put
PUT /hcs/{topic} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 57

{
  "memo": "Updated topic description",
  "sender": {},
  "dao": {}
}
{}

Hashgraph.Ledger.HCS.Topic.Delete

delete

Deletes an existing Hashgraph.Ledger.HCS.Topic

Path parameters
topicstringRequired

Hashgraph.Ledger.HCS.Topic ID

Body
senderobjectOptional

Configuration for the topic's sender

Example: {"key":"PublicKey or KeyList object","id":"AccountId object"}
daoobjectOptional

Configuration settings for the DAO associated with this topic

Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
delete
DELETE /hcs/{topic} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 81

{
  "sender": {
    "key": "PublicKey or KeyList object",
    "id": "AccountId object"
  },
  "dao": {}
}
{}

Hashgraph.Ledger.HCS.Topic.Info

get

Gets information about a Hashgraph.Ledger.HCS.Topic

Path parameters
topicstringRequired

Hashgraph.Ledger.HCS.Topic ID

Responses
200
Returns Hashgraph.Ledger.HCS.Topic.Info
application/json
get
GET /hcs/{topic} HTTP/1.1
Host: 
Accept: */*
{
  "topicId": "text",
  "topicMemo": "text",
  "sequenceNumber": "text",
  "expirationTime": "text",
  "adminKey": [
    "text"
  ],
  "submitKey": [
    "text"
  ],
  "autoRenewAccountId": "text",
  "ledgerId": "text"
}

Hashgraph.Ledger.HCS.Topic.Message.Submit

post

Submits a Hashgraph.Ledger.HCS.Topic.Message

Path parameters
topicstringRequired

Hashgraph.Ledger.HCS.Topic ID

Body
messagestringRequired

The content of the message to be submitted to the Hashgraph Consensus Service topic

signatureall ofRequired

The signature of the message to be submitted to the Hashgraph Consensus Service topic

objectOptional
senderobjectOptional

Configuration for the topic sender

daoobjectOptional

Configuration settings for the DAO

Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
post
POST /hcs/{topic}/message HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 54

{
  "message": "text",
  "signature": {},
  "sender": {},
  "dao": {}
}
{}

Hashgraph.Ledger.HCS.Topic.Message.Info

get

Gets messages from a Hashgraph.Ledger.HCS.Topic

Path parameters
topicstringRequired

Hashgraph.Ledger.HCS.Topic ID

Query parameters
callbackSuccessfunctionRequired

Callback for successful message retrieval

startnumberRequired

Start sequence number for message retrieval

endnumberRequired

End sequence number for message retrieval

limitnumberRequired

Maximum number of messages to retrieve

callbackErrorfunctionRequired

Callback for message retrieval error

Responses
200
Returns SubscriptionHandle for message stream
application/json
Responseobject
get
GET /hcs/{topic}/messages?callbackSuccess=null&start=1&end=1&limit=1&callbackError=null&callbackSuccess=null&start=1&end=1&limit=1&callbackError=null HTTP/1.1
Host: 
Accept: */*
{}

Hashgraph HCS Mirror Node Operations

Get Hashgraph.Restful.HCS.Message.Entity[]

get

Retrieves an array of Hashgraph.Restful.HCS.Message.Entity objects from the specified topic

Path parameters
topicstringRequired

The unique identifier of the topic to retrieve messages from.

Query parameters
encodingstringOptional

The encoding format of the messages (e.g., "base64", "utf-8").

limitnumberOptional

The maximum number of messages to retrieve in a single request.

orderstringOptional

The order of the messages ("asc" for ascending, "desc" for descending).

sequenceNumbernumberOptional

The sequence number to start retrieving messages from.

timestampstringOptional

The timestamp (in ISO 8601 format) to start retrieving messages from.

Responses
200
Returns Hashgraph.Restful.HCS.Message.Entity[]
application/json
get
GET /mirrors/hcs/topics/{topic}/messages HTTP/1.1
Host: 
Accept: */*
[
  {
    "chunk_info": {
      "number": 1,
      "total": 3,
      "initial_transaction_id": "[email protected]"
    },
    "consensus_timestamp": "1234567890.000000000",
    "message": "Hello Hashgraph",
    "payer_account_id": "0.0.1234",
    "running_hash": "0x1234abcd...",
    "running_hash_version": 2,
    "sequence_number": 1,
    "topic_id": "0.0.1234"
  }
]

Get Hashgraph.Restful.HCS.Message.Entity

get

Retrieves a single Hashgraph.Restful.HCS.Message.Entity by topic ID and sequence number

Path parameters
topicstringRequired

The unique identifier of the topic containing the message.

sequenceNumbernumberRequired

The sequence number of the specific message to retrieve.

Responses
200
Returns Hashgraph.Restful.HCS.Message.Entity
application/json
get
GET /mirrors/hcs/topics/{topic}/messages/{sequenceNumber} HTTP/1.1
Host: 
Accept: */*
{
  "chunk_info": {
    "number": 1,
    "total": 3,
    "initial_transaction_id": "[email protected]"
  },
  "consensus_timestamp": "1234567890.000000000",
  "message": "Hello Hashgraph",
  "payer_account_id": "0.0.1234",
  "running_hash": "0x1234abcd...",
  "running_hash_version": 2,
  "sequence_number": 1,
  "topic_id": "0.0.1234"
}

Get Hashgraph.Restful.HCS.Topic.Status

get

Retrieves a Hashgraph.Restful.HCS.Topic.Status object containing message and topic information by timestamp

Path parameters
timestampstringRequired

The timestamp (in ISO 8601 format) of the message to retrieve.

Responses
200
Returns Hashgraph.Restful.HCS.Topic.Status
application/json
get
GET /mirrors/hcs/topics/messages/{timestamp} HTTP/1.1
Host: 
Accept: */*
{
  "_status": {
    "topicId": "0.0.1234",
    "sequenceNumber": 42,
    "runningHash": "0x1234abcd...",
    "runningHashVersion": 2
  }
}

Hashgraph HTS (Token Service) Operations

Burn an NFT

post

This endpoint allows you to burn an NFT.

Path parameters
tokenstringRequired

the token id of the token we want to burn an NFT.

Body
serialNumbersstring[] · max: 10Required

The unique serial numbers of the specific NFTs to be burned

Example: [1,2]
daoall ofOptional

Optional DAO configuration for the NFT burning

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
senderobjectRequired

Sender information for the burn operation

Example: {"key":"PublicKey or KeyList","id":"AccountId"}
Responses
200
Returns a Uint8Array.
application/json
Responseobject
post
POST /hts/burn/nft/{token} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 154

{
  "serialNumbers": [
    1,
    2
  ],
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  },
  "sender": {
    "key": "PublicKey or KeyList",
    "id": "AccountId"
  }
}
{}

Hashgraph.Ledger.HTS.FungibleToken.Burn

post

Burns Hashgraph.Ledger.HTS fungible tokens from treasury

Path parameters
tokenstringRequired

the token id of the token we want to burn.

Body
amountnumberRequired

The quantity of tokens to be burned

Example: 100
daoall ofOptional

Optional DAO configuration for the token burning

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
senderobjectRequired

Sender information for the burn operation

Example: {"key":"PublicKey or KeyList","id":"AccountId"}
Responses
200
Returns a Uint8Array.
application/json
Responseobject
post
POST /hts/burn/token/{token} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 145

{
  "amount": 100,
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  },
  "sender": {
    "key": "PublicKey or KeyList",
    "id": "AccountId"
  }
}
{}

Hashgraph.Ledger.HTS.Create

post

Creates a new Hashgraph.Ledger.HTS token

Body
namestringRequired

The name of the token

Example: My Token
treasuryAccountIdstringOptional

The account ID that will act as the treasury for the token

Example: 0.0.12345
symbolstringRequired

The symbol of the token

Example: MTK
decimalsnumber · max: 18Required

The number of decimal places a token is divisible by

Example: 8
initialSupplynumberOptional

The initial supply of tokens to be put in circulation

Example: 1000000
supplyTypeall ofRequired

The supply type of the token

Example: {"_code":1}
objectOptional
maxSupplynumberOptional

The maximum number of tokens that can be in circulation

Example: 10000000
maxTransactionFeenumberRequired

The maximum transaction fee the client is willing to pay

Example: 1000000
tokenTypeall ofRequired

The type of token

Example: {"_code":0}
objectOptional
freezeKeybooleanOptional

Whether to include a freeze key

Example: true
pauseKeybooleanOptional

Whether to include a pause key

Example: true
adminKeybooleanOptional

Whether to include an admin key

Example: true
kycKeybooleanOptional

Whether to include a KYC key

Example: true
wipeKeybooleanOptional

Whether to include a wipe key

Example: true
supplyKeybooleanOptional

Whether to include a supply key

Example: true
feeScheduleKeybooleanOptional

Whether to include a fee schedule key

Example: true
customFeesobject[]Optional

Custom fees to apply to the token

Example: [{"feeType":"royalty","numerator":5,"denominator":100,"fallbackFee":{"hbarAmount":1},"feeCollectorAccountId":"0.0.12345"}]
freezeDefaultbooleanRequired

Whether accounts should be frozen by default when they receive the token

Example: false
validatorConsensusTimestampstringRequired

The validator consensus timestamp

Example: 1718800000000000
memostringOptional

The memo for the token

Example: My Token
daoobjectOptional

Optional DAO configuration for the token creation

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
post
POST /hts/create/token HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 645

{
  "sender": {
    "key": {},
    "id": {}
  },
  "name": "My Token",
  "treasuryAccountId": "0.0.12345",
  "symbol": "MTK",
  "decimals": 8,
  "initialSupply": 1000000,
  "supplyType": {
    "_code": 1
  },
  "maxSupply": 10000000,
  "maxTransactionFee": 1000000,
  "tokenType": {
    "_code": 0
  },
  "freezeKey": true,
  "pauseKey": true,
  "adminKey": true,
  "kycKey": true,
  "wipeKey": true,
  "supplyKey": true,
  "feeScheduleKey": true,
  "customFees": [
    {
      "feeType": "royalty",
      "numerator": 5,
      "denominator": 100,
      "fallbackFee": {
        "hbarAmount": 1
      },
      "feeCollectorAccountId": "0.0.12345"
    }
  ],
  "freezeDefault": false,
  "validatorConsensusTimestamp": "1718800000000000",
  "memo": "My Token",
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Hashgraph.Ledger.HTS.Delete

delete

Deletes a Hashgraph.Ledger.HTS token

Path parameters
tokenstringRequired

Hashgraph.Ledger.HTS token ID

Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
delete
DELETE /hts/delete/{token} HTTP/1.1
Host: 
Accept: */*
{}

Hashgraph.Ledger.HTS.Freeze

post

Freezes a Hashgraph.Ledger.HTS token for an account

Path parameters
tokenstringRequired

Hashgraph.Ledger.HTS token ID

Body
walletIdstringRequired

The wallet ID associated with the token to be frozen

Example: 0.0.123456
daoobjectOptional

Optional DAO configuration for the token freeze operation

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
post
POST /hts/freeze/{token} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "sender": {
    "key": {},
    "id": {}
  },
  "walletId": "0.0.123456",
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Hashgraph.Ledger.HTS.KYC.Grant

post

Grants KYC status for a Hashgraph.Ledger.HTS token

Path parameters
tokenstringRequired

Hashgraph.Ledger.HTS token ID

Body
walletIdstringRequired

The wallet ID associated with the KYC operation

Example: 0.0.123456
daoall ofOptional

Optional DAO configuration for the KYC operation

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
post
POST /hts/grant-kyc/{token} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "sender": {
    "key": {},
    "id": {}
  },
  "walletId": "0.0.123456",
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Mint an NFT

post

This endpoint allows you to mint an NFT.

Path parameters
tokenstringRequired

the token id of the token we want to mint an NFT.

Body
metadatastring[]Required

Array of metadata strings for each NFT to be minted

Example: ["ipfs://QmX5NLKeso6xVxTeP3ycB1RQ5Ir3q7C84oSqQyaCzB7q8g","ipfs://QmYvPGMsGN8p5TVKTQpqVZF9VhVzLM1SqJsT9xZaKdUPAA"]
quantitynumber · min: 1 · max: 10Optional

Number of NFTs to mint (maximum 10)

Example: 2
senderobjectRequired

Sender information for the minting operation

Example: {"key":"PublicKey or KeyList","id":"AccountId"}
daoall ofOptional

Optional DAO configuration for the NFT minting

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Returns a Uint8Array.
application/json
Responseobject
post
POST /hts/mint/nft/{token} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 270

{
  "metadata": [
    "ipfs://QmX5NLKeso6xVxTeP3ycB1RQ5Ir3q7C84oSqQyaCzB7q8g",
    "ipfs://QmYvPGMsGN8p5TVKTQpqVZF9VhVzLM1SqJsT9xZaKdUPAA"
  ],
  "quantity": 2,
  "sender": {
    "key": "PublicKey or KeyList",
    "id": "AccountId"
  },
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Hashgraph.Ledger.HTS.FungibleToken.Mint

post

Mints additional supply of a Hashgraph.Ledger.HTS fungible token

Path parameters
tokenstringRequired

the token id of the token we want to mint.

Body
amountnumberRequired

The quantity of tokens to be minted

Example: 100
daoall ofOptional

Optional DAO configuration for the token minting

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
senderobjectRequired

Sender information for the mint operation

Example: {"key":"PublicKey or KeyList","id":"AccountId"}
Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
post
POST /hts/mint/token/{token} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 145

{
  "amount": 100,
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  },
  "sender": {
    "key": "PublicKey or KeyList",
    "id": "AccountId"
  }
}
{}

get info of a given NFT id and serial number

get

This endpoint returns theinfo of a given NFT serial number.

Path parameters
tokenstringRequired

the token id of the NFT we want to get theinfo.

serialNumbernumberRequired

the serial number of the NFT we want to get theinfo.

Responses
200
Returns an array of TokenNftInfo.
application/json
Responseobject[]
get
GET /hts/nft/{token}/{serialNumber} HTTP/1.1
Host: 
Accept: */*
[
  {}
]

Hashgraph.Ledger.HTS.Pause

post

Pauses a Hashgraph.Ledger.HTS token

Path parameters
tokenstringRequired

Hashgraph.Ledger.HTS token ID

Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
post
POST /hts/pause/{token} HTTP/1.1
Host: 
Accept: */*
{}

Hashgraph.Ledger.HTS.KYC.Revoke

post

Revokes KYC status for a Hashgraph.Ledger.HTS token

Path parameters
tokenstringRequired

Hashgraph.Ledger.HTS token ID

Body
walletIdstringRequired

The wallet ID associated with the KYC operation

Example: 0.0.123456
daoall ofOptional

Optional DAO configuration for the KYC operation

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
post
POST /hts/revoke-kyc/{token} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "sender": {
    "key": {},
    "id": {}
  },
  "walletId": "0.0.123456",
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

get info of a given token id

get

This endpoint returns the info of a given token id.

Path parameters
tokenstringRequired

the token id of the token we want to get theinfo.

Responses
200
Returns a TokenInfo object.
application/json
Responseobject
get
GET /hts/token/{token} HTTP/1.1
Host: 
Accept: */*
{}

Hashgraph.Ledger.HTS.Unfreeze

post

Unfreezes a Hashgraph.Ledger.HTS token for an account

Path parameters
tokenstringRequired

Hashgraph.Ledger.HTS token ID

Body
walletIdstringRequired

The wallet ID associated with the token to be unfrozen

Example: 0.0.123456
daoobjectOptional

Optional DAO configuration for the token unfreeze operation

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
post
POST /hts/unfreeze/{token} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "sender": {
    "key": {},
    "id": {}
  },
  "walletId": "0.0.123456",
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Hashgraph.Ledger.HTS.Unpause

post

Unpauses a Hashgraph.Ledger.HTS token

Path parameters
tokenstringRequired

Hashgraph.Ledger.HTS token ID

Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
post
POST /hts/unpause/{token} HTTP/1.1
Host: 
Accept: */*
{}

Hashgraph.Ledger.HTS.Update

patch

Updates an existing Hashgraph.Ledger.HTS token

Path parameters
tokenstringRequired

Hashgraph.Ledger.HTS token ID

Body
currentTreasurystringOptional

Current Treasury account ID

Example: 0.0.12345
namestringOptional

New token name

Example: Updated Token Name
symbolstringOptional

New token symbol

Example: UTN
memostringOptional

New memo for the token

Example: Updated token description
newTreasuryAccountIdstringOptional

New Treasury account ID

Example: 0.0.67890
newTreasuryKeyobjectOptional

New Treasury key

Example: 302a300506032b6570032100114e6abc371b82dab5c15ea149f02d34a012087b163516dd70f44acafabf7777
daoobjectOptional

Optional DAO configuration for the token update

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
patch
PATCH /hts/update/{token} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 354

{
  "currentTreasury": "0.0.12345",
  "name": "Updated Token Name",
  "symbol": "UTN",
  "memo": "Updated token description",
  "newTreasuryAccountId": "0.0.67890",
  "newTreasuryKey": "302a300506032b6570032100114e6abc371b82dab5c15ea149f02d34a012087b163516dd70f44acafabf7777",
  "sender": {
    "key": {},
    "id": {}
  },
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Hashgraph.Ledger.HTS.UpdateFees

patch

Updates custom fees for a Hashgraph.Ledger.HTS token

Path parameters
tokenstringRequired

Hashgraph.Ledger.HTS token ID

Body
customFeesall ofRequired

Custom fees configuration to be updated for the token

daoall ofOptional

Optional DAO configuration for the fee update

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
patch
PATCH /hts/update/{token}/fees HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 179

{
  "sender": {
    "key": {},
    "id": {}
  },
  "customFees": {
    "fixed_fees": [
      []
    ],
    "fractional_fees": [
      []
    ],
    "royalty_fees": [
      []
    ]
  },
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Wipe an NFT

post

This endpoint allows you to wipe an NFT.

Path parameters
tokenstringRequired

the token id of the token we want to wipe an NFT.

Body
serialNumbersstring[]Required

The unique serial numbers of the specific NFTs to be wiped

Example: [1,2]
account_idstringRequired

The account identifier from which the NFT will be wiped

Example: 0.0.67890
senderobjectRequired

Sender information for the wipe operation

Example: {"key":"PublicKey or KeyList","id":"AccountId"}
daoall ofOptional

Optional DAO configuration for the NFT wiping

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Returns a Uint8Array.
application/json
Responseobject
post
POST /hts/wipe/nft/{token} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 179

{
  "serialNumbers": [
    1,
    2
  ],
  "account_id": "0.0.67890",
  "sender": {
    "key": "PublicKey or KeyList",
    "id": "AccountId"
  },
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Hashgraph.Ledger.HTS.FungibleToken.Wipe

post

Wipes Hashgraph.Ledger.HTS fungible tokens from an account

Path parameters
tokenstringRequired

the token id of the token we want to wipe.

Body
amountnumberRequired

The quantity of tokens to be wiped

Example: 100
account_idstringRequired

The account identifier from which the tokens will be wiped

Example: 0.0.67890
daoall ofOptional

Optional DAO configuration for the token wiping

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
senderobjectRequired

Sender information for the wipe operation

Example: {"key":"PublicKey or KeyList","id":"AccountId"}
Responses
200
Returns Uint8Array transaction bytes
application/json
Responseobject
post
POST /hts/wipe/token/{token} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 170

{
  "amount": 100,
  "account_id": "0.0.67890",
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  },
  "sender": {
    "key": "PublicKey or KeyList",
    "id": "AccountId"
  }
}
{}

Hashgraph HTS Mirror Node Operations

Fetch token info

get

Returns Hashgraph.Restful.HTS.Info.Entity containing detailed token information

Path parameters
tokenstringRequired

The unique identifier of the token to fetch.

Query parameters
timestampstringOptional

Optional timestamp to fetch historical token info.

Responses
200
Returns Hashgraph.Restful.HTS.Info.Entity
application/json
get
GET /mirrors/hts/tokens/{token} HTTP/1.1
Host: 
Accept: */*
{
  "admin_key": {
    "key": "302a300506032b6570032100114e6abc371b82dab5c15ea149f02d34a012087b163516dd70f44acafabf7777"
  },
  "auto_renew_account": "0.0.1234567",
  "auto_renew_period": 7776000,
  "created_timestamp": "2023-01-01T00:00:00.000Z",
  "decimals": "8",
  "deleted": false,
  "expiry_timestamp": 1735689600,
  "fee_schedule_key": {
    "key": "302a300506032b6570032100114e6abc371b82dab5c15ea149f02d34a012087b163516dd70f44acafabf7777"
  },
  "freeze_default": false,
  "freeze_key": {
    "key": "302a300506032b6570032100114e6abc371b82dab5c15ea149f02d34a012087b163516dd70f44acafabf7777"
  },
  "initial_supply": "1000000",
  "kyc_key": {
    "key": "302a300506032b6570032100114e6abc371b82dab5c15ea149f02d34a012087b163516dd70f44acafabf7777"
  },
  "max_supply": "100000000",
  "modified_timestamp": "2023-01-01T12:00:00.000Z",
  "name": "My Token",
  "memo": "Token for testing purposes",
  "pause_key": {
    "key": "302a300506032b6570032100114e6abc371b82dab5c15ea149f02d34a012087b163516dd70f44acafabf7777"
  },
  "pause_status": "UNPAUSED",
  "supply_key": {
    "key": "302a300506032b6570032100114e6abc371b82dab5c15ea149f02d34a012087b163516dd70f44acafabf7777"
  },
  "supply_type": "FINITE",
  "symbol": "TKN",
  "token_id": "0.0.1234567",
  "total_supply": "1000000",
  "treasury_account_id": "0.0.1234568",
  "type": "FUNGIBLE_COMMON",
  "wipe_key": {
    "key": "302a300506032b6570032100114e6abc371b82dab5c15ea149f02d34a012087b163516dd70f44acafabf7777"
  },
  "custom_fees": {
    "created_timestamp": "2023-01-01T00:00:00.000Z",
    "fixed_fees": [],
    "fractional_fees": []
  }
}

Fetch token balances

get

Returns Hashgraph.Restful.HTS.Balance.Response containing token balances

Path parameters
tokenstringRequired

The unique identifier of the token to fetch balances for.

Query parameters
accountBalancenumberOptional

Filter results by account balance.

accountIdstringOptional

Filter results by account id.

accountPublicKeystringOptional

Filter results by account public key.

limitnumberOptional

Limit the number of results returned.

orderstringOptional

Specify the order of results (e.g., "asc" or "desc").

timestampstringOptional

Fetch token balances at a specific historical timestamp.

Responses
200
Returns Hashgraph.Restful.HTS.Balance.Response
application/json
get
GET /mirrors/hts/tokens/{token}/balances HTTP/1.1
Host: 
Accept: */*
{
  "timestamp": "2023-05-17T12:34:56.789Z",
  "balances": [
    {
      "account": "0.0.1234567",
      "balance": 1000000,
      "tokens": [
        {
          "token_id": "0.0.1234",
          "balance": 1000000
        }
      ]
    }
  ],
  "links": {
    "next": "https://api.example.com/results?page=2"
  }
}

Fetch NFT info

get

Returns Hashgraph.Restful.HTS.Nft.Response containing NFT information

Path parameters
tokenstringRequired

The unique identifier of the token to fetch NFT info for.

Query parameters
accountIdstringOptional

Filter results by account id.

limitnumberOptional

Limit the number of results returned.

orderstringOptional

Specify the order of results (e.g., "asc" or "desc").

serialNumberstringOptional

Filter results by NFT serial number.

Responses
200
Returns Hashgraph.Restful.HTS.Nft.Response
application/json
get
GET /mirrors/hts/tokens/{token}/nfts HTTP/1.1
Host: 
Accept: */*
{
  "nfts": [
    [
      {
        "account_id": "0.1.2",
        "created_timestamp": "1234567890.0006660001",
        "delegating_spender": "0.0.400",
        "deleted": false,
        "metadata": "VGhpcyBpcyBhIHRlc3QgTkZU",
        "modified_timestamp": "1610682445.003266001",
        "serial_number": 124,
        "spender_id": "0.0.500",
        "token_id": "0.0.222"
      }
    ]
  ],
  "links": {
    "next": null
  }
}

Fetch NFT info by serial number

get

Returns Hashgraph.Restful.HTS.Nft.Response containing NFT information

Path parameters
tokenstringRequired

The unique identifier of the token.

serialNumbernumberRequired

The serial number of the specific NFT to fetch.

Responses
200
Returns Hashgraph.Restful.HTS.Nft.Response
application/json
get
GET /mirrors/hts/tokens/{token}/nfts/{serialNumber} HTTP/1.1
Host: 
Accept: */*
{
  "nfts": [
    [
      {
        "account_id": "0.1.2",
        "created_timestamp": "1234567890.0006660001",
        "delegating_spender": "0.0.400",
        "deleted": false,
        "metadata": "VGhpcyBpcyBhIHRlc3QgTkZU",
        "modified_timestamp": "1610682445.003266001",
        "serial_number": 124,
        "spender_id": "0.0.500",
        "token_id": "0.0.222"
      }
    ]
  ],
  "links": {
    "next": null
  }
}

Fetch NFT transaction history

get

Returns Hashgraph.Restful.Transactions.Transfer.Nft containing NFT transaction history

Path parameters
tokenstringRequired

The unique identifier of the token.

serialNumbernumberRequired

The serial number of the specific NFT.

Query parameters
accountIdstringOptional

Filter transactions by account id.

limitnumberOptional

Limit the number of transactions returned.

orderstringOptional

Specify the order of transactions (e.g., "asc" or "desc").

timestampstringOptional

Fetch transaction history up to a specific timestamp.

Responses
200
Returns Hashgraph.Restful.Transactions.Transfer.Nft
application/json
get
GET /mirrors/hts/tokens/{token}/nfts/transactions HTTP/1.1
Host: 
Accept: */*
{
  "is_approval": false,
  "receiver_account_id": "0.0.12345",
  "sender_account_id": "0.0.54321",
  "serial_number": 1,
  "token_id": "0.0.789"
}

Hashgraph Transactions

Hashgraph.Restful.Transactions.Transaction.Details

get

Hashgraph.Restful.Transactions.Transaction.Details

Path parameters
transactionstringRequired

Transaction ID in format 0.0.X@timestamp

Example: [email protected]
Query parameters
noncenumberOptional

Filter by transaction nonce (0 for user transactions, non-zero for node transactions)

scheduledbooleanOptional

Filter by scheduled status (true/false)

Responses
200
Hashgraph.Restful.Transactions.Transaction.Details
application/json
get
GET /mirrors/transactions/{transaction} HTTP/1.1
Host: 
Accept: */*
{
  "bytes": "0a1022220a1008921b22a01",
  "charged_tx_fee": 500000,
  "consensus_timestamp": "1234567890.123456789",
  "entity_id": "0.0.123456",
  "max_fee": "1000000",
  "memo_base64": "VHJhbnNmZXIgdG8gQWxpY2U=",
  "name": "CRYPTOTRANSFER",
  "nft_transfers": [
    {
      "token_id": "0.0.123456",
      "serial_number": 1,
      "sender_account_id": "0.0.123456",
      "receiver_account_id": "0.0.789012"
    }
  ],
  "node": "0.0.3",
  "nonce": 5,
  "parent_consensus_timestamp": "1234567890.123456789",
  "result": "SUCCESS",
  "scheduled": false,
  "staking_reward_transfers": [
    {
      "account_id": "0.0.123456",
      "amount": "100000000"
    }
  ],
  "token_transfers": [
    {
      "token_id": "0.0.123456",
      "account": "0.0.789012",
      "amount": "1000"
    }
  ],
  "transaction_hash": "0x3a5a6e...",
  "transaction_id": "[email protected]",
  "transfers": [
    {
      "account": "0.0.123456",
      "amount": "1000000000"
    }
  ],
  "valid_duration_seconds": "120",
  "valid_start_timestamp": "1234567890.123456789",
  "assessed_custom_fees": [
    {
      "amount": "1000000",
      "collector_account_id": "0.0.123456",
      "effective_payer_account_ids": [
        "0.0.789012"
      ],
      "token_id": "0.0.234567"
    }
  ]
}

Hashgraph.Commons.StateProof.Response.Compact

get

Hashgraph.Commons.StateProof.Response.Compact

Path parameters
transactionstringRequired

Transaction ID in format 0.0.X@timestamp

Example: [email protected]
Query parameters
noncenumberOptional

Filter by transaction nonce

scheduledbooleanOptional

Filter by scheduled status

Responses
200
Hashgraph.Commons.StateProof.Response.Compact
application/json
get
GET /mirrors/transactions/{transaction}/stateproof HTTP/1.1
Host: 
Accept: */*
{
  "address_books": [
    "0.0.3",
    "0.0.4",
    "0.0.5"
  ],
  "record_file": {
    "head": "0.0.3-2023-04-15T14:30:00Z",
    "start_running_hash_object": "0a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p",
    "end_running_hash_object": "9z8y7x6w5v4u3t2s1r0q9p8o7n6m5l4k",
    "hashes_before": [
      [
        "hash1",
        "hash2",
        "hash3"
      ]
    ],
    "hashes_after": [
      [
        "hash4",
        "hash5",
        "hash6"
      ]
    ],
    "record_stream_object": "0x1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p",
    "block_number": "123456"
  },
  "signature_files": {
    "0.0.3": "signature_data_1",
    "0.0.4": "signature_data_2"
  },
  "version": 1
}

Hashgraph.Restful.Transactions.Schedule.Entity

get

Hashgraph.Restful.Transactions.Schedule.Entity

Path parameters
schedulestringRequired

Scheduled transaction ID

Example: 0.0.1234
Responses
200
Hashgraph.Restful.Transactions.Schedule.Entity
application/json
get
GET /mirrors/transactions/schedules/{schedule} HTTP/1.1
Host: 
Accept: */*
{
  "admin_key": {
    "key": "302a300506032b6570032100e0c8ec2758a5879ffac226a13c0c516b799e72e35141a0dd828f94d37988a4b7"
  },
  "consensus_timestamp": "1234567890.123456789",
  "creator_account_id": "0.0.123456",
  "deleted": false,
  "executed_timestamp": "1234567890.123456789",
  "expiration_time": "1234567890.123456789",
  "memo": "Multi-signature token transfer schedule",
  "payer_account_id": "0.0.123456",
  "schedule_id": "0.0.123456",
  "signatures": [
    {
      "public_key_prefix": "0x02b6...",
      "signature": "0x1a2b...",
      "type": "ED25519"
    }
  ],
  "transaction_body": "{\"transactionID\":{\"accountID\":{\"shardNum\":0,\"realmNum\":0,\"accountNum\":789012},\"transactionValidStart\":{\"seconds\":1234567890,\"nanos\":123456789}},\"nodeAccountID\":{\"shardNum\":0,\"realmNum\":0,\"accountNum\":3},\"transactionFee\":100000000,\"transactionValidDuration\":{\"seconds\":120},\"cryptoTransfer\":{\"transfers\":{\"accountAmounts\":[{\"accountID\":{\"shardNum\":0,\"realmNum\":0,\"accountNum\":789012},\"amount\":-1000000000},{\"accountID\":{\"shardNum\":0,\"realmNum\":0,\"accountNum\":456789},\"amount\":1000000000}]}}}",
  "wait_for_expiry": false
}

Hashgraph.Transaction.Query

get

Queries a Hashgraph.Transaction by its TransactionId

Path parameters
transactionstringRequired

Hashgraph.Transaction.Id

Responses
200
Hashgraph.Ledger.Transaction.Record
application/json
get
GET /transactions/query/{transaction} HTTP/1.1
Host: 
Accept: */*
{
  "receipt": {
    "status": "SUCCESS",
    "accountId": "0.0.1234"
  },
  "transactionHash": "0x1a2b3c4d...",
  "consensusTimestamp": {
    "seconds": 1634325282,
    "nanos": 134000000
  },
  "transactionId": "[email protected]",
  "transactionMemo": "Transfer to Alice",
  "transactionFee": "0.1 ℏ",
  "transfers": [
    {
      "accountId": "0.0.1234",
      "amount": "10"
    },
    {
      "accountId": "0.0.5678",
      "amount": "-10"
    }
  ],
  "contractFunctionResult": {
    "contractId": "0.0.1234",
    "gasUsed": 50000,
    "bloom": "0x...",
    "logs": []
  },
  "tokenTransfers": {
    "0.0.1000": {
      "0.0.1234": 100,
      "0.0.5678": -100
    }
  },
  "tokenTransfersList": [
    {
      "tokenId": "0.0.1000",
      "accountId": "0.0.1234",
      "amount": 100
    },
    {
      "tokenId": "0.0.1000",
      "accountId": "0.0.5678",
      "amount": -100
    }
  ],
  "scheduleRef": "0.0.2345",
  "assessedCustomFees": [
    {
      "amount": 5,
      "tokenId": "0.0.1000",
      "feeCollectorAccountId": "0.0.9876"
    }
  ],
  "nftTransfers": {
    "0.0.1000": {
      "0.0.1234": [
        "0.0.1000/1",
        "0.0.1000/2"
      ],
      "0.0.5678": [
        "0.0.1000/3"
      ]
    }
  },
  "automaticTokenAssociations": [
    {
      "tokenId": "0.0.1000",
      "accountId": "0.0.1234"
    }
  ],
  "parentConsensusTimestamp": {
    "seconds": 1634325282,
    "nanos": 134000000
  },
  "aliasKey": "302a300506032b6570032100e0c8ec2758a5879ffac226a13c0c516b799e72e35141a0dd828f94d37988a4b7",
  "duplicates": [
    []
  ],
  "children": [
    []
  ],
  "ethereumHash": "0x1a2b3c4d...",
  "paidStakingRewards": [
    {
      "accountId": "0.0.1234",
      "amount": "1.5"
    }
  ],
  "prngBytes": "0x1a2b3c4d...",
  "prngNumber": 42,
  "evmAddress": "0x1a2b3c4d5e6f7g8h9i0j",
  "newPendingAirdrops": [
    {
      "tokenId": "0.0.1000",
      "accountId": "0.0.1234",
      "amount": 100
    }
  ]
}

Hashgraph.Transaction.Receipt

get

Queries a Hashgraph.Transaction.Receipt by its TransactionId

Path parameters
transactionstringRequired

Hashgraph.Transaction.Id

Responses
200
Hashgraph.Ledger.Transaction.Receipt
application/json
get
GET /transactions/receipt/{transaction} HTTP/1.1
Host: 
Accept: */*
{
  "status": "SUCCESS",
  "accountId": "0.0.1234",
  "fileId": "0.0.5678",
  "contractId": "0.0.9012",
  "topicId": "0.0.3456",
  "tokenId": "0.0.7890",
  "scheduleId": "0.0.2345",
  "exchangeRate": {},
  "nextExchangeRate": {},
  "topicSequenceNumber": 42,
  "topicRunningHash": "Ynl0ZXM=",
  "totalSupply": 1000000,
  "scheduledTransactionId": "[email protected]",
  "serials": [
    1,
    2,
    3,
    4,
    5
  ],
  "duplicates": [
    {
      "status": "SUCCESS",
      "accountId": "0.0.1234",
      "fileId": "0.0.5678",
      "contractId": "0.0.9012",
      "topicId": "0.0.3456",
      "tokenId": "0.0.7890",
      "scheduleId": "0.0.2345",
      "exchangeRate": {},
      "nextExchangeRate": {},
      "topicSequenceNumber": 42,
      "topicRunningHash": "Ynl0ZXM=",
      "totalSupply": 1000000,
      "scheduledTransactionId": "[email protected]",
      "serials": [
        1,
        2,
        3,
        4,
        5
      ],
      "duplicates": [
        {
          "status": "SUCCESS",
          "accountId": "0.0.1234",
          "fileId": "0.0.5678",
          "contractId": "0.0.9012",
          "topicId": "0.0.3456",
          "tokenId": "0.0.7890",
          "scheduleId": "0.0.2345",
          "exchangeRate": {},
          "nextExchangeRate": {},
          "topicSequenceNumber": 42,
          "topicRunningHash": "Ynl0ZXM=",
          "totalSupply": 1000000,
          "scheduledTransactionId": "[email protected]",
          "serials": [
            1,
            2,
            3,
            4,
            5
          ],
          "duplicates": [
            "[Circular Reference]"
          ],
          "children": [
            "[Circular Reference]"
          ],
          "nodeId": 3
        }
      ],
      "children": [
        {
          "status": "SUCCESS",
          "accountId": "0.0.1234",
          "fileId": "0.0.5678",
          "contractId": "0.0.9012",
          "topicId": "0.0.3456",
          "tokenId": "0.0.7890",
          "scheduleId": "0.0.2345",
          "exchangeRate": {},
          "nextExchangeRate": {},
          "topicSequenceNumber": 42,
          "topicRunningHash": "Ynl0ZXM=",
          "totalSupply": 1000000,
          "scheduledTransactionId": "[email protected]",
          "serials": [
            1,
            2,
            3,
            4,
            5
          ],
          "duplicates": [
            {
              "status": "SUCCESS",
              "accountId": "0.0.1234",
              "fileId": "0.0.5678",
              "contractId": "0.0.9012",
              "topicId": "0.0.3456",
              "tokenId": "0.0.7890",
              "scheduleId": "0.0.2345",
              "exchangeRate": {},
              "nextExchangeRate": {},
              "topicSequenceNumber": 42,
              "topicRunningHash": "Ynl0ZXM=",
              "totalSupply": 1000000,
              "scheduledTransactionId": "[email protected]",
              "serials": [
                1,
                2,
                3,
                4,
                5
              ],
              "duplicates": [
                "[Circular Reference]"
              ],
              "children": [
                "[Circular Reference]"
              ],
              "nodeId": 3
            }
          ],
          "children": [
            "[Circular Reference]"
          ],
          "nodeId": 3
        }
      ],
      "nodeId": 3
    }
  ],
  "children": [
    {
      "status": "SUCCESS",
      "accountId": "0.0.1234",
      "fileId": "0.0.5678",
      "contractId": "0.0.9012",
      "topicId": "0.0.3456",
      "tokenId": "0.0.7890",
      "scheduleId": "0.0.2345",
      "exchangeRate": {},
      "nextExchangeRate": {},
      "topicSequenceNumber": 42,
      "topicRunningHash": "Ynl0ZXM=",
      "totalSupply": 1000000,
      "scheduledTransactionId": "[email protected]",
      "serials": [
        1,
        2,
        3,
        4,
        5
      ],
      "duplicates": [
        {
          "status": "SUCCESS",
          "accountId": "0.0.1234",
          "fileId": "0.0.5678",
          "contractId": "0.0.9012",
          "topicId": "0.0.3456",
          "tokenId": "0.0.7890",
          "scheduleId": "0.0.2345",
          "exchangeRate": {},
          "nextExchangeRate": {},
          "topicSequenceNumber": 42,
          "topicRunningHash": "Ynl0ZXM=",
          "totalSupply": 1000000,
          "scheduledTransactionId": "[email protected]",
          "serials": [
            1,
            2,
            3,
            4,
            5
          ],
          "duplicates": [
            "[Circular Reference]"
          ],
          "children": [
            "[Circular Reference]"
          ],
          "nodeId": 3
        }
      ],
      "children": [
        {
          "status": "SUCCESS",
          "accountId": "0.0.1234",
          "fileId": "0.0.5678",
          "contractId": "0.0.9012",
          "topicId": "0.0.3456",
          "tokenId": "0.0.7890",
          "scheduleId": "0.0.2345",
          "exchangeRate": {},
          "nextExchangeRate": {},
          "topicSequenceNumber": 42,
          "topicRunningHash": "Ynl0ZXM=",
          "totalSupply": 1000000,
          "scheduledTransactionId": "[email protected]",
          "serials": [
            1,
            2,
            3,
            4,
            5
          ],
          "duplicates": [
            {
              "status": "SUCCESS",
              "accountId": "0.0.1234",
              "fileId": "0.0.5678",
              "contractId": "0.0.9012",
              "topicId": "0.0.3456",
              "tokenId": "0.0.7890",
              "scheduleId": "0.0.2345",
              "exchangeRate": {},
              "nextExchangeRate": {},
              "topicSequenceNumber": 42,
              "topicRunningHash": "Ynl0ZXM=",
              "totalSupply": 1000000,
              "scheduledTransactionId": "[email protected]",
              "serials": [
                1,
                2,
                3,
                4,
                5
              ],
              "duplicates": [
                "[Circular Reference]"
              ],
              "children": [
                "[Circular Reference]"
              ],
              "nodeId": 3
            }
          ],
          "children": [
            "[Circular Reference]"
          ],
          "nodeId": 3
        }
      ],
      "nodeId": 3
    }
  ],
  "nodeId": 3
}

Hashgraph Accounts

Create a new Hashgraph account

post

Creates a new account on the Hashgraph network with specified initial settings, including initial balance and key.

Body
validatorConsensusTimestampstringRequired

Validator consensus timestamp

memostringOptional

Memo

senderobjectOptional

The sender account details

balancenumberRequired

Initial balance of the account in tinybars

maxAutomaticTokenAssociationsnumberOptional

Maximum number of tokens that can be associated with this account automatically

isReceiverSignatureRequiredbooleanOptional

Whether the receiver signature is required for transfers to this account

isOfflineTransactionbooleanOptional

Whether this is an offline transaction

daoobjectOptional

Optional DAO configuration for the account creation

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Transaction hash of the account creation transaction
application/json
Responseobject
post
POST /accounts HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 247

{
  "validatorConsensusTimestamp": "text",
  "memo": "text",
  "sender": {},
  "balance": 1,
  "maxAutomaticTokenAssociations": 1,
  "isReceiverSignatureRequired": true,
  "isOfflineTransaction": true,
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Get account information

get

Retrieves detailed information about a specific Hashgraph account, including balance, associated tokens, and other account properties.

Path parameters
walletstringRequired

The Hashgraph account ID in the format 0.0.12345

Responses
200
Detailed account information including balance, associated tokens, and other properties
application/json
get
GET /accounts/{wallet} HTTP/1.1
Host: 
Accept: */*
{
  "balance": "1000000000",
  "accountId": "0.0.12345",
  "contractAccountId": "0.0.54321",
  "isDeleted": false,
  "proxyAccountId": "0.0.67890",
  "proxyReceived": "500000000",
  "key": "302a300506032b6570032100e0c8ec2758a5879ffac226a13c0c516b799e72e35141a0dd828f94d37988a4b7",
  "sendRecordThreshold": "1000000",
  "receiveRecordThreshold": "2000000",
  "isReceiverSignatureRequired": true,
  "expirationTime": "2023-12-31T23:59:59.999Z",
  "autoRenewPeriod": {
    "seconds": {
      "low": 1,
      "high": 1,
      "unsigned": true
    }
  },
  "accountMemo": "This is a test account",
  "ownedNfts": "5",
  "maxAutomaticTokenAssociations": "10",
  "aliasKey": "0x1234567890abcdef",
  "ledgerId": "mainnet",
  "ethereumNonce": "42",
  "stakingInfo": {
    "declineStakingReward": true,
    "stakePeriodStart": "text",
    "pendingReward": "text",
    "stakedToMe": "text",
    "stakedAccountId": "text",
    "stakedNodeId": "text"
  }
}

Delete a Hashgraph account

delete

Deletes an account from the Hashgraph network, transferring any remaining funds to a specified account.

Path parameters
walletstringRequired

The Hashgraph account ID to be deleted, in the format 0.0.12345

Body
transferAccountIdstringRequired

Account ID to receive remaining balance upon deletion

Example: 0.0.123456
senderobjectOptional

Optional sender account details

daoall ofOptional

DAO configuration for deletion governance

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Transaction hash of the account deletion transaction
application/json
Responseobject
delete
DELETE /accounts/{wallet} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 120

{
  "transferAccountId": "0.0.123456",
  "sender": {},
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Update Hashgraph account properties

put

Modifies various properties of a Hashgraph account, such as memo, token associations, and staking preferences.

Path parameters
walletstringRequired

The Hashgraph account ID to be updated, in the format 0.0.12345

Body
memostringOptional

Optional memo to be associated with the account

Example: Updated account settings for Q2
maxAutomaticTokenAssociationsnumberOptional

Optional maximum number of automatic token associations

Example: 5
isReceiverSignatureRequiredbooleanOptional

Optional flag indicating if receiver signature is required

Example: true
stakingNodenumberOptional

Optional staking node identifier

Example: 123
senderobjectOptional

Optional sender account details

Example: {"key":"PublicKey or KeyList instance","id":"AccountId instance"}
daoall ofOptional

Optional DAO configuration for the account update

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Transaction hash of the account update transaction
application/json
Responseobject
put
PUT /accounts/{wallet} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 278

{
  "memo": "Updated account settings for Q2",
  "maxAutomaticTokenAssociations": 5,
  "isReceiverSignatureRequired": true,
  "stakingNode": 123,
  "sender": {
    "key": "PublicKey or KeyList instance",
    "id": "AccountId instance"
  },
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Get account balance

get

Retrieves the balance of a Hashgraph account, either in HBAR or for a specific token if provided.

Path parameters
walletstringRequired

The Hashgraph account ID to query, in the format 0.0.12345

tokenIdstringOptional

Optional token ID to query the balance for

Responses
200
The Hashgraph AccountBalance object
application/json
get
GET /accounts/{wallet}/balance HTTP/1.1
Host: 
Accept: */*
{
  "wallet": "0.0.1234",
  "hbars": {},
  "tokens": [
    {
      "tokenId": "0.0.1234",
      "balance": "1000.55",
      "decimals": "8"
    }
  ]
}

Get account public key

get

Retrieves the public key associated with a specific Hashgraph account, which is crucial for various cryptographic operations.

Path parameters
walletstringRequired

The Hashgraph account ID in the format 0.0.12345

Responses
200
The public key of the Hashgraph account
application/json
Responsestring
get
GET /accounts/{wallet}/publicKey HTTP/1.1
Host: 
Accept: */*
text

Approve Allowance

post

Approve allowances for accounts, supporting HBAR, token and NFT allowances

Body
objectOptional
Responses
200
Returns a Uint8Array representing the signed transaction
application/json
Responseobject
post
POST /accounts/allowance/approve HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 2

{}
{}

Delete NFT Allowance

post

Delete NFT allowances for accounts

Body
objectOptional
Responses
200
Returns a Uint8Array representing the signed transaction
application/json
Responseobject
post
POST /accounts/allowance/delete HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 2

{}
{}

Atomic Swap

post

Perform an atomic swap of tokens and/or HBAR between accounts. The swap either succeeds or fails atomically.

Body
fromstringRequired

The account ID of the sender initiating the atomic swap

Example: 0.0.123456
tostringRequired

The account ID of the receiver in the atomic swap

Example: 0.0.789012
token_idstringRequired

The unique identifier of the token being swapped

Example: 0.0.345678
decimalsnumberRequired

The number of decimal places for the token being swapped

Example: 8
amountnumberRequired

The amount of tokens to be swapped

Example: 100
memostringOptional

An optional memo to include with the atomic swap

Example: Atomic swap for Project X
daoall ofOptional

Optional DAO configuration for the atomic swap

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
senderobjectOptional

The sender account details

Responses
200
Returns a Uint8Array representing the signed transaction.
application/json
Responseobject
post
POST /accounts/transfer/atomic-swap HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 210

{
  "from": "0.0.123456",
  "to": "0.0.789012",
  "token_id": "0.0.345678",
  "decimals": 8,
  "amount": 100,
  "memo": "Atomic swap for Project X",
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  },
  "sender": {}
}
{}

Transfer HBAR

post

Transfer HBAR from one account to another. Requires sender, receiver, and amount details.

Body
amountnumberRequired

The amount of HBAR to transfer

Example: 100
fromstringRequired

The account ID of the sender

Example: 0.0.12345
tostringRequired

The account ID of the receiver

Example: 0.0.67890
memostringOptional

An optional memo to include with the transfer

Example: Payment for services
senderobjectOptional

The sender account details

daoobjectOptional

Optional DAO configuration for the HBAR transfer

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
Responses
200
Returns a Uint8Array representing the transaction.
application/json
Responseobject
post
POST /accounts/transfer/hbar HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 166

{
  "amount": 100,
  "from": "0.0.12345",
  "to": "0.0.67890",
  "memo": "Payment for services",
  "sender": {},
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Transfer NFT

post

Transfer a specific NFT from one account to another. Requires NFT ID, sender, receiver, and serial number.

Body
nftstringRequired

The unique identifier of the NFT token to be transferred

Example: 0.0.12345
fromstringRequired

The account ID of the sender

Example: 0.0.67890
tostringRequired

The account ID of the receiver

Example: 0.0.11111
serial_numbernumberRequired

The unique serial number of the specific NFT to be transferred

Example: 1
memostringOptional

An optional memo to include with the transfer

Example: NFT transfer memo
daoobjectOptional

Optional DAO configuration for the NFT transfer

Example: {"topicId":"0.0.12345","consensusTimestamp":"1234567890.123456789"}
senderobjectOptional

Optional sender configuration

Responses
200
Returns a Uint8Array representing the transaction.
application/json
Responseobject
post
POST /accounts/transfer/nft HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 186

{
  "nft": "0.0.12345",
  "from": "0.0.67890",
  "to": "0.0.11111",
  "serial_number": 1,
  "memo": "NFT transfer memo",
  "dao": {
    "topicId": "0.0.12345",
    "consensusTimestamp": "1234567890.123456789"
  },
  "sender": {}
}
{}

Transfer Token

post

Transfer a specific amount of tokens from one account to another. Requires token ID, sender, receiver, amount, and token decimals.

Body
token_idstringRequired

The unique identifier of the fungible token to be transferred

Example: 0.0.12345
fromstringRequired

The account ID of the sender

Example: 0.0.67890
tostringRequired

The account ID of the receiver

Example: 0.0.11111
amountnumberRequired

The amount of tokens to transfer

Example: 100
decimalsnumberRequired

The number of decimal places for the token

Example: 2
memostringOptional

An optional memo to include with the transfer

Example: Transfer memo
daoobjectOptional

Optional DAO configuration for the fungible token transfer

Example: {"consensusTimestamp":"1234567890.123456789"}
Responses
200
Returns a Uint8Array representing the transaction.
application/json
Responseobject
post
POST /accounts/transfer/token HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 161

{
  "token_id": "0.0.12345",
  "from": "0.0.67890",
  "to": "0.0.11111",
  "amount": 100,
  "decimals": 2,
  "memo": "Transfer memo",
  "dao": {
    "consensusTimestamp": "1234567890.123456789"
  }
}
{}

Hashgraph Accounts Mirror Node Operations

Hashgraph.Restful.Accounts.Info

get

Hashgraph.Restful.Accounts.Info

Path parameters
walletstringRequired

The account ID of the wallet to fetch information for

Query parameters
limitnumberOptional

The maximum number of items to return in the response

orderstring · enumOptional

The order in which items are listed (ascending or descending)

Possible values:
timestampstringOptional

The consensus timestamp in seconds.nanoseconds format with an optional comparison operator

transactionsbooleanOptional

If set to false, transactions will not be included in the response

transactionTypestring · enumOptional

The type of transaction to filter by (e.g., cryptoTransfer, consensusMessage)

Possible values:
Responses
200
Hashgraph.Restful.Accounts.Info
application/json
get
GET /mirrors/accounts/{wallet} HTTP/1.1
Host: 
Accept: */*
{
  "account": "0.0.123456",
  "alias": "my-account-alias",
  "auto_renew_period": 7776000,
  "balance": {
    "timestamp": "2023-04-15T14:30:00Z",
    "balance": 1000000000,
    "tokens": [
      {
        "token_id": "0.0.1234",
        "balance": 1000000
      }
    ]
  },
  "created_timestamp": "2023-01-01T00:00:00.000Z",
  "decline_reward": false,
  "deleted": false,
  "ethereum_nonce": 0,
  "evm_address": "binary",
  "expiry_timestamp": "2024-01-01T00:00:00.000Z",
  "key": {
    "_type": "ED25519",
    "key": "302a300506032b6570032100114e6abc371b82dab5c15ea149f02d34a012087b163516dd70f44acafabf7777"
  },
  "max_automatic_token_associations": 0,
  "memo": "Account memo",
  "pending_reward": 0,
  "receiver_sig_required": false,
  "staked_account_id": "0.0.789012",
  "staked_node_id": 0,
  "stake_period_start": "2023-01-01T00:00:00.000Z"
}

Hashgraph.Restful.HTS.Nft.Response

get

Hashgraph.Restful.HTS.Nft.Response

Path parameters
walletstringRequired

The account ID of the wallet to fetch NFTs for

Responses
200
Hashgraph.Restful.HTS.Nft.Response
application/json
get
GET /mirrors/accounts/{wallet}/nfts HTTP/1.1
Host: 
Accept: */*
{
  "nfts": [
    [
      {
        "account_id": "0.1.2",
        "created_timestamp": "1234567890.0006660001",
        "delegating_spender": "0.0.400",
        "deleted": false,
        "metadata": "VGhpcyBpcyBhIHRlc3QgTkZU",
        "modified_timestamp": "1610682445.003266001",
        "serial_number": 124,
        "spender_id": "0.0.500",
        "token_id": "0.0.222"
      }
    ]
  ],
  "links": {
    "next": null
  }
}

Hashgraph.Restful.Staking.Reward.Response

get

Hashgraph.Restful.Staking.Reward.Response

Path parameters
walletstringRequired

The account ID of the wallet to fetch staking rewards for

Query parameters
limitnumberOptional

The maximum number of items to return in the response

orderstring · enumOptional

The order in which items are listed (ascending or descending)

Possible values:
timestampstringOptional

The consensus timestamp in seconds.nanoseconds format for filtering results

Responses
200
Hashgraph.Restful.Staking.Reward.Response
application/json
get
GET /mirrors/accounts/{wallet}/rewards HTTP/1.1
Host: 
Accept: */*
{
  "rewards": [
    {
      "account_id": "0.0.1234",
      "amount": 100000000,
      "timestamp": "2023-01-01T00:00:00.000Z"
    },
    {
      "account_id": "0.0.5678",
      "amount": 50000000,
      "timestamp": "2023-01-01T00:00:00.000Z"
    }
  ],
  "links": {
    "next": "https://api.hedera.com/api/v1/staking/rewards?page=2"
  }
}

Hashgraph.Restful.HTS.Relationship.Entity

get

Hashgraph.Restful.HTS.Relationship.Entity

Path parameters
walletstringRequired

The account ID of the wallet to fetch token relationships for

Query parameters
limitnumberOptional

The maximum number of items to return in the response

orderstring · enumOptional

The order in which items are listed (ascending or descending)

Possible values:
tokenstringOptional

The specific token ID to filter the relationships by

Responses
200
Hashgraph.Restful.HTS.Relationship.Entity
application/json
get
GET /mirrors/accounts/{wallet}/tokens HTTP/1.1
Host: 
Accept: */*
{
  "automatic_association": true,
  "balance": 1000,
  "created_timestamp": "2023-05-17T12:34:56.789Z",
  "decimals": 2,
  "freeze_status": "UNFROZEN",
  "kyc_status": "GRANTED",
  "token_id": "0.0.1234"
}

Built with ❤️ by the HbarSuite Team Copyright © 2024 HbarSuite. All rights reserved.

Last updated