From 771eb4cb5ec21c4fd87675de2352e783bdf3d9f9 Mon Sep 17 00:00:00 2001 From: Alexey Kostenko Date: Tue, 3 Dec 2024 23:41:54 +0300 Subject: [PATCH 1/3] endpoints for swagger files --- api/openapi.json | 45 + api/openapi.yml | 28 + gen.go | 2 + pkg/api/openapi.go | 38 + pkg/api/openapi/openapi.json | 10709 +++++++++++++++++++++++++ pkg/api/openapi/openapi.yml | 7424 +++++++++++++++++ pkg/oas/oas_handlers_gen.go | 197 + pkg/oas/oas_response_encoders_gen.go | 30 + pkg/oas/oas_router_gen.go | 122 + pkg/oas/oas_schemas_gen.go | 15 + pkg/oas/oas_server_gen.go | 14 + pkg/oas/oas_unimplemented_gen.go | 20 + 12 files changed, 18644 insertions(+) create mode 100644 pkg/api/openapi.go create mode 100644 pkg/api/openapi/openapi.json create mode 100644 pkg/api/openapi/openapi.yml diff --git a/api/openapi.json b/api/openapi.json index 3056bd32..e0c1bad4 100644 --- a/api/openapi.json +++ b/api/openapi.json @@ -9829,6 +9829,51 @@ ] } }, + "/v2/openapi.json": { + "get": { + "description": "Get the openapi.json file", + "operationId": "getOpenapiJson", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + } + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Openapi" + ] + } + }, + "/v2/openapi.yml": { + "get": { + "description": "Get the openapi.yml file", + "operationId": "getOpenapiYml", + "responses": { + "200": { + "content": { + "application/x-yaml": { + "schema": { + "format": "binary", + "type": "string" + } + } + } + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Openapi" + ] + } + }, "/v2/pubkeys/{public_key}/wallets": { "get": { "description": "Get wallets by public key", diff --git a/api/openapi.yml b/api/openapi.yml index f7f1be40..587399f5 100644 --- a/api/openapi.yml +++ b/api/openapi.yml @@ -86,6 +86,34 @@ tags: url: https://docs.tonconsole.com/tonapi/rest-api/utilities paths: + /v2/openapi.json: + get: + description: Get the openapi.json file + operationId: getOpenapiJson + tags: + - Openapi + responses: + '200': + content: + application/json: + schema: { } # Free-form JSON value + 'default': + $ref: '#/components/responses/Error' + /v2/openapi.yml: + get: + description: Get the openapi.yml file + operationId: getOpenapiYml + tags: + - Openapi + responses: + '200': + content: + application/x-yaml: + schema: + type: string + format: binary + 'default': + $ref: '#/components/responses/Error' /v2/status: get: description: Status diff --git a/gen.go b/gen.go index df12700a..c5e2942f 100644 --- a/gen.go +++ b/gen.go @@ -2,3 +2,5 @@ package opentonapi //go:generate go run github.com/ogen-go/ogen/cmd/ogen -clean -config ogen.yaml -package oas -target pkg/oas api/openapi.yml //go:generate go run api/jsonify.go api/openapi.yml api/openapi.json +//go:generate bash -c "cp api/openapi.yml pkg/api/openapi/openapi.yml" +//go:generate bash -c "cp api/openapi.json pkg/api/openapi/openapi.json" diff --git a/pkg/api/openapi.go b/pkg/api/openapi.go new file mode 100644 index 00000000..b9e90c48 --- /dev/null +++ b/pkg/api/openapi.go @@ -0,0 +1,38 @@ +package api + +import ( + "bytes" + "context" + "github.com/go-faster/jx" + "github.com/tonkeeper/opentonapi/pkg/oas" + "io/fs" + "net/http" +) + +import "embed" + +//go:embed openapi/openapi.yml openapi/openapi.json +var OpenapiFiles embed.FS + +func (h *Handler) GetOpenapiJson(ctx context.Context) (jx.Raw, error) { + file, err := fs.ReadFile(OpenapiFiles, "openapi/openapi.json") + if err != nil { + return jx.Raw{}, toError(http.StatusInternalServerError, err) + } + d := jx.DecodeBytes(file) + result, err := d.Raw() + if err != nil { + return jx.Raw{}, toError(http.StatusInternalServerError, err) + } + return result, nil +} + +func (h *Handler) GetOpenapiYml(ctx context.Context) (oas.GetOpenapiYmlOK, error) { + file, err := fs.ReadFile(OpenapiFiles, "openapi/openapi.yml") + if err != nil { + return oas.GetOpenapiYmlOK{}, toError(http.StatusInternalServerError, err) + } + return oas.GetOpenapiYmlOK{ + Data: bytes.NewReader(file), + }, nil +} diff --git a/pkg/api/openapi/openapi.json b/pkg/api/openapi/openapi.json new file mode 100644 index 00000000..e0c1bad4 --- /dev/null +++ b/pkg/api/openapi/openapi.json @@ -0,0 +1,10709 @@ +{ + "components": { + "parameters": { + "accountIDParameter": { + "description": "account ID", + "in": "path", + "name": "account_id", + "required": true, + "schema": { + "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", + "format": "address", + "type": "string" + } + }, + "accountIDParameters": { + "description": "account ID", + "explode": false, + "in": "path", + "name": "account_ids", + "required": true, + "schema": { + "items": { + "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", + "format": "address", + "type": "string" + }, + "type": "array" + } + }, + "accountIDQuery": { + "description": "account ID", + "explode": false, + "in": "query", + "name": "account_id", + "required": false, + "schema": { + "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", + "format": "address", + "type": "string" + } + }, + "blockchainBlockIDExtParameter": { + "description": "block ID: (workchain,shard,seqno,root_hash,file_hash)", + "in": "path", + "name": "block_id", + "required": true, + "schema": { + "example": "(-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29)", + "type": "string" + } + }, + "blockchainBlockIDParameter": { + "description": "block ID", + "in": "path", + "name": "block_id", + "required": true, + "schema": { + "example": "(-1,8000000000000000,4234234)", + "type": "string" + } + }, + "collectionQuery": { + "description": "nft collection", + "in": "query", + "name": "collection", + "required": false, + "schema": { + "example": "0:06d811f426598591b32b2c49f29f66c821368e4acb1de16762b04e0174532465", + "format": "address", + "type": "string" + } + }, + "countQuery": { + "description": "count", + "in": "query", + "name": "count", + "required": true, + "schema": { + "example": 100, + "format": "int32", + "type": "integer" + } + }, + "currenciesQuery": { + "description": "accept ton and all possible fiat currencies, separated by commas", + "explode": false, + "in": "query", + "name": "currencies", + "required": false, + "schema": { + "example": [ + "ton", + "usd", + "rub" + ], + "items": { + "type": "string" + }, + "type": "array" + } + }, + "currencyQuery": { + "in": "query", + "name": "currency", + "required": false, + "schema": { + "example": "usd", + "type": "string" + } + }, + "domainFilterQuery": { + "description": "domain filter for current auctions \"ton\" or \"t.me\"", + "in": "query", + "name": "tld", + "required": false, + "schema": { + "example": "ton", + "type": "string" + } + }, + "domainNameParameter": { + "description": "domain name with .ton or .t.me", + "in": "path", + "name": "domain_name", + "required": true, + "schema": { + "example": "wallet.ton", + "type": "string" + } + }, + "eventIDParameter": { + "description": "event ID or transaction hash in hex (without 0x) or base64url format", + "in": "path", + "name": "event_id", + "required": true, + "schema": { + "example": "97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", + "type": "string" + } + }, + "exactQuery": { + "description": "exact", + "in": "query", + "name": "exact", + "required": true, + "schema": { + "example": false, + "type": "boolean" + } + }, + "fromQuery": { + "in": "query", + "name": "from", + "required": true, + "schema": { + "format": "int64", + "type": "integer" + } + }, + "hashQuery": { + "description": "hash", + "in": "query", + "name": "hash", + "required": true, + "schema": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + } + }, + "i18n": { + "in": "header", + "name": "Accept-Language", + "required": false, + "schema": { + "default": "en", + "example": "ru-RU,ru;q=0.5", + "type": "string" + } + }, + "initiatorQuery": { + "description": "Show only events that are initiated by this account", + "explode": false, + "in": "query", + "name": "initiator", + "schema": { + "default": false, + "type": "boolean" + } + }, + "jettonIDParameter": { + "description": "jetton ID", + "in": "path", + "name": "jetton_id", + "required": true, + "schema": { + "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", + "format": "address", + "type": "string" + } + }, + "knownBlockIDExtQuery": { + "description": "known block: (workchain,shard,seqno,root_hash,file_hash)", + "in": "query", + "name": "known_block", + "required": true, + "schema": { + "example": "(-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29)", + "type": "string" + } + }, + "limitQuery": { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 1000, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + "ltMustQuery": { + "description": "lt", + "in": "query", + "name": "lt", + "required": true, + "schema": { + "example": 23814011000000, + "format": "int64", + "type": "integer" + } + }, + "ltQuery": { + "description": "lt", + "in": "query", + "name": "lt", + "schema": { + "example": 23814011000000, + "format": "int64", + "type": "integer" + } + }, + "masterchainSeqno": { + "description": "masterchain block seqno", + "in": "path", + "name": "masterchain_seqno", + "required": true, + "schema": { + "example": 123456, + "format": "int32", + "type": "integer" + } + }, + "messageIDParameter": { + "description": "message ID", + "in": "path", + "name": "msg_id", + "required": true, + "schema": { + "example": "97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", + "type": "string" + } + }, + "methodNameParameter": { + "description": "contract get method name", + "in": "path", + "name": "method_name", + "required": true, + "schema": { + "example": "get_wallet_address", + "type": "string" + } + }, + "modeQuery": { + "description": "mode", + "in": "query", + "name": "mode", + "required": true, + "schema": { + "example": 0, + "format": "int32", + "type": "integer" + } + }, + "offsetQuery": { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "minimum": 0, + "type": "integer" + } + }, + "periodQuery": { + "description": "number of days before expiration", + "in": "query", + "name": "period", + "required": false, + "schema": { + "maximum": 3660, + "minimum": 1, + "type": "integer" + } + }, + "publicKeyParameter": { + "in": "path", + "name": "public_key", + "required": true, + "schema": { + "example": "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3...", + "type": "string" + } + }, + "shardQuery": { + "description": "shard", + "in": "query", + "name": "shard", + "required": true, + "schema": { + "example": 1, + "format": "int64", + "type": "integer" + } + }, + "supportedExtensions": { + "description": "comma separated list supported extensions", + "explode": false, + "in": "query", + "name": "supported_extensions", + "required": false, + "schema": { + "example": [ + "custom_payload" + ], + "items": { + "type": "string" + }, + "type": "array" + } + }, + "targetBlockIDExtQuery": { + "description": "target block: (workchain,shard,seqno,root_hash,file_hash)", + "in": "query", + "name": "target_block", + "required": false, + "schema": { + "example": "(-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29)", + "type": "string" + } + }, + "toQuery": { + "in": "query", + "name": "to", + "required": true, + "schema": { + "format": "int64", + "type": "integer" + } + }, + "traceIDParameter": { + "description": "trace ID or transaction hash in hex (without 0x) or base64url format", + "in": "path", + "name": "trace_id", + "required": true, + "schema": { + "example": "97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", + "type": "string" + } + }, + "transactionIDParameter": { + "description": "transaction ID", + "in": "path", + "name": "transaction_id", + "required": true, + "schema": { + "example": "97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", + "type": "string" + } + }, + "workchainQuery": { + "description": "workchain", + "in": "query", + "name": "workchain", + "required": true, + "schema": { + "example": 1, + "format": "int32", + "type": "integer" + } + } + }, + "requestBodies": { + "AccountIDs": { + "content": { + "application/json": { + "schema": { + "properties": { + "account_ids": { + "items": { + "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", + "format": "address", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "account_ids" + ], + "type": "object" + } + } + }, + "description": "a list of account ids" + }, + "BatchBoc": { + "content": { + "application/json": { + "schema": { + "properties": { + "batch": { + "items": { + "format": "cell", + "type": "string" + }, + "maxItems": 10, + "type": "array" + }, + "boc": { + "format": "cell", + "type": "string" + } + }, + "type": "object" + } + } + }, + "description": "both a single boc and a batch of boc serialized in base64/hex are accepted", + "required": true + }, + "Boc": { + "content": { + "application/json": { + "schema": { + "properties": { + "boc": { + "format": "cell", + "type": "string" + } + }, + "required": [ + "boc" + ], + "type": "object" + } + } + }, + "description": "bag-of-cells serialized to hex", + "required": true + }, + "EmulationBoc": { + "content": { + "application/json": { + "schema": { + "properties": { + "boc": { + "format": "cell", + "type": "string" + }, + "params": { + "description": "additional per account configuration", + "items": { + "properties": { + "address": { + "example": "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b", + "format": "address", + "type": "string" + }, + "balance": { + "example": 10000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "boc" + ], + "type": "object" + } + } + }, + "description": "bag-of-cells serialized to base64/hex and additional parameters to configure emulation", + "required": true + }, + "GaslessSend": { + "content": { + "application/json": { + "schema": { + "properties": { + "boc": { + "format": "cell", + "type": "string" + }, + "wallet_public_key": { + "description": "hex encoded public key", + "type": "string" + } + }, + "required": [ + "boc", + "wallet_public_key" + ], + "type": "object" + } + } + }, + "description": "bag-of-cells serialized to hex", + "required": true + }, + "InternalMessages": { + "content": { + "application/json": { + "schema": { + "properties": { + "messages": { + "items": { + "properties": { + "boc": { + "format": "cell", + "type": "string" + } + }, + "required": [ + "boc" + ], + "type": "object" + }, + "type": "array" + }, + "wallet_address": { + "format": "address", + "type": "string" + }, + "wallet_public_key": { + "type": "string" + } + }, + "required": [ + "messages", + "wallet_address", + "wallet_public_key" + ], + "type": "object" + } + } + }, + "description": "bag-of-cells serialized to hex", + "required": true + }, + "LiteServerSendMessageRequest": { + "content": { + "application/json": { + "schema": { + "properties": { + "body": { + "format": "cell-base64", + "type": "string" + } + }, + "required": [ + "body" + ], + "type": "object" + } + } + }, + "description": "Data that is expected", + "required": true + }, + "MethodParameters": { + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + }, + "description": "input parameters for contract get method" + }, + "TonConnectProof": { + "content": { + "application/json": { + "schema": { + "properties": { + "address": { + "example": "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b", + "format": "address", + "type": "string" + }, + "proof": { + "properties": { + "domain": { + "properties": { + "length_bytes": { + "format": "int32", + "type": "integer" + }, + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "payload": { + "example": "84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa", + "type": "string" + }, + "signature": { + "type": "string" + }, + "state_init": { + "format": "cell-base64", + "type": "string" + }, + "timestamp": { + "example": "1678275313", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "timestamp", + "domain", + "signature", + "payload" + ], + "type": "object" + } + }, + "required": [ + "address", + "proof" + ], + "type": "object" + } + } + }, + "description": "Data that is expected from TON Connect", + "required": true + }, + "TonConnectStateInit": { + "content": { + "application/json": { + "schema": { + "properties": { + "state_init": { + "format": "cell-base64", + "type": "string" + } + }, + "required": [ + "state_init" + ], + "type": "object" + } + } + }, + "description": "Data that is expected", + "required": true + } + }, + "responses": { + "Error": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "type": "string" + }, + "error_code": { + "format": "int64", + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } + } + }, + "description": "Some error during request processing" + } + }, + "schemas": { + "AccStatusChange": { + "enum": [ + "acst_unchanged", + "acst_frozen", + "acst_deleted" + ], + "example": "acst_unchanged", + "type": "string" + }, + "Account": { + "properties": { + "address": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "balance": { + "example": 123456789, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "currencies_balance": { + "additionalProperties": true, + "description": "{'USD': 1, 'IDR': 1000}", + "example": {}, + "type": "object" + }, + "get_methods": { + "example": [ + "get_item_data" + ], + "items": { + "type": "string" + }, + "type": "array" + }, + "icon": { + "example": "https://ton.org/logo.png", + "type": "string" + }, + "interfaces": { + "items": { + "example": "nft_sale", + "type": "string" + }, + "type": "array" + }, + "is_scam": { + "example": true, + "type": "boolean" + }, + "is_suspended": { + "type": "boolean" + }, + "is_wallet": { + "type": "boolean" + }, + "last_activity": { + "description": "unix timestamp", + "example": 1720860269, + "format": "int64", + "type": "integer" + }, + "memo_required": { + "example": true, + "type": "boolean" + }, + "name": { + "example": "Ton foundation", + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/AccountStatus" + } + }, + "required": [ + "address", + "balance", + "status", + "last_activity", + "get_methods", + "is_wallet" + ], + "type": "object" + }, + "AccountAddress": { + "properties": { + "address": { + "example": "0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365", + "format": "address", + "type": "string" + }, + "icon": { + "example": "https://ton.org/logo.png", + "type": "string" + }, + "is_scam": { + "description": "Is this account was marked as part of scammers activity", + "example": true, + "type": "boolean" + }, + "is_wallet": { + "example": true, + "type": "boolean" + }, + "name": { + "description": "Display name. Data collected from different sources like moderation lists, dns, collections names and over.", + "example": "Ton foundation", + "type": "string" + } + }, + "required": [ + "address", + "is_scam", + "is_wallet" + ], + "type": "object" + }, + "AccountEvent": { + "description": "An event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time.", + "properties": { + "account": { + "$ref": "#/components/schemas/AccountAddress" + }, + "actions": { + "items": { + "$ref": "#/components/schemas/Action" + }, + "type": "array" + }, + "event_id": { + "example": "e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e", + "type": "string" + }, + "extra": { + "description": "TODO", + "example": 3, + "format": "int64", + "type": "integer" + }, + "in_progress": { + "description": "Event is not finished yet. Transactions still happening", + "example": false, + "type": "boolean" + }, + "is_scam": { + "description": "scam", + "example": false, + "type": "boolean" + }, + "lt": { + "example": 25713146000001, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "timestamp": { + "example": 1234567890, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "event_id", + "timestamp", + "actions", + "account", + "is_scam", + "lt", + "in_progress", + "extra" + ], + "type": "object" + }, + "AccountEvents": { + "properties": { + "events": { + "items": { + "$ref": "#/components/schemas/AccountEvent" + }, + "type": "array" + }, + "next_from": { + "example": 25713146000001, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "events", + "next_from" + ], + "type": "object" + }, + "AccountInfoByStateInit": { + "properties": { + "address": { + "example": "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b", + "format": "address", + "type": "string" + }, + "public_key": { + "example": "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3...", + "type": "string" + } + }, + "required": [ + "public_key", + "address" + ], + "type": "object" + }, + "AccountStaking": { + "properties": { + "pools": { + "items": { + "$ref": "#/components/schemas/AccountStakingInfo" + }, + "type": "array" + } + }, + "required": [ + "pools" + ], + "type": "object" + }, + "AccountStakingInfo": { + "properties": { + "amount": { + "example": 10050000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "pending_deposit": { + "example": 500000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "pending_withdraw": { + "example": 500000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "pool": { + "example": "EQBI-wGVp_x0VFEjd7m9cEUD3tJ_bnxMSp0Tb9qz757ATEAM", + "type": "string" + }, + "ready_withdraw": { + "example": 500000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "pool", + "amount", + "pending_deposit", + "pending_withdraw", + "ready_withdraw" + ], + "type": "object" + }, + "AccountStatus": { + "enum": [ + "nonexist", + "uninit", + "active", + "frozen" + ], + "example": "active", + "type": "string" + }, + "AccountStorageInfo": { + "properties": { + "due_payment": { + "example": 567, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "last_paid": { + "description": "time of the last payment", + "example": 1720860269, + "format": "int64", + "type": "integer" + }, + "used_bits": { + "example": 567, + "format": "int64", + "type": "integer" + }, + "used_cells": { + "example": 567, + "format": "int64", + "type": "integer" + }, + "used_public_cells": { + "example": 567, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "used_cells", + "used_bits", + "used_public_cells", + "last_paid", + "due_payment" + ], + "type": "object" + }, + "Accounts": { + "properties": { + "accounts": { + "items": { + "$ref": "#/components/schemas/Account" + }, + "type": "array" + } + }, + "required": [ + "accounts" + ], + "type": "object" + }, + "Action": { + "properties": { + "AuctionBid": { + "$ref": "#/components/schemas/AuctionBidAction" + }, + "ContractDeploy": { + "$ref": "#/components/schemas/ContractDeployAction" + }, + "DepositStake": { + "$ref": "#/components/schemas/DepositStakeAction" + }, + "DomainRenew": { + "$ref": "#/components/schemas/DomainRenewAction" + }, + "ElectionsDepositStake": { + "$ref": "#/components/schemas/ElectionsDepositStakeAction" + }, + "ElectionsRecoverStake": { + "$ref": "#/components/schemas/ElectionsRecoverStakeAction" + }, + "InscriptionMint": { + "$ref": "#/components/schemas/InscriptionMintAction" + }, + "InscriptionTransfer": { + "$ref": "#/components/schemas/InscriptionTransferAction" + }, + "JettonBurn": { + "$ref": "#/components/schemas/JettonBurnAction" + }, + "JettonMint": { + "$ref": "#/components/schemas/JettonMintAction" + }, + "JettonSwap": { + "$ref": "#/components/schemas/JettonSwapAction" + }, + "JettonTransfer": { + "$ref": "#/components/schemas/JettonTransferAction" + }, + "NftItemTransfer": { + "$ref": "#/components/schemas/NftItemTransferAction" + }, + "NftPurchase": { + "$ref": "#/components/schemas/NftPurchaseAction" + }, + "SmartContractExec": { + "$ref": "#/components/schemas/SmartContractAction" + }, + "Subscribe": { + "$ref": "#/components/schemas/SubscriptionAction" + }, + "TonTransfer": { + "$ref": "#/components/schemas/TonTransferAction" + }, + "UnSubscribe": { + "$ref": "#/components/schemas/UnSubscriptionAction" + }, + "WithdrawStake": { + "$ref": "#/components/schemas/WithdrawStakeAction" + }, + "WithdrawStakeRequest": { + "$ref": "#/components/schemas/WithdrawStakeRequestAction" + }, + "base_transactions": { + "items": { + "description": "transaction hash", + "example": "e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e", + "type": "string" + }, + "type": "array" + }, + "simple_preview": { + "$ref": "#/components/schemas/ActionSimplePreview" + }, + "status": { + "enum": [ + "ok", + "failed" + ], + "example": "ok", + "type": "string" + }, + "type": { + "enum": [ + "TonTransfer", + "JettonTransfer", + "JettonBurn", + "JettonMint", + "NftItemTransfer", + "ContractDeploy", + "Subscribe", + "UnSubscribe", + "AuctionBid", + "NftPurchase", + "DepositStake", + "WithdrawStake", + "WithdrawStakeRequest", + "JettonSwap", + "SmartContractExec", + "ElectionsRecoverStake", + "ElectionsDepositStake", + "DomainRenew", + "InscriptionTransfer", + "InscriptionMint", + "Unknown" + ], + "example": "TonTransfer", + "type": "string" + } + }, + "required": [ + "type", + "status", + "simple_preview", + "base_transactions" + ], + "type": "object" + }, + "ActionPhase": { + "properties": { + "fwd_fees": { + "example": 1000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "result_code": { + "example": 5, + "format": "int32", + "type": "integer" + }, + "result_code_description": { + "type": "string" + }, + "skipped_actions": { + "example": 5, + "format": "int32", + "type": "integer" + }, + "success": { + "example": true, + "type": "boolean" + }, + "total_actions": { + "example": 5, + "format": "int32", + "type": "integer" + }, + "total_fees": { + "example": 1000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "success", + "result_code", + "total_actions", + "skipped_actions", + "fwd_fees", + "total_fees" + ], + "type": "object" + }, + "ActionSimplePreview": { + "description": "shortly describes what this action is about.", + "properties": { + "accounts": { + "items": { + "$ref": "#/components/schemas/AccountAddress" + }, + "type": "array" + }, + "action_image": { + "description": "a link to an image for this particular action.", + "type": "string" + }, + "description": { + "example": "Transferring 5 Ton", + "type": "string" + }, + "name": { + "example": "Ton Transfer", + "type": "string" + }, + "value": { + "example": "5 Ton", + "type": "string" + }, + "value_image": { + "description": "a link to an image that depicts this action's asset.", + "type": "string" + } + }, + "required": [ + "name", + "description", + "accounts" + ], + "type": "object" + }, + "ApyHistory": { + "properties": { + "apy": { + "type": "number" + }, + "time": { + "type": "integer" + } + }, + "required": [ + "apy", + "time" + ], + "type": "object" + }, + "Auction": { + "properties": { + "bids": { + "example": 1660050553, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "date": { + "example": 1660050553, + "format": "int64", + "type": "integer" + }, + "domain": { + "example": "wallet.ton", + "type": "string" + }, + "owner": { + "example": "0:c704dadfabac88eab58e340de03080df81ff76636431f48624ad6e26fb2da0a4", + "format": "address", + "type": "string" + }, + "price": { + "example": 1660050553, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "domain", + "owner", + "price", + "bids", + "date" + ], + "type": "object" + }, + "AuctionBidAction": { + "properties": { + "amount": { + "$ref": "#/components/schemas/Price" + }, + "auction": { + "$ref": "#/components/schemas/AccountAddress" + }, + "auction_type": { + "enum": [ + "DNS.ton", + "DNS.tg", + "NUMBER.tg", + "getgems" + ], + "type": "string" + }, + "bidder": { + "$ref": "#/components/schemas/AccountAddress" + }, + "nft": { + "$ref": "#/components/schemas/NftItem" + } + }, + "required": [ + "amount", + "bidder", + "auction", + "auction_type" + ], + "type": "object" + }, + "Auctions": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Auction" + }, + "type": "array" + }, + "total": { + "example": 1660050553, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "data", + "total" + ], + "type": "object" + }, + "BlockCurrencyCollection": { + "properties": { + "grams": { + "example": 10000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "other": { + "items": { + "properties": { + "id": { + "example": 13, + "format": "int64", + "type": "integer" + }, + "value": { + "example": "10000000000", + "type": "string", + "x-js-format": "bigint" + } + }, + "required": [ + "id", + "value" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "grams", + "other" + ], + "type": "object" + }, + "BlockLimits": { + "properties": { + "bytes": { + "$ref": "#/components/schemas/BlockParamLimits" + }, + "gas": { + "$ref": "#/components/schemas/BlockParamLimits" + }, + "lt_delta": { + "$ref": "#/components/schemas/BlockParamLimits" + } + }, + "required": [ + "bytes", + "gas", + "lt_delta" + ], + "type": "object" + }, + "BlockParamLimits": { + "properties": { + "hard_limit": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "soft_limit": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "underload": { + "example": 1000000, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "underload", + "soft_limit", + "hard_limit" + ], + "type": "object" + }, + "BlockRaw": { + "properties": { + "file_hash": { + "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", + "type": "string" + }, + "root_hash": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "seqno": { + "example": 30699640, + "format": "int32", + "type": "integer" + }, + "shard": { + "example": "800000000000000", + "type": "string" + }, + "workchain": { + "example": 4294967295, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "workchain", + "shard", + "seqno", + "root_hash", + "file_hash" + ], + "type": "object" + }, + "BlockValueFlow": { + "properties": { + "burned": { + "$ref": "#/components/schemas/BlockCurrencyCollection" + }, + "created": { + "$ref": "#/components/schemas/BlockCurrencyCollection" + }, + "exported": { + "$ref": "#/components/schemas/BlockCurrencyCollection" + }, + "fees_collected": { + "$ref": "#/components/schemas/BlockCurrencyCollection" + }, + "fees_imported": { + "$ref": "#/components/schemas/BlockCurrencyCollection" + }, + "from_prev_blk": { + "$ref": "#/components/schemas/BlockCurrencyCollection" + }, + "imported": { + "$ref": "#/components/schemas/BlockCurrencyCollection" + }, + "minted": { + "$ref": "#/components/schemas/BlockCurrencyCollection" + }, + "recovered": { + "$ref": "#/components/schemas/BlockCurrencyCollection" + }, + "to_next_blk": { + "$ref": "#/components/schemas/BlockCurrencyCollection" + } + }, + "required": [ + "from_prev_blk", + "to_next_blk", + "imported", + "exported", + "fees_collected", + "fees_imported", + "recovered", + "created", + "minted" + ], + "type": "object" + }, + "BlockchainAccountInspect": { + "properties": { + "code": { + "format": "cell", + "type": "string" + }, + "code_hash": { + "type": "string" + }, + "compiler": { + "enum": [ + "func" + ], + "type": "string" + }, + "methods": { + "items": { + "properties": { + "id": { + "format": "int64", + "type": "integer" + }, + "method": { + "example": "get_something", + "type": "string" + } + }, + "required": [ + "id", + "method" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "code", + "code_hash", + "methods" + ], + "type": "object" + }, + "BlockchainBlock": { + "properties": { + "after_merge": { + "example": true, + "type": "boolean" + }, + "after_split": { + "example": true, + "type": "boolean" + }, + "before_split": { + "example": true, + "type": "boolean" + }, + "created_by": { + "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", + "type": "string" + }, + "end_lt": { + "example": 23814011000001, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "file_hash": { + "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", + "type": "string" + }, + "gen_catchain_seqno": { + "example": 0, + "format": "int32", + "type": "integer" + }, + "gen_software_capabilities": { + "example": 0, + "format": "int64", + "type": "integer" + }, + "gen_software_version": { + "example": 0, + "format": "int32", + "type": "integer" + }, + "gen_utime": { + "example": 1674826775, + "format": "int64", + "type": "integer" + }, + "global_id": { + "example": -239, + "format": "int32", + "type": "integer" + }, + "in_msg_descr_length": { + "example": 0, + "format": "int64", + "type": "integer" + }, + "key_block": { + "example": true, + "type": "boolean" + }, + "master_ref": { + "example": "(-1,4234234,8000000000000000)", + "type": "string" + }, + "min_ref_mc_seqno": { + "example": 0, + "format": "int32", + "type": "integer" + }, + "out_msg_descr_length": { + "example": 0, + "format": "int64", + "type": "integer" + }, + "prev_key_block_seqno": { + "example": 0, + "format": "int32", + "type": "integer" + }, + "prev_refs": { + "items": { + "example": [ + "(-1", + 4234235, + "8000000000000000)" + ], + "type": "string" + }, + "type": "array" + }, + "rand_seed": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "root_hash": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "seqno": { + "example": 21734019, + "format": "int32", + "type": "integer" + }, + "shard": { + "example": "8000000000000000", + "type": "string" + }, + "start_lt": { + "example": 23814011000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "tx_quantity": { + "example": 130, + "type": "integer" + }, + "value_flow": { + "$ref": "#/components/schemas/BlockValueFlow" + }, + "version": { + "example": 0, + "format": "int32", + "type": "integer" + }, + "vert_seqno": { + "example": 0, + "format": "int32", + "type": "integer" + }, + "want_merge": { + "example": true, + "type": "boolean" + }, + "want_split": { + "example": true, + "type": "boolean" + }, + "workchain_id": { + "example": 0, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "workchain_id", + "shard", + "seqno", + "root_hash", + "file_hash", + "global_id", + "value_flow", + "version", + "after_merge", + "before_split", + "after_split", + "want_split", + "want_merge", + "key_block", + "gen_utime", + "start_lt", + "end_lt", + "vert_seqno", + "gen_catchain_seqno", + "min_ref_mc_seqno", + "prev_key_block_seqno", + "prev_refs", + "in_msg_descr_length", + "out_msg_descr_length", + "rand_seed", + "created_by", + "tx_quantity" + ], + "type": "object" + }, + "BlockchainBlockShards": { + "properties": { + "shards": { + "items": { + "properties": { + "last_known_block": { + "$ref": "#/components/schemas/BlockchainBlock" + }, + "last_known_block_id": { + "example": "(0,8000000000000000,4234234)", + "type": "string" + } + }, + "required": [ + "last_known_block_id", + "last_known_block" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "shards" + ], + "type": "object" + }, + "BlockchainBlocks": { + "properties": { + "blocks": { + "items": { + "$ref": "#/components/schemas/BlockchainBlock" + }, + "type": "array" + } + }, + "required": [ + "blocks" + ], + "type": "object" + }, + "BlockchainConfig": { + "properties": { + "0": { + "description": "config address", + "format": "address", + "type": "string" + }, + "1": { + "description": "elector address", + "format": "address", + "type": "string" + }, + "10": { + "description": "List of critical TON parameters, the change of which significantly affects the network, so more voting rounds are held.", + "properties": { + "critical_params": { + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "required": [ + "critical_params" + ], + "type": "object" + }, + "11": { + "description": "This parameter indicates under what conditions proposals to change the TON configuration are accepted.", + "properties": { + "critical_params": { + "$ref": "#/components/schemas/ConfigProposalSetup" + }, + "normal_params": { + "$ref": "#/components/schemas/ConfigProposalSetup" + } + }, + "required": [ + "normal_params", + "critical_params" + ], + "type": "object" + }, + "12": { + "description": "Workchains in the TON Blockchain", + "properties": { + "workchains": { + "items": { + "$ref": "#/components/schemas/WorkchainDescr" + }, + "type": "array" + } + }, + "required": [ + "workchains" + ], + "type": "object" + }, + "13": { + "description": "The cost of filing complaints about incorrect operation of validators.", + "properties": { + "bit_price": { + "format": "int64", + "type": "integer" + }, + "cell_price": { + "format": "int64", + "type": "integer" + }, + "deposit": { + "format": "int64", + "type": "integer" + } + }, + "required": [ + "deposit", + "bit_price", + "cell_price" + ], + "type": "object" + }, + "14": { + "description": "The reward in nanoTons for block creation in the TON blockchain.", + "properties": { + "basechain_block_fee": { + "format": "int64", + "type": "integer" + }, + "masterchain_block_fee": { + "format": "int64", + "type": "integer" + } + }, + "required": [ + "masterchain_block_fee", + "basechain_block_fee" + ], + "type": "object" + }, + "15": { + "description": "The reward in nanoTons for block creation in the TON blockchain.", + "properties": { + "elections_end_before": { + "example": 8192, + "format": "int64", + "type": "integer" + }, + "elections_start_before": { + "example": 32768, + "format": "int64", + "type": "integer" + }, + "stake_held_for": { + "example": 32768, + "format": "int64", + "type": "integer" + }, + "validators_elected_for": { + "example": 65536, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "validators_elected_for", + "elections_start_before", + "elections_end_before", + "stake_held_for" + ], + "type": "object" + }, + "16": { + "description": "The limits on the number of validators in the TON blockchain.", + "properties": { + "max_main_validators": { + "example": 100, + "type": "integer" + }, + "max_validators": { + "example": 400, + "type": "integer" + }, + "min_validators": { + "example": 75, + "type": "integer" + } + }, + "required": [ + "max_validators", + "max_main_validators", + "min_validators" + ], + "type": "object" + }, + "17": { + "description": "The stake parameters configuration in the TON blockchain.", + "properties": { + "max_stake": { + "type": "string" + }, + "max_stake_factor": { + "format": "int64", + "type": "integer" + }, + "min_stake": { + "type": "string" + }, + "min_total_stake": { + "type": "string" + } + }, + "required": [ + "min_stake", + "max_stake", + "min_total_stake", + "max_stake_factor" + ], + "type": "object" + }, + "18": { + "description": "The prices for data storage.", + "properties": { + "storage_prices": { + "items": { + "properties": { + "bit_price_ps": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "cell_price_ps": { + "example": 500, + "format": "int64", + "type": "integer" + }, + "mc_bit_price_ps": { + "example": 1000, + "format": "int64", + "type": "integer" + }, + "mc_cell_price_ps": { + "example": 500000, + "format": "int64", + "type": "integer" + }, + "utime_since": { + "example": 0, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "utime_since", + "bit_price_ps", + "cell_price_ps", + "mc_bit_price_ps", + "mc_cell_price_ps" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "storage_prices" + ], + "type": "object" + }, + "2": { + "description": "minter address", + "format": "address", + "type": "string" + }, + "20": { + "description": "The cost of computations in the masterchain. The complexity of any computation is estimated in gas units.", + "properties": { + "gas_limits_prices": { + "$ref": "#/components/schemas/GasLimitPrices" + } + }, + "required": [ + "gas_limits_prices" + ], + "type": "object" + }, + "21": { + "description": "The cost of computations in the basechains. The complexity of any computation is estimated in gas units.", + "properties": { + "gas_limits_prices": { + "$ref": "#/components/schemas/GasLimitPrices" + } + }, + "required": [ + "gas_limits_prices" + ], + "type": "object" + }, + "22": { + "description": "The limits on the block in the masterchain, upon reaching which the block is finalized and the callback of the remaining messages (if any) is carried over to the next block.", + "properties": { + "block_limits": { + "$ref": "#/components/schemas/BlockLimits" + } + }, + "required": [ + "block_limits" + ], + "type": "object" + }, + "23": { + "description": "The limits on the block in the basechains, upon reaching which the block is finalized and the callback of the remaining messages (if any) is carried over to the next block.", + "properties": { + "block_limits": { + "$ref": "#/components/schemas/BlockLimits" + } + }, + "required": [ + "block_limits" + ], + "type": "object" + }, + "24": { + "description": "The cost of sending messages in the masterchain of the TON blockchain.", + "properties": { + "msg_forward_prices": { + "$ref": "#/components/schemas/MsgForwardPrices" + } + }, + "required": [ + "msg_forward_prices" + ], + "type": "object" + }, + "25": { + "description": "The cost of sending messages in the basechains of the TON blockchain.", + "properties": { + "msg_forward_prices": { + "$ref": "#/components/schemas/MsgForwardPrices" + } + }, + "required": [ + "msg_forward_prices" + ], + "type": "object" + }, + "28": { + "description": "The configuration for the Catchain protocol.", + "properties": { + "flags": { + "example": 1000000, + "format": "int", + "type": "integer" + }, + "mc_catchain_lifetime": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "shard_catchain_lifetime": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "shard_validators_lifetime": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "shard_validators_num": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "shuffle_mc_validators": { + "type": "boolean" + } + }, + "required": [ + "mc_catchain_lifetime", + "shard_catchain_lifetime", + "shard_validators_lifetime", + "shard_validators_num" + ], + "type": "object" + }, + "29": { + "description": "The configuration for the consensus protocol above catchain.", + "properties": { + "attempt_duration": { + "example": 8, + "format": "int64", + "type": "integer" + }, + "catchain_max_blocks_coeff": { + "example": 10000, + "format": "int64", + "type": "integer" + }, + "catchain_max_deps": { + "example": 4, + "format": "int64", + "type": "integer" + }, + "consensus_timeout_ms": { + "example": 16000, + "format": "int64", + "type": "integer" + }, + "fast_attempts": { + "example": 3, + "format": "int64", + "type": "integer" + }, + "flags": { + "example": 0, + "format": "int", + "type": "integer" + }, + "max_block_bytes": { + "example": 2097152, + "format": "int64", + "type": "integer" + }, + "max_collated_bytes": { + "example": 2097152, + "format": "int64", + "type": "integer" + }, + "new_catchain_ids": { + "example": true, + "type": "boolean" + }, + "next_candidate_delay_ms": { + "example": 2000, + "format": "int64", + "type": "integer" + }, + "proto_version": { + "example": 2, + "format": "int64", + "type": "integer" + }, + "round_candidates": { + "example": 3, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "round_candidates", + "next_candidate_delay_ms", + "consensus_timeout_ms", + "fast_attempts", + "attempt_duration", + "catchain_max_deps", + "max_block_bytes", + "max_collated_bytes" + ], + "type": "object" + }, + "3": { + "description": "The address of the transaction fee collector.", + "format": "address", + "type": "string" + }, + "31": { + "description": "The configuration for the consensus protocol above catchain.", + "properties": { + "fundamental_smc_addr": { + "items": { + "example": "-1:dd24c4a1f2b88f8b7053513b5cc6c5a31bc44b2a72dcb4d8c0338af0f0d37ec5", + "format": "address", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "fundamental_smc_addr" + ], + "type": "object" + }, + "32": { + "$ref": "#/components/schemas/ValidatorsSet" + }, + "33": { + "$ref": "#/components/schemas/ValidatorsSet" + }, + "34": { + "$ref": "#/components/schemas/ValidatorsSet" + }, + "35": { + "$ref": "#/components/schemas/ValidatorsSet" + }, + "36": { + "$ref": "#/components/schemas/ValidatorsSet" + }, + "37": { + "$ref": "#/components/schemas/ValidatorsSet" + }, + "4": { + "description": "dns root address", + "format": "address", + "type": "string" + }, + "40": { + "description": "The configuration for punishment for improper behavior (non-validation). In the absence of the parameter, the default fine size is 101 TON", + "properties": { + "misbehaviour_punishment_config": { + "$ref": "#/components/schemas/MisbehaviourPunishmentConfig" + } + }, + "required": [ + "misbehaviour_punishment_config" + ], + "type": "object" + }, + "43": { + "description": "The size limits and some other characteristics of accounts and messages.", + "properties": { + "size_limits_config": { + "$ref": "#/components/schemas/SizeLimitsConfig" + } + }, + "required": [ + "size_limits_config" + ], + "type": "object" + }, + "44": { + "description": "suspended accounts", + "properties": { + "accounts": { + "items": { + "example": "0:0000000000000000000000000000000000000000000000000000000000000000", + "format": "address", + "type": "string" + }, + "type": "array" + }, + "suspended_until": { + "type": "integer" + } + }, + "required": [ + "accounts", + "suspended_until" + ], + "type": "object" + }, + "45": { + "description": "precompiled contracts", + "properties": { + "contracts": { + "items": { + "properties": { + "code_hash": { + "format": "address", + "type": "string" + }, + "gas_usage": { + "format": "int64", + "type": "integer" + } + }, + "required": [ + "code_hash", + "gas_usage" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "contracts" + ], + "type": "object" + }, + "5": { + "properties": { + "blackhole_addr": { + "format": "address", + "type": "string" + }, + "fee_burn_denom": { + "format": "int64", + "type": "integer" + }, + "fee_burn_nom": { + "format": "int64", + "type": "integer" + } + }, + "required": [ + "fee_burn_nom", + "fee_burn_denom" + ], + "type": "object" + }, + "6": { + "description": "Minting fees of new currencies.", + "properties": { + "mint_add_price": { + "format": "int64", + "type": "integer" + }, + "mint_new_price": { + "format": "int64", + "type": "integer" + } + }, + "required": [ + "mint_new_price", + "mint_add_price" + ], + "type": "object" + }, + "7": { + "description": "The volume of each of the additional currencies in circulation.", + "properties": { + "currencies": { + "items": { + "properties": { + "amount": { + "type": "string" + }, + "currency_id": { + "format": "int64", + "type": "integer" + } + }, + "required": [ + "currency_id", + "amount" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "currencies" + ], + "type": "object" + }, + "71": { + "description": "Bridge parameters for wrapping TON in other networks.", + "properties": { + "oracle_bridge_params": { + "$ref": "#/components/schemas/OracleBridgeParams" + } + }, + "required": [ + "oracle_bridge_params" + ], + "type": "object" + }, + "72": { + "description": "Bridge parameters for wrapping TON in other networks.", + "properties": { + "oracle_bridge_params": { + "$ref": "#/components/schemas/OracleBridgeParams" + } + }, + "required": [ + "oracle_bridge_params" + ], + "type": "object" + }, + "73": { + "description": "Bridge parameters for wrapping TON in other networks.", + "properties": { + "oracle_bridge_params": { + "$ref": "#/components/schemas/OracleBridgeParams" + } + }, + "required": [ + "oracle_bridge_params" + ], + "type": "object" + }, + "79": { + "description": "Bridge parameters for wrapping tokens from other networks into tokens on the TON network.", + "properties": { + "jetton_bridge_params": { + "$ref": "#/components/schemas/JettonBridgeParams" + } + }, + "required": [ + "jetton_bridge_params" + ], + "type": "object" + }, + "8": { + "description": "The network version and additional capabilities supported by the validators.", + "properties": { + "capabilities": { + "format": "int64", + "type": "integer" + }, + "version": { + "format": "int64", + "type": "integer" + } + }, + "required": [ + "version", + "capabilities" + ], + "type": "object" + }, + "81": { + "description": "Bridge parameters for wrapping tokens from other networks into tokens on the TON network.", + "properties": { + "jetton_bridge_params": { + "$ref": "#/components/schemas/JettonBridgeParams" + } + }, + "required": [ + "jetton_bridge_params" + ], + "type": "object" + }, + "82": { + "description": "Bridge parameters for wrapping tokens from other networks into tokens on the TON network.", + "properties": { + "jetton_bridge_params": { + "$ref": "#/components/schemas/JettonBridgeParams" + } + }, + "required": [ + "jetton_bridge_params" + ], + "type": "object" + }, + "9": { + "description": "List of mandatory parameters of the blockchain config.", + "properties": { + "mandatory_params": { + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "required": [ + "mandatory_params" + ], + "type": "object" + }, + "raw": { + "description": "config boc in hex format", + "format": "cell", + "type": "string" + } + }, + "required": [ + "raw", + "0", + "1", + "2", + "4", + "44" + ], + "type": "object" + }, + "BlockchainRawAccount": { + "properties": { + "address": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "balance": { + "example": 123456789, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "code": { + "example": "b5ee9c72410104010087000114ff00f4a413f4a0f2c80b0102012002030002d200dfa5ffff76a268698fe9ffe8e42c5267858f90e785ffe4f6aa6467c444ffb365ffc10802faf0807d014035e7a064b87d804077e7857fc10803dfd2407d014035e7a064b86467cd8903a32b9ba4410803ade68afd014035e7a045ea432b6363796103bb7b9363210c678b64b87d807d8040c249b3e4", + "format": "cell", + "type": "string" + }, + "data": { + "example": "b5ee9c7241010101002600004811fd096c0000000000000000000000000000000000000000000000000000000000000000cb78264d", + "format": "cell", + "type": "string" + }, + "extra_balance": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "frozen_hash": { + "example": "088b436a846d92281734236967970612f87fbd64a2cd3573107948379e8e4161", + "type": "string" + }, + "last_transaction_hash": { + "example": "088b436a846d92281734236967970612f87fbd64a2cd3573107948379e8e4161", + "type": "string" + }, + "last_transaction_lt": { + "example": 123456789, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "libraries": { + "items": { + "properties": { + "public": { + "example": true, + "type": "boolean" + }, + "root": { + "format": "cell", + "type": "string" + } + }, + "required": [ + "public", + "root" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "$ref": "#/components/schemas/AccountStatus" + }, + "storage": { + "$ref": "#/components/schemas/AccountStorageInfo" + } + }, + "required": [ + "address", + "balance", + "status", + "last_transaction_lt", + "storage" + ], + "type": "object" + }, + "BouncePhaseType": { + "enum": [ + "TrPhaseBounceNegfunds", + "TrPhaseBounceNofunds", + "TrPhaseBounceOk" + ], + "example": "cskip_no_state", + "type": "string" + }, + "ChartPoints": { + "additionalItems": false, + "example": [ + 1668436763, + 97.21323234 + ], + "items": [ + { + "description": "Unix timestamp of the data point", + "format": "int64", + "type": "integer" + }, + { + "description": "Decimal price of the token in the requested currency", + "type": "number" + } + ], + "type": "array" + }, + "ComputePhase": { + "properties": { + "exit_code": { + "example": 0, + "format": "int32", + "type": "integer" + }, + "exit_code_description": { + "type": "string" + }, + "gas_fees": { + "example": 1000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "gas_used": { + "example": 10000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "skip_reason": { + "$ref": "#/components/schemas/ComputeSkipReason" + }, + "skipped": { + "example": true, + "type": "boolean" + }, + "success": { + "example": true, + "type": "boolean" + }, + "vm_steps": { + "example": 5, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "skipped" + ], + "type": "object" + }, + "ComputeSkipReason": { + "enum": [ + "cskip_no_state", + "cskip_bad_state", + "cskip_no_gas" + ], + "example": "cskip_no_state", + "type": "string" + }, + "ConfigProposalSetup": { + "properties": { + "bit_price": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "cell_price": { + "example": 500, + "format": "int64", + "type": "integer" + }, + "max_losses": { + "example": 6, + "type": "integer" + }, + "max_store_sec": { + "example": 10000000, + "format": "int64", + "type": "integer" + }, + "max_tot_rounds": { + "example": 6, + "type": "integer" + }, + "min_store_sec": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "min_tot_rounds": { + "example": 2, + "type": "integer" + }, + "min_wins": { + "example": 2, + "type": "integer" + } + }, + "required": [ + "min_tot_rounds", + "max_tot_rounds", + "min_wins", + "max_losses", + "min_store_sec", + "max_store_sec", + "bit_price", + "cell_price" + ], + "type": "object" + }, + "ContractDeployAction": { + "properties": { + "address": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "interfaces": { + "example": [ + "nft_item", + "nft_royalty" + ], + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "address", + "interfaces" + ], + "type": "object" + }, + "CreditPhase": { + "properties": { + "credit": { + "example": 1000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "fees_collected": { + "example": 100, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "fees_collected", + "credit" + ], + "type": "object" + }, + "DecodedMessage": { + "properties": { + "destination": { + "$ref": "#/components/schemas/AccountAddress" + }, + "destination_wallet_version": { + "example": "v3R2", + "type": "string" + }, + "ext_in_msg_decoded": { + "properties": { + "wallet_highload_v2": { + "properties": { + "bounded_query_id": { + "example": "34254528475294857", + "type": "string" + }, + "raw_messages": { + "items": { + "$ref": "#/components/schemas/DecodedRawMessage" + }, + "type": "array" + }, + "subwallet_id": { + "example": 1, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "subwallet_id", + "bounded_query_id", + "raw_messages" + ], + "type": "object" + }, + "wallet_v3": { + "properties": { + "raw_messages": { + "items": { + "$ref": "#/components/schemas/DecodedRawMessage" + }, + "type": "array" + }, + "seqno": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "subwallet_id": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "valid_until": { + "example": 1, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "subwallet_id", + "valid_until", + "seqno", + "op", + "raw_messages" + ], + "type": "object" + }, + "wallet_v4": { + "properties": { + "op": { + "example": 1, + "format": "int32", + "type": "integer" + }, + "raw_messages": { + "items": { + "$ref": "#/components/schemas/DecodedRawMessage" + }, + "type": "array" + }, + "seqno": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "subwallet_id": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "valid_until": { + "example": 1, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "subwallet_id", + "valid_until", + "seqno", + "op", + "raw_messages" + ], + "type": "object" + }, + "wallet_v5": { + "properties": { + "raw_messages": { + "items": { + "$ref": "#/components/schemas/DecodedRawMessage" + }, + "type": "array" + }, + "valid_until": { + "example": 1, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "raw_messages", + "valid_until" + ], + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "destination", + "destination_wallet_version" + ], + "type": "object" + }, + "DecodedRawMessage": { + "properties": { + "message": { + "properties": { + "boc": { + "format": "cell", + "type": "string" + }, + "decoded_body": {}, + "decoded_op_name": { + "example": "nft_transfer", + "type": "string" + }, + "op_code": { + "example": "0xdeadbeaf", + "type": "string", + "x-js-format": "bigint" + } + }, + "required": [ + "boc" + ], + "type": "object" + }, + "mode": { + "example": 2, + "type": "integer" + } + }, + "required": [ + "message", + "mode" + ], + "type": "object" + }, + "DepositStakeAction": { + "description": "validator's participation in elections", + "properties": { + "amount": { + "example": 1660050553, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "implementation": { + "$ref": "#/components/schemas/PoolImplementationType" + }, + "pool": { + "$ref": "#/components/schemas/AccountAddress" + }, + "staker": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "amount", + "staker", + "pool", + "implementation" + ], + "type": "object" + }, + "DnsExpiring": { + "properties": { + "items": { + "items": { + "properties": { + "dns_item": { + "$ref": "#/components/schemas/NftItem" + }, + "expiring_at": { + "example": 1678275313, + "format": "int64", + "type": "integer" + }, + "name": { + "example": "blah_blah.ton", + "type": "string" + } + }, + "required": [ + "expiring_at", + "name" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "DnsRecord": { + "properties": { + "next_resolver": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "sites": { + "items": { + "example": "http://12234.ton", + "type": "string" + }, + "type": "array" + }, + "storage": { + "description": "tonstorage bag id", + "example": "da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "type": "string" + }, + "wallet": { + "$ref": "#/components/schemas/WalletDNS" + } + }, + "required": [ + "sites" + ], + "type": "object" + }, + "DomainBid": { + "properties": { + "bidder": { + "$ref": "#/components/schemas/AccountAddress" + }, + "success": { + "default": false, + "example": true, + "type": "boolean" + }, + "txHash": { + "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", + "type": "string" + }, + "txTime": { + "example": 1660050553, + "format": "int64", + "type": "integer" + }, + "value": { + "example": 1660050553, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "success", + "value", + "txTime", + "bidder", + "txHash" + ], + "type": "object" + }, + "DomainBids": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/DomainBid" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "DomainInfo": { + "properties": { + "expiring_at": { + "description": "date of expiring. optional. not all domain in ton has expiration date", + "format": "int64", + "type": "integer" + }, + "item": { + "$ref": "#/components/schemas/NftItem" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "DomainNames": { + "properties": { + "domains": { + "items": { + "example": "vasya.ton", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domains" + ], + "type": "object" + }, + "DomainRenewAction": { + "properties": { + "contract_address": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "domain": { + "example": "vasya.ton", + "type": "string" + }, + "renewer": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "domain", + "contract_address", + "renewer" + ], + "type": "object" + }, + "ElectionsDepositStakeAction": { + "properties": { + "amount": { + "example": 1660050553, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "staker": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "amount", + "staker" + ], + "type": "object" + }, + "ElectionsRecoverStakeAction": { + "properties": { + "amount": { + "example": 1660050553, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "staker": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "amount", + "staker" + ], + "type": "object" + }, + "EncryptedComment": { + "properties": { + "cipher_text": { + "example": "A6A0BD6608672B...CE3AF8DB", + "type": "string" + }, + "encryption_type": { + "example": "simple", + "type": "string" + } + }, + "required": [ + "encryption_type", + "cipher_text" + ], + "type": "object" + }, + "Error": { + "properties": { + "error": { + "example": "error description", + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + }, + "Event": { + "properties": { + "actions": { + "items": { + "$ref": "#/components/schemas/Action" + }, + "type": "array" + }, + "event_id": { + "example": "e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e", + "type": "string" + }, + "in_progress": { + "description": "Event is not finished yet. Transactions still happening", + "example": false, + "type": "boolean" + }, + "is_scam": { + "description": "scam", + "example": false, + "type": "boolean" + }, + "lt": { + "example": 25713146000001, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "timestamp": { + "example": 1234567890, + "format": "int64", + "type": "integer" + }, + "value_flow": { + "items": { + "$ref": "#/components/schemas/ValueFlow" + }, + "type": "array" + } + }, + "required": [ + "event_id", + "timestamp", + "actions", + "value_flow", + "is_scam", + "lt", + "in_progress" + ], + "type": "object" + }, + "FoundAccounts": { + "properties": { + "addresses": { + "items": { + "properties": { + "address": { + "format": "address", + "type": "string" + }, + "name": { + "example": "blah_blah.ton", + "type": "string" + }, + "preview": { + "example": "https://cache.tonapi.io/images/media.jpg", + "type": "string" + } + }, + "required": [ + "address", + "name", + "preview" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "addresses" + ], + "type": "object" + }, + "GasLimitPrices": { + "properties": { + "block_gas_limit": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "delete_due_limit": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "flat_gas_limit": { + "format": "int64", + "type": "integer" + }, + "flat_gas_price": { + "format": "int64", + "type": "integer" + }, + "freeze_due_limit": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "gas_credit": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "gas_limit": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "gas_price": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "special_gas_limit": { + "format": "int64", + "type": "integer" + } + }, + "required": [ + "gas_price", + "gas_limit", + "gas_credit", + "block_gas_limit", + "freeze_due_limit", + "delete_due_limit" + ], + "type": "object" + }, + "GaslessConfig": { + "properties": { + "gas_jettons": { + "description": "list of jettons, any of them can be used to pay for gas", + "items": { + "properties": { + "master_id": { + "format": "address", + "type": "string" + } + }, + "required": [ + "master_id" + ], + "type": "object" + }, + "type": "array" + }, + "relay_address": { + "description": "sending excess to this address decreases the commission of a gasless transfer", + "example": "0:dfbd5be8497fdc0c9fcbdfc676864840ddf8ad6423d6d5657d9b0e8270d6c8ac", + "format": "address", + "type": "string" + } + }, + "required": [ + "gas_jettons", + "relay_address" + ], + "type": "object" + }, + "ImagePreview": { + "properties": { + "resolution": { + "example": "100x100", + "type": "string" + }, + "url": { + "example": "https://site.com/pic1.jpg", + "type": "string" + } + }, + "required": [ + "resolution", + "url" + ], + "type": "object" + }, + "InitStateRaw": { + "properties": { + "file_hash": { + "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", + "type": "string" + }, + "root_hash": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "workchain": { + "example": 4294967295, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "workchain", + "root_hash", + "file_hash" + ], + "type": "object" + }, + "InscriptionBalance": { + "properties": { + "balance": { + "example": "1000000000", + "type": "string", + "x-js-format": "bigint" + }, + "decimals": { + "example": 9, + "type": "integer" + }, + "ticker": { + "example": "nano", + "type": "string" + }, + "type": { + "enum": [ + "ton20", + "gram20" + ], + "example": "ton20", + "type": "string" + } + }, + "required": [ + "type", + "ticker", + "balance", + "decimals" + ], + "type": "object" + }, + "InscriptionBalances": { + "properties": { + "inscriptions": { + "items": { + "$ref": "#/components/schemas/InscriptionBalance" + }, + "type": "array" + } + }, + "required": [ + "inscriptions" + ], + "type": "object" + }, + "InscriptionMintAction": { + "properties": { + "amount": { + "description": "amount in minimal particles", + "example": "123456789", + "type": "string", + "x-js-format": "bigint" + }, + "decimals": { + "example": 9, + "type": "integer" + }, + "recipient": { + "$ref": "#/components/schemas/AccountAddress" + }, + "ticker": { + "example": "nano", + "type": "string" + }, + "type": { + "enum": [ + "ton20", + "gram20" + ], + "example": "ton20", + "type": "string" + } + }, + "required": [ + "type", + "ticker", + "recipient", + "amount", + "decimals" + ], + "type": "object" + }, + "InscriptionTransferAction": { + "properties": { + "amount": { + "description": "amount in minimal particles", + "example": "123456789", + "type": "string", + "x-js-format": "bigint" + }, + "comment": { + "example": "Hi! This is your salary. \nFrom accounting with love.", + "type": "string" + }, + "decimals": { + "example": 9, + "type": "integer" + }, + "recipient": { + "$ref": "#/components/schemas/AccountAddress" + }, + "sender": { + "$ref": "#/components/schemas/AccountAddress" + }, + "ticker": { + "example": "nano", + "type": "string" + }, + "type": { + "enum": [ + "ton20", + "gram20" + ], + "example": "ton20", + "type": "string" + } + }, + "required": [ + "sender", + "recipient", + "amount", + "type", + "ticker", + "decimals" + ], + "type": "object" + }, + "JettonBalance": { + "properties": { + "balance": { + "example": "597968399", + "type": "string", + "x-js-format": "bigint" + }, + "extensions": { + "example": [ + "custom_payload", + "non_transferable" + ], + "items": { + "type": "string" + }, + "type": "array" + }, + "jetton": { + "$ref": "#/components/schemas/JettonPreview" + }, + "lock": { + "properties": { + "amount": { + "example": "597968399", + "type": "string", + "x-js-format": "bigint" + }, + "till": { + "example": 1678223064, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "amount", + "till" + ], + "type": "object" + }, + "price": { + "$ref": "#/components/schemas/TokenRates" + }, + "wallet_address": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "balance", + "wallet_address", + "jetton" + ], + "type": "object" + }, + "JettonBridgeParams": { + "properties": { + "bridge_address": { + "format": "address", + "type": "string" + }, + "burn_bridge_fee": { + "format": "int64", + "type": "integer" + }, + "external_chain_address": { + "type": "string" + }, + "oracles": { + "items": { + "$ref": "#/components/schemas/Oracle" + }, + "type": "array" + }, + "oracles_address": { + "format": "address", + "type": "string" + }, + "prices": { + "$ref": "#/components/schemas/JettonBridgePrices" + }, + "state_flags": { + "type": "integer" + } + }, + "required": [ + "bridge_address", + "oracles_address", + "state_flags", + "oracles" + ], + "type": "object" + }, + "JettonBridgePrices": { + "properties": { + "bridge_burn_fee": { + "format": "int64", + "type": "integer" + }, + "bridge_mint_fee": { + "format": "int64", + "type": "integer" + }, + "discover_gas_consumption": { + "format": "int64", + "type": "integer" + }, + "minter_min_tons_for_storage": { + "format": "int64", + "type": "integer" + }, + "wallet_gas_consumption": { + "format": "int64", + "type": "integer" + }, + "wallet_min_tons_for_storage": { + "format": "int64", + "type": "integer" + } + }, + "required": [ + "bridge_burn_fee", + "bridge_mint_fee", + "wallet_min_tons_for_storage", + "wallet_gas_consumption", + "minter_min_tons_for_storage", + "discover_gas_consumption" + ], + "type": "object" + }, + "JettonBurnAction": { + "properties": { + "amount": { + "description": "amount in quanta of tokens", + "example": "1000000000", + "type": "string", + "x-js-format": "bigint" + }, + "jetton": { + "$ref": "#/components/schemas/JettonPreview" + }, + "sender": { + "$ref": "#/components/schemas/AccountAddress" + }, + "senders_wallet": { + "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", + "format": "address", + "type": "string" + } + }, + "required": [ + "amount", + "jetton", + "sender", + "senders_wallet" + ], + "type": "object" + }, + "JettonHolders": { + "properties": { + "addresses": { + "items": { + "properties": { + "address": { + "example": "0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365", + "format": "address", + "type": "string" + }, + "balance": { + "description": "balance in the smallest jetton's units", + "example": "168856200518084", + "type": "string", + "x-js-format": "bigint" + }, + "owner": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "address", + "owner", + "balance" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "description": "total number of holders", + "example": 2000, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "addresses", + "total" + ], + "type": "object" + }, + "JettonInfo": { + "properties": { + "admin": { + "$ref": "#/components/schemas/AccountAddress" + }, + "holders_count": { + "example": 2000, + "format": "int32", + "type": "integer" + }, + "metadata": { + "$ref": "#/components/schemas/JettonMetadata" + }, + "mintable": { + "example": true, + "type": "boolean" + }, + "preview": { + "example": "https://cache.tonapi.io/images/jetton.jpg", + "type": "string" + }, + "total_supply": { + "example": "5887105890579978", + "type": "string", + "x-js-format": "bigint" + }, + "verification": { + "$ref": "#/components/schemas/JettonVerificationType" + } + }, + "required": [ + "mintable", + "total_supply", + "metadata", + "verification", + "holders_count", + "preview" + ], + "type": "object" + }, + "JettonMetadata": { + "properties": { + "address": { + "example": "0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0", + "format": "address", + "type": "string" + }, + "catalogs": { + "items": { + "example": [ + "https://coinmarketcap.com/currencies/drv/", + "https://www.coingecko.com/en/coins/durov" + ], + "type": "string" + }, + "type": "array" + }, + "custom_payload_api_uri": { + "example": "https://claim-api.tonapi.io/jettons/TESTMINT", + "type": "string" + }, + "decimals": { + "example": "9", + "type": "string" + }, + "description": { + "example": "Wrapped Toncoin", + "type": "string" + }, + "image": { + "description": "this field currently returns a cached image URL (e.g., \"https://cache.tonapi.io/images/jetton.jpg\"). In the future, this will be replaced with the original URL from the metadata. The cached image is already available in the `preview` field of `JettonInfo` and will remain there.", + "example": "https://bitcoincash-example.github.io/website/logo.png", + "type": "string" + }, + "name": { + "example": "Wrapped TON", + "type": "string" + }, + "social": { + "items": { + "example": [ + "https://t.me/durov_coin", + "https://twitter.com/durov_coin" + ], + "type": "string" + }, + "type": "array" + }, + "symbol": { + "example": "WTON", + "type": "string" + }, + "websites": { + "items": { + "example": [ + "https://durov.coin", + "ton://durov-coin.ton" + ], + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "address", + "name", + "symbol", + "decimals" + ], + "type": "object" + }, + "JettonMintAction": { + "properties": { + "amount": { + "description": "amount in quanta of tokens", + "example": "1000000000", + "type": "string", + "x-js-format": "bigint" + }, + "jetton": { + "$ref": "#/components/schemas/JettonPreview" + }, + "recipient": { + "$ref": "#/components/schemas/AccountAddress" + }, + "recipients_wallet": { + "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", + "format": "address", + "type": "string" + } + }, + "required": [ + "amount", + "jetton", + "recipient", + "recipients_wallet" + ], + "type": "object" + }, + "JettonPreview": { + "properties": { + "address": { + "example": "0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0", + "format": "address", + "type": "string" + }, + "custom_payload_api_uri": { + "type": "string" + }, + "decimals": { + "example": 9, + "type": "integer" + }, + "image": { + "example": "https://cache.tonapi.io/images/jetton.jpg", + "type": "string" + }, + "name": { + "example": "Wrapped TON", + "type": "string" + }, + "symbol": { + "example": "WTON", + "type": "string" + }, + "verification": { + "$ref": "#/components/schemas/JettonVerificationType" + } + }, + "required": [ + "address", + "name", + "symbol", + "decimals", + "verification", + "image" + ], + "type": "object" + }, + "JettonQuantity": { + "properties": { + "jetton": { + "$ref": "#/components/schemas/JettonPreview" + }, + "quantity": { + "example": "597968399", + "type": "string", + "x-js-format": "bigint" + }, + "wallet_address": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "quantity", + "wallet_address", + "jetton" + ], + "type": "object" + }, + "JettonSwapAction": { + "properties": { + "amount_in": { + "example": "1660050553", + "type": "string", + "x-js-format": "bigint" + }, + "amount_out": { + "example": "1660050553", + "type": "string", + "x-js-format": "bigint" + }, + "dex": { + "enum": [ + "stonfi", + "dedust", + "megatonfi" + ], + "type": "string" + }, + "jetton_master_in": { + "$ref": "#/components/schemas/JettonPreview" + }, + "jetton_master_out": { + "$ref": "#/components/schemas/JettonPreview" + }, + "router": { + "$ref": "#/components/schemas/AccountAddress" + }, + "ton_in": { + "example": 1000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "ton_out": { + "example": 2000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "user_wallet": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "dex", + "amount_in", + "amount_out", + "user_wallet", + "router" + ], + "type": "object" + }, + "JettonTransferAction": { + "properties": { + "amount": { + "description": "amount in quanta of tokens", + "example": "1000000000", + "type": "string", + "x-js-format": "bigint" + }, + "comment": { + "example": "Hi! This is your salary. \nFrom accounting with love.", + "type": "string" + }, + "encrypted_comment": { + "$ref": "#/components/schemas/EncryptedComment" + }, + "jetton": { + "$ref": "#/components/schemas/JettonPreview" + }, + "recipient": { + "$ref": "#/components/schemas/AccountAddress" + }, + "recipients_wallet": { + "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", + "format": "address", + "type": "string" + }, + "refund": { + "$ref": "#/components/schemas/Refund" + }, + "sender": { + "$ref": "#/components/schemas/AccountAddress" + }, + "senders_wallet": { + "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", + "format": "address", + "type": "string" + } + }, + "required": [ + "amount", + "jetton", + "senders_wallet", + "recipients_wallet" + ], + "type": "object" + }, + "JettonTransferPayload": { + "properties": { + "custom_payload": { + "description": "hex-encoded BoC", + "example": "b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d", + "type": "string" + }, + "state_init": { + "description": "hex-encoded BoC", + "example": "b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d", + "type": "string" + } + }, + "required": [ + "payload" + ], + "type": "object" + }, + "JettonVerificationType": { + "enum": [ + "whitelist", + "blacklist", + "none" + ], + "type": "string" + }, + "Jettons": { + "properties": { + "jettons": { + "items": { + "$ref": "#/components/schemas/JettonInfo" + }, + "type": "array" + } + }, + "required": [ + "jettons" + ], + "type": "object" + }, + "JettonsBalances": { + "properties": { + "balances": { + "items": { + "$ref": "#/components/schemas/JettonBalance" + }, + "type": "array" + } + }, + "required": [ + "balances" + ], + "type": "object" + }, + "MarketTonRates": { + "properties": { + "last_date_update": { + "example": 1668436763, + "format": "int64", + "type": "integer" + }, + "market": { + "example": "OKX", + "type": "string" + }, + "usd_price": { + "example": 5.2, + "type": "number" + } + }, + "required": [ + "market", + "usd_price", + "last_date_update" + ], + "type": "object" + }, + "Message": { + "properties": { + "bounce": { + "example": true, + "type": "boolean" + }, + "bounced": { + "example": true, + "type": "boolean" + }, + "created_at": { + "example": 5681002, + "format": "int64", + "type": "integer" + }, + "created_lt": { + "example": 25713146000001, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "decoded_body": {}, + "decoded_op_name": { + "example": "nft_transfer", + "type": "string" + }, + "destination": { + "$ref": "#/components/schemas/AccountAddress" + }, + "fwd_fee": { + "example": 5681002, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "hash": { + "example": "1219de582369ac80ee1afe12147930f458a54ff1eea612611a8bc6bd31581a6c", + "type": "string" + }, + "ihr_disabled": { + "example": true, + "type": "boolean" + }, + "ihr_fee": { + "example": 5681002, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "import_fee": { + "example": 5681002, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "init": { + "$ref": "#/components/schemas/StateInit" + }, + "msg_type": { + "enum": [ + "int_msg", + "ext_in_msg", + "ext_out_msg" + ], + "example": "int_msg", + "type": "string" + }, + "op_code": { + "example": "0xdeadbeaf", + "type": "string", + "x-js-format": "bigint" + }, + "raw_body": { + "description": "hex-encoded BoC with raw message body", + "example": "B5EE9C7201010101001100001D00048656C6C6F2C20776F726C64218", + "format": "cell", + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/AccountAddress" + }, + "value": { + "example": 60000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "msg_type", + "created_lt", + "ihr_disabled", + "bounce", + "bounced", + "value", + "fwd_fee", + "ihr_fee", + "import_fee", + "created_at", + "hash" + ], + "type": "object" + }, + "MessageConsequences": { + "properties": { + "event": { + "$ref": "#/components/schemas/AccountEvent" + }, + "risk": { + "$ref": "#/components/schemas/Risk" + }, + "trace": { + "$ref": "#/components/schemas/Trace" + } + }, + "required": [ + "trace", + "risk", + "event" + ], + "type": "object" + }, + "MethodExecutionResult": { + "properties": { + "decoded": {}, + "exit_code": { + "description": "tvm exit code", + "example": 0, + "type": "integer" + }, + "stack": { + "items": { + "$ref": "#/components/schemas/TvmStackRecord" + }, + "type": "array" + }, + "success": { + "example": true, + "type": "boolean" + } + }, + "required": [ + "success", + "exit_code", + "stack" + ], + "type": "object" + }, + "MisbehaviourPunishmentConfig": { + "properties": { + "default_flat_fine": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "default_proportional_fine": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "long_flat_mult": { + "example": 1000000, + "type": "integer" + }, + "long_interval": { + "example": 1000000, + "type": "integer" + }, + "long_proportional_mult": { + "example": 1000000, + "type": "integer" + }, + "medium_flat_mult": { + "example": 1000000, + "type": "integer" + }, + "medium_interval": { + "example": 1000000, + "type": "integer" + }, + "medium_proportional_mult": { + "example": 1000000, + "type": "integer" + }, + "severity_flat_mult": { + "example": 1000000, + "type": "integer" + }, + "severity_proportional_mult": { + "example": 1000000, + "type": "integer" + }, + "unpunishable_interval": { + "example": 1000000, + "type": "integer" + } + }, + "required": [ + "default_flat_fine", + "default_proportional_fine", + "severity_flat_mult", + "severity_proportional_mult", + "unpunishable_interval", + "long_interval", + "long_flat_mult", + "long_proportional_mult", + "medium_interval", + "medium_flat_mult", + "medium_proportional_mult" + ], + "type": "object" + }, + "MsgForwardPrices": { + "properties": { + "bit_price": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "cell_price": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "first_frac": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "ihr_price_factor": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "lump_price": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "next_frac": { + "example": 1000000, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "lump_price", + "bit_price", + "cell_price", + "ihr_price_factor", + "first_frac", + "next_frac" + ], + "type": "object" + }, + "Multisig": { + "properties": { + "address": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "orders": { + "items": { + "$ref": "#/components/schemas/MultisigOrder" + }, + "type": "array" + }, + "proposers": { + "items": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "type": "array" + }, + "seqno": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "signers": { + "items": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "type": "array" + }, + "threshold": { + "format": "int32", + "type": "integer" + } + }, + "required": [ + "address", + "seqno", + "threshold", + "signers", + "proposers", + "orders" + ], + "type": "object" + }, + "MultisigOrder": { + "properties": { + "address": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "approvals_num": { + "format": "int32", + "type": "integer" + }, + "creation_date": { + "format": "int64", + "type": "integer" + }, + "expiration_date": { + "format": "int64", + "type": "integer" + }, + "order_seqno": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "risk": { + "$ref": "#/components/schemas/Risk" + }, + "sent_for_execution": { + "example": false, + "type": "boolean" + }, + "signed_by": { + "items": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "type": "array" + }, + "signers": { + "items": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "type": "array" + }, + "threshold": { + "format": "int32", + "type": "integer" + } + }, + "required": [ + "address", + "order_seqno", + "threshold", + "sent_for_execution", + "signers", + "approvals_num", + "expiration_date", + "risk", + "creation_date", + "signed_by" + ], + "type": "object" + }, + "Multisigs": { + "properties": { + "multisigs": { + "items": { + "$ref": "#/components/schemas/Multisig" + }, + "type": "array" + } + }, + "required": [ + "multisigs" + ], + "type": "object" + }, + "NftApprovedBy": { + "items": { + "enum": [ + "getgems", + "tonkeeper" + ], + "example": "getgems", + "type": "string" + }, + "type": "array" + }, + "NftCollection": { + "properties": { + "address": { + "example": "0:FD595F36B4C1535BEC8461490D38EBB9AE3C38DD6ACE17CA63ABE2C6608BE159", + "format": "address", + "type": "string" + }, + "approved_by": { + "$ref": "#/components/schemas/NftApprovedBy" + }, + "metadata": { + "additionalProperties": true, + "example": {}, + "type": "object" + }, + "next_item_index": { + "example": 1, + "format": "int64", + "type": "integer" + }, + "owner": { + "$ref": "#/components/schemas/AccountAddress" + }, + "previews": { + "items": { + "$ref": "#/components/schemas/ImagePreview" + }, + "type": "array" + }, + "raw_collection_content": { + "format": "cell", + "type": "string" + } + }, + "required": [ + "address", + "next_item_index", + "raw_collection_content", + "approved_by" + ], + "type": "object" + }, + "NftCollections": { + "properties": { + "nft_collections": { + "items": { + "$ref": "#/components/schemas/NftCollection" + }, + "type": "array" + } + }, + "required": [ + "nft_collections" + ], + "type": "object" + }, + "NftItem": { + "properties": { + "address": { + "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", + "format": "address", + "type": "string" + }, + "approved_by": { + "$ref": "#/components/schemas/NftApprovedBy", + "deprecated": true, + "description": "please use trust field" + }, + "collection": { + "properties": { + "address": { + "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", + "format": "address", + "type": "string" + }, + "description": { + "example": "Best collection in TON network", + "type": "string" + }, + "name": { + "example": "TON Diamonds", + "type": "string" + } + }, + "required": [ + "address", + "name", + "description" + ], + "type": "object" + }, + "dns": { + "example": "crypto.ton", + "type": "string" + }, + "include_cnft": { + "example": false, + "type": "boolean" + }, + "index": { + "example": 58, + "format": "int64", + "type": "integer" + }, + "metadata": { + "additionalProperties": true, + "example": {}, + "type": "object" + }, + "owner": { + "$ref": "#/components/schemas/AccountAddress" + }, + "previews": { + "items": { + "$ref": "#/components/schemas/ImagePreview" + }, + "type": "array" + }, + "sale": { + "$ref": "#/components/schemas/Sale" + }, + "trust": { + "$ref": "#/components/schemas/TrustType" + }, + "verified": { + "description": "Collection master contract confirmed that this item is part of collection", + "example": true, + "type": "boolean" + } + }, + "required": [ + "address", + "index", + "verified", + "metadata", + "approved_by", + "trust" + ], + "type": "object" + }, + "NftItemTransferAction": { + "properties": { + "comment": { + "example": "Hi! This is your salary. \nFrom accounting with love.", + "type": "string" + }, + "encrypted_comment": { + "$ref": "#/components/schemas/EncryptedComment" + }, + "nft": { + "example": "", + "type": "string" + }, + "payload": { + "description": "raw hex encoded payload", + "example": "0234de3e21d21b3ee21f3", + "type": "string" + }, + "recipient": { + "$ref": "#/components/schemas/AccountAddress" + }, + "refund": { + "$ref": "#/components/schemas/Refund" + }, + "sender": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "nft" + ], + "type": "object" + }, + "NftItems": { + "properties": { + "nft_items": { + "items": { + "$ref": "#/components/schemas/NftItem" + }, + "type": "array" + } + }, + "required": [ + "nft_items" + ], + "type": "object" + }, + "NftPurchaseAction": { + "properties": { + "amount": { + "$ref": "#/components/schemas/Price" + }, + "auction_type": { + "enum": [ + "DNS.ton", + "DNS.tg", + "NUMBER.tg", + "getgems" + ], + "type": "string" + }, + "buyer": { + "$ref": "#/components/schemas/AccountAddress" + }, + "nft": { + "$ref": "#/components/schemas/NftItem" + }, + "seller": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "amount", + "seller", + "buyer", + "auction_type", + "nft" + ], + "type": "object" + }, + "Oracle": { + "properties": { + "address": { + "example": "0:55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", + "format": "address", + "type": "string" + }, + "secp_pubkey": { + "example": "00000000000000000000000017dcab1b1481610f6c7a7a98cf0370dc0ec704a6", + "type": "string" + } + }, + "required": [ + "address", + "secp_pubkey" + ], + "type": "object" + }, + "OracleBridgeParams": { + "properties": { + "bridge_addr": { + "format": "address", + "type": "string" + }, + "external_chain_address": { + "type": "string" + }, + "oracle_multisig_address": { + "format": "address", + "type": "string" + }, + "oracles": { + "items": { + "$ref": "#/components/schemas/Oracle" + }, + "type": "array" + } + }, + "required": [ + "bridge_addr", + "oracle_multisig_address", + "external_chain_address", + "oracles" + ], + "type": "object" + }, + "PoolImplementation": { + "properties": { + "description": { + "example": "Oldest pool with minimal staking amount 50 TON", + "type": "string" + }, + "name": { + "example": "TON Whales", + "type": "string" + }, + "socials": { + "items": { + "example": "https://t.me/tonwhales", + "type": "string" + }, + "type": "array" + }, + "url": { + "example": "https://tonvalidators.org/", + "type": "string" + } + }, + "required": [ + "name", + "description", + "url", + "socials" + ], + "type": "object" + }, + "PoolImplementationType": { + "enum": [ + "whales", + "tf", + "liquidTF" + ], + "type": "string" + }, + "PoolInfo": { + "properties": { + "address": { + "example": "0:48fb0195a7fc7454512377b9bd704503ded27f6e7c4c4a9d136fdab3ef9ec04c", + "format": "address", + "type": "string" + }, + "apy": { + "description": "APY in percent", + "example": 5.31, + "type": "number" + }, + "current_nominators": { + "description": "current number of nominators", + "example": 10, + "type": "integer" + }, + "cycle_end": { + "description": "current nomination cycle ending timestamp", + "example": 1678223064, + "format": "int64", + "type": "integer" + }, + "cycle_length": { + "format": "int64", + "type": "integer" + }, + "cycle_start": { + "description": "current nomination cycle beginning timestamp", + "example": 1678223064, + "format": "int64", + "type": "integer" + }, + "implementation": { + "$ref": "#/components/schemas/PoolImplementationType" + }, + "liquid_jetton_master": { + "description": "for liquid staking master account of jetton", + "example": "0:4a91d32d0289bda9813ae00ff7640e6c38fdce76e4583dd6afc463b70c7d767c", + "format": "address", + "type": "string" + }, + "max_nominators": { + "description": "maximum number of nominators", + "example": 100, + "type": "integer" + }, + "min_stake": { + "example": 5000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "name": { + "example": "Tonkeeper pool", + "type": "string" + }, + "nominators_stake": { + "description": "total stake of all nominators", + "example": 5000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "total_amount": { + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "validator_stake": { + "description": "stake of validator", + "example": 5000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "verified": { + "description": "this pool has verified source code or managed by trusted company", + "example": true, + "type": "boolean" + } + }, + "required": [ + "address", + "total_amount", + "implementation", + "apy", + "name", + "min_stake", + "cycle_start", + "cycle_end", + "verified", + "current_nominators", + "max_nominators", + "nominators_stake", + "validator_stake" + ], + "type": "object" + }, + "Price": { + "properties": { + "token_name": { + "example": "TON", + "type": "string" + }, + "value": { + "example": "123000000000", + "type": "string", + "x-js-format": "bigint" + } + }, + "required": [ + "value", + "token_name" + ], + "type": "object" + }, + "RawBlockchainConfig": { + "properties": { + "config": { + "additionalProperties": true, + "example": {}, + "type": "object" + } + }, + "required": [ + "config" + ], + "type": "object" + }, + "ReducedBlock": { + "properties": { + "master_ref": { + "example": "(-1,4234234,8000000000000000)", + "type": "string" + }, + "parent": { + "items": { + "example": "[ (0,21734018,8000000000000000) ]", + "type": "string" + }, + "type": "array" + }, + "seqno": { + "example": 21734019, + "format": "int32", + "type": "integer" + }, + "shard": { + "example": "8000000000000000", + "type": "string" + }, + "shards_blocks": { + "items": { + "example": "[ (0,4234235,8000000000000000) ]", + "type": "string" + }, + "type": "array" + }, + "tx_quantity": { + "example": 130, + "type": "integer" + }, + "utime": { + "example": 23814011000000, + "format": "int64", + "type": "integer" + }, + "workchain_id": { + "example": 0, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "workchain_id", + "shard", + "seqno", + "tx_quantity", + "utime", + "shards_blocks", + "parent" + ], + "type": "object" + }, + "ReducedBlocks": { + "properties": { + "blocks": { + "items": { + "$ref": "#/components/schemas/ReducedBlock" + }, + "type": "array" + } + }, + "required": [ + "blocks" + ], + "type": "object" + }, + "Refund": { + "properties": { + "origin": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "type": "string" + }, + "type": { + "enum": [ + "DNS.ton", + "DNS.tg", + "GetGems" + ], + "example": "DNS.ton", + "type": "string" + } + }, + "required": [ + "type", + "origin" + ], + "type": "object" + }, + "Risk": { + "description": "Risk specifies assets that could be lost if a message would be sent to a malicious smart contract. It makes sense to understand the risk BEFORE sending a message to the blockchain.", + "properties": { + "jettons": { + "items": { + "$ref": "#/components/schemas/JettonQuantity" + }, + "type": "array" + }, + "nfts": { + "items": { + "$ref": "#/components/schemas/NftItem" + }, + "type": "array" + }, + "ton": { + "example": 500, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "transfer_all_remaining_balance": { + "description": "transfer all the remaining balance of the wallet.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "transfer_all_remaining_balance", + "ton", + "jettons", + "nfts" + ], + "type": "object" + }, + "Sale": { + "properties": { + "address": { + "example": "0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365", + "format": "address", + "type": "string" + }, + "market": { + "$ref": "#/components/schemas/AccountAddress" + }, + "owner": { + "$ref": "#/components/schemas/AccountAddress" + }, + "price": { + "$ref": "#/components/schemas/Price" + } + }, + "required": [ + "address", + "market", + "price" + ], + "type": "object" + }, + "Seqno": { + "properties": { + "seqno": { + "format": "int32", + "type": "integer" + } + }, + "required": [ + "seqno" + ], + "type": "object" + }, + "ServiceStatus": { + "properties": { + "indexing_latency": { + "example": 100, + "type": "integer" + }, + "last_known_masterchain_seqno": { + "example": 123456, + "format": "int32", + "type": "integer" + }, + "rest_online": { + "default": true, + "type": "boolean" + } + }, + "required": [ + "indexing_latency", + "rest_online", + "last_known_masterchain_seqno" + ], + "type": "object" + }, + "SignRawMessage": { + "properties": { + "address": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "amount": { + "description": "Number of nanocoins to send. Decimal string.", + "type": "string" + }, + "payload": { + "description": "Raw one-cell BoC encoded in hex.", + "format": "cell", + "type": "string" + }, + "stateInit": { + "description": "Raw once-cell BoC encoded in hex.", + "format": "cell", + "type": "string" + } + }, + "required": [ + "address", + "amount" + ], + "type": "object" + }, + "SignRawParams": { + "properties": { + "commission": { + "description": "Commission for the transaction. In nanocoins.", + "example": "1000000", + "type": "string", + "x-js-format": "bigint" + }, + "from": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "messages": { + "items": { + "$ref": "#/components/schemas/SignRawMessage" + }, + "type": "array" + }, + "relay_address": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "valid_until": { + "example": 1717397217, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "messages", + "relay_address", + "commission", + "from", + "valid_until" + ], + "type": "object" + }, + "SizeLimitsConfig": { + "properties": { + "max_acc_state_bits": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "max_acc_state_cells": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "max_ext_msg_depth": { + "example": 1000000, + "format": "int", + "type": "integer" + }, + "max_ext_msg_size": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "max_library_cells": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "max_msg_bits": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "max_msg_cells": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "max_vm_data_depth": { + "example": 1000000, + "format": "int", + "type": "integer" + } + }, + "required": [ + "max_msg_bits", + "max_msg_cells", + "max_library_cells", + "max_vm_data_depth", + "max_ext_msg_size", + "max_ext_msg_depth" + ], + "type": "object" + }, + "SmartContractAction": { + "properties": { + "contract": { + "$ref": "#/components/schemas/AccountAddress" + }, + "executor": { + "$ref": "#/components/schemas/AccountAddress" + }, + "operation": { + "example": "NftTransfer or 0x35d95a12", + "type": "string" + }, + "payload": { + "type": "string" + }, + "refund": { + "$ref": "#/components/schemas/Refund" + }, + "ton_attached": { + "description": "amount in nanotons", + "example": 123456789, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "executor", + "contract", + "ton_attached", + "operation" + ], + "type": "object" + }, + "StateInit": { + "properties": { + "boc": { + "example": "b5ee9c72010106010044000114ff00f4a413f4bcf2c80b01020120020302014804050004f2300038d06c21d31f30ed44d0d33f3001c00197a4c8cb3fc9ed549330f206e20011a13431da89a1a67e61", + "format": "cell", + "type": "string" + }, + "interfaces": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "boc", + "interfaces" + ], + "type": "object" + }, + "StoragePhase": { + "properties": { + "fees_collected": { + "example": 25713146000001, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "fees_due": { + "example": 25713146000001, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "status_change": { + "$ref": "#/components/schemas/AccStatusChange" + } + }, + "required": [ + "fees_collected", + "status_change" + ], + "type": "object" + }, + "StorageProvider": { + "properties": { + "accept_new_contracts": { + "example": true, + "type": "boolean" + }, + "address": { + "example": "0:FD595F36B4C1535BEC8461490D38EBB9AE3C38DD6ACE17CA63ABE2C6608BE159", + "format": "address", + "type": "string" + }, + "max_span": { + "example": 604800, + "format": "int64", + "type": "integer" + }, + "maximal_file_size": { + "example": 10485760, + "format": "int64", + "type": "integer" + }, + "minimal_file_size": { + "example": 64, + "format": "int64", + "type": "integer" + }, + "rate_per_mb_day": { + "example": 50000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "address", + "accept_new_contracts", + "rate_per_mb_day", + "max_span", + "minimal_file_size", + "maximal_file_size" + ], + "type": "object" + }, + "Subscription": { + "properties": { + "address": { + "example": "0:dea8f638b789172ce36d10a20318125e52c649aa84893cd77858224fe2b9b0ee", + "format": "address", + "type": "string" + }, + "amount": { + "example": 1000000000, + "format": "int64", + "type": "integer" + }, + "beneficiary_address": { + "example": "0:c704dadfabac88eab58e340de03080df81ff76636431f48624ad6e26fb2da0a4", + "format": "address", + "type": "string" + }, + "failed_attempts": { + "example": 0, + "format": "int32", + "type": "integer" + }, + "last_payment_time": { + "example": 1653996834, + "format": "int64", + "type": "integer" + }, + "last_request_time": { + "example": 0, + "format": "int64", + "type": "integer" + }, + "period": { + "example": 2592000, + "format": "int64", + "type": "integer" + }, + "start_time": { + "example": 1653996832, + "format": "int64", + "type": "integer" + }, + "subscription_id": { + "example": 217477, + "format": "int64", + "type": "integer" + }, + "timeout": { + "example": 10800, + "format": "int64", + "type": "integer" + }, + "wallet_address": { + "example": "0:567DE86AF2B6A557D7085807CF7C26338124987A5179344F0D0FA2657EB710F1", + "format": "address", + "type": "string" + } + }, + "required": [ + "address", + "wallet_address", + "beneficiary_address", + "amount", + "period", + "start_time", + "timeout", + "last_payment_time", + "last_request_time", + "subscription_id", + "failed_attempts" + ], + "type": "object" + }, + "SubscriptionAction": { + "properties": { + "amount": { + "example": 1000000000, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "beneficiary": { + "$ref": "#/components/schemas/AccountAddress" + }, + "initial": { + "example": false, + "type": "boolean" + }, + "subscriber": { + "$ref": "#/components/schemas/AccountAddress" + }, + "subscription": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + } + }, + "required": [ + "subscriber", + "subscription", + "beneficiary", + "amount", + "initial" + ], + "type": "object" + }, + "Subscriptions": { + "properties": { + "subscriptions": { + "items": { + "$ref": "#/components/schemas/Subscription" + }, + "type": "array" + } + }, + "required": [ + "subscriptions" + ], + "type": "object" + }, + "TokenRates": { + "properties": { + "diff_24h": { + "additionalProperties": { + "type": "string" + }, + "example": { + "TON": "-1.28%" + }, + "type": "object" + }, + "diff_30d": { + "additionalProperties": { + "type": "string" + }, + "example": { + "TON": "-0.56%" + }, + "type": "object" + }, + "diff_7d": { + "additionalProperties": { + "type": "string" + }, + "example": { + "TON": "-2.74%" + }, + "type": "object" + }, + "prices": { + "additionalProperties": { + "type": "number" + }, + "example": { + "TON": 1.3710752873163712 + }, + "type": "object" + } + }, + "type": "object" + }, + "TonTransferAction": { + "properties": { + "amount": { + "description": "amount in nanotons", + "example": 123456789, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "comment": { + "example": "Hi! This is your salary. \nFrom accounting with love.", + "type": "string" + }, + "encrypted_comment": { + "$ref": "#/components/schemas/EncryptedComment" + }, + "recipient": { + "$ref": "#/components/schemas/AccountAddress" + }, + "refund": { + "$ref": "#/components/schemas/Refund" + }, + "sender": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "sender", + "recipient", + "amount" + ], + "type": "object" + }, + "Trace": { + "properties": { + "children": { + "items": { + "$ref": "#/components/schemas/Trace" + }, + "type": "array" + }, + "emulated": { + "example": false, + "type": "boolean" + }, + "interfaces": { + "example": [ + "wallet", + "tep62_item" + ], + "items": { + "type": "string" + }, + "type": "array" + }, + "transaction": { + "$ref": "#/components/schemas/Transaction" + } + }, + "required": [ + "transaction", + "interfaces" + ], + "type": "object" + }, + "TraceID": { + "properties": { + "id": { + "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", + "type": "string" + }, + "utime": { + "example": 1645544908, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "id", + "utime" + ], + "type": "object" + }, + "TraceIDs": { + "properties": { + "traces": { + "items": { + "$ref": "#/components/schemas/TraceID" + }, + "type": "array" + } + }, + "required": [ + "traces" + ], + "type": "object" + }, + "Transaction": { + "properties": { + "aborted": { + "example": true, + "type": "boolean" + }, + "account": { + "$ref": "#/components/schemas/AccountAddress" + }, + "action_phase": { + "$ref": "#/components/schemas/ActionPhase" + }, + "block": { + "example": "(-1,4234234,8000000000000000)", + "type": "string" + }, + "bounce_phase": { + "$ref": "#/components/schemas/BouncePhaseType" + }, + "compute_phase": { + "$ref": "#/components/schemas/ComputePhase" + }, + "credit_phase": { + "$ref": "#/components/schemas/CreditPhase" + }, + "destroyed": { + "example": true, + "type": "boolean" + }, + "end_balance": { + "example": 25713146000001, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "end_status": { + "$ref": "#/components/schemas/AccountStatus" + }, + "hash": { + "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", + "type": "string" + }, + "in_msg": { + "$ref": "#/components/schemas/Message" + }, + "lt": { + "example": 25713146000001, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "orig_status": { + "$ref": "#/components/schemas/AccountStatus" + }, + "out_msgs": { + "items": { + "$ref": "#/components/schemas/Message" + }, + "type": "array" + }, + "prev_trans_hash": { + "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", + "type": "string" + }, + "prev_trans_lt": { + "example": 25713146000001, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "raw": { + "description": "hex encoded boc with raw transaction", + "example": "b5ee9c72410206010001380003b372cf3b5b8c891e517c9addbda1c0386a09ccacbb0e3faf630b51cfc8152325acb00002ac5795c0e41fdf79135cb7da03cc623b165d614b562a51eeccd8a5e097f405abf6b37f4e73000002ac5629732c1666887ed000144030480102030101a004008272abc8f2971aa4404ac6da1597720f348b2e1247b1ad9f55cbd3b6812f0a5f08b269bb65039fb1f6074d00f794e857f6dfd01131d299df456af10a8a4943d4d165000d0c80608840492001ab48015581f575c3b8c6ab3d6", + "format": "cell", + "type": "string" + }, + "state_update_new": { + "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", + "type": "string" + }, + "state_update_old": { + "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", + "type": "string" + }, + "storage_phase": { + "$ref": "#/components/schemas/StoragePhase" + }, + "success": { + "example": true, + "type": "boolean" + }, + "total_fees": { + "example": 25713146000001, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "transaction_type": { + "$ref": "#/components/schemas/TransactionType" + }, + "utime": { + "example": 1645544908, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "hash", + "lt", + "account", + "end_balance", + "success", + "utime", + "orig_status", + "end_status", + "total_fees", + "transaction_type", + "state_update_old", + "state_update_new", + "out_msgs", + "block", + "aborted", + "destroyed", + "raw" + ], + "type": "object" + }, + "TransactionType": { + "enum": [ + "TransOrd", + "TransTickTock", + "TransSplitPrepare", + "TransSplitInstall", + "TransMergePrepare", + "TransMergeInstall", + "TransStorage" + ], + "example": "TransOrd", + "type": "string" + }, + "Transactions": { + "properties": { + "transactions": { + "items": { + "$ref": "#/components/schemas/Transaction" + }, + "type": "array" + } + }, + "required": [ + "transactions" + ], + "type": "object" + }, + "TrustType": { + "enum": [ + "whitelist", + "graylist", + "blacklist", + "none" + ], + "example": "whitelist", + "type": "string" + }, + "TvmStackRecord": { + "format": "tuple-item", + "properties": { + "cell": { + "format": "cell", + "type": "string" + }, + "num": { + "example": "", + "type": "string" + }, + "slice": { + "format": "cell", + "type": "string" + }, + "tuple": { + "example": [], + "items": { + "$ref": "#/components/schemas/TvmStackRecord" + }, + "type": "array" + }, + "type": { + "enum": [ + "cell", + "num", + "nan", + "null", + "tuple" + ], + "example": "cell", + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "UnSubscriptionAction": { + "properties": { + "beneficiary": { + "$ref": "#/components/schemas/AccountAddress" + }, + "subscriber": { + "$ref": "#/components/schemas/AccountAddress" + }, + "subscription": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + } + }, + "required": [ + "subscriber", + "subscription", + "beneficiary" + ], + "type": "object" + }, + "Validator": { + "properties": { + "address": { + "example": "0:55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", + "format": "address", + "type": "string" + }, + "adnl_address": { + "example": "10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365", + "type": "string" + }, + "max_factor": { + "example": 123456789, + "format": "int64", + "type": "integer" + }, + "stake": { + "example": 123456789, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "address", + "adnl_address", + "stake", + "max_factor" + ], + "type": "object" + }, + "Validators": { + "properties": { + "elect_at": { + "example": 123456789, + "format": "int64", + "type": "integer" + }, + "elect_close": { + "example": 123456789, + "format": "int64", + "type": "integer" + }, + "min_stake": { + "example": 123456789, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "total_stake": { + "example": 123456789, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "validators": { + "items": { + "$ref": "#/components/schemas/Validator" + }, + "type": "array" + } + }, + "required": [ + "validators", + "elect_at", + "elect_close", + "min_stake", + "total_stake" + ], + "type": "object" + }, + "ValidatorsSet": { + "properties": { + "list": { + "items": { + "properties": { + "adnl_addr": { + "example": "45061C1D4EC44A937D0318589E13C73D151D1CEF5D3C0E53AFBCF56A6C2FE2BD", + "type": "string" + }, + "public_key": { + "type": "string" + }, + "weight": { + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "public_key", + "weight" + ], + "type": "object" + }, + "type": "array" + }, + "main": { + "type": "integer" + }, + "total": { + "type": "integer" + }, + "total_weight": { + "example": "1152921504606846800", + "type": "string", + "x-js-format": "bigint" + }, + "utime_since": { + "type": "integer" + }, + "utime_until": { + "type": "integer" + } + }, + "required": [ + "utime_since", + "utime_until", + "total", + "main", + "list" + ], + "type": "object" + }, + "ValueFlow": { + "properties": { + "account": { + "$ref": "#/components/schemas/AccountAddress" + }, + "fees": { + "example": 10, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "jettons": { + "items": { + "properties": { + "account": { + "$ref": "#/components/schemas/AccountAddress" + }, + "jetton": { + "$ref": "#/components/schemas/JettonPreview" + }, + "quantity": { + "example": 10, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "account", + "quantity", + "jetton" + ], + "type": "object" + }, + "type": "array" + }, + "ton": { + "example": 80, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + "required": [ + "account", + "ton", + "fees" + ], + "type": "object" + }, + "WalletDNS": { + "properties": { + "account": { + "$ref": "#/components/schemas/AccountAddress" + }, + "address": { + "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", + "format": "address", + "type": "string" + }, + "has_method_pubkey": { + "example": true, + "type": "boolean" + }, + "has_method_seqno": { + "example": true, + "type": "boolean" + }, + "is_wallet": { + "example": true, + "type": "boolean" + }, + "names": { + "items": { + "example": "name", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "address", + "is_wallet", + "has_method_pubkey", + "has_method_seqno", + "names", + "account" + ], + "type": "object" + }, + "WithdrawStakeAction": { + "description": "validator's participation in elections", + "properties": { + "amount": { + "example": 1660050553, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "implementation": { + "$ref": "#/components/schemas/PoolImplementationType" + }, + "pool": { + "$ref": "#/components/schemas/AccountAddress" + }, + "staker": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "amount", + "staker", + "pool", + "implementation" + ], + "type": "object" + }, + "WithdrawStakeRequestAction": { + "description": "validator's participation in elections", + "properties": { + "amount": { + "example": 1660050553, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "implementation": { + "$ref": "#/components/schemas/PoolImplementationType" + }, + "pool": { + "$ref": "#/components/schemas/AccountAddress" + }, + "staker": { + "$ref": "#/components/schemas/AccountAddress" + } + }, + "required": [ + "staker", + "pool", + "implementation" + ], + "type": "object" + }, + "WorkchainDescr": { + "properties": { + "accept_msgs": { + "example": true, + "type": "boolean" + }, + "active": { + "example": true, + "type": "boolean" + }, + "actual_min_split": { + "example": 1000000, + "format": "int", + "type": "integer" + }, + "basic": { + "example": 1000000, + "type": "integer" + }, + "enabled_since": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "flags": { + "example": 1000000, + "format": "int", + "type": "integer" + }, + "max_split": { + "example": 1000000, + "format": "int", + "type": "integer" + }, + "min_split": { + "example": 1000000, + "format": "int", + "type": "integer" + }, + "version": { + "example": 1000000, + "format": "int64", + "type": "integer" + }, + "workchain": { + "example": 0, + "format": "int", + "type": "integer" + }, + "zerostate_file_hash": { + "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", + "type": "string" + }, + "zerostate_root_hash": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + } + }, + "required": [ + "workchain", + "enabled_since", + "actual_min_split", + "min_split", + "max_split", + "basic", + "active", + "accept_msgs", + "flags", + "zerostate_root_hash", + "zerostate_file_hash", + "version" + ], + "type": "object" + } + } + }, + "info": { + "contact": { + "email": "support@tonkeeper.com", + "name": "Support" + }, + "description": "Provide access to indexed TON blockchain", + "title": "REST api to TON blockchain explorer", + "version": "2.0.0" + }, + "openapi": "3.1.0", + "paths": { + "/v2/accounts/_bulk": { + "post": { + "description": "Get human-friendly information about several accounts without low-level details.", + "operationId": "getAccounts", + "parameters": [ + { + "$ref": "#/components/parameters/currencyQuery" + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/AccountIDs" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Accounts" + } + } + }, + "description": "a list of accounts" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/search": { + "get": { + "description": "Search by account domain name", + "operationId": "searchAccounts", + "parameters": [ + { + "in": "query", + "name": "name", + "required": true, + "schema": { + "maxLength": 15, + "minLength": 3, + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FoundAccounts" + } + } + }, + "description": "found accounts" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}": { + "get": { + "description": "Get human-friendly information about an account without low-level details.", + "operationId": "getAccount", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Account" + } + } + }, + "description": "account" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/diff": { + "get": { + "description": "Get account's balance change", + "operationId": "getAccountDiff", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "in": "query", + "name": "start_date", + "required": true, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + }, + { + "in": "query", + "name": "end_date", + "required": true, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "balance_change": { + "example": 1000000000, + "format": "int64", + "type": "integer" + } + }, + "required": [ + "balance_change" + ], + "type": "object" + } + } + }, + "description": "account's balance change" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/dns/backresolve": { + "get": { + "description": "Get account's domains", + "operationId": "accountDnsBackResolve", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DomainNames" + } + } + }, + "description": "account's domains" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/dns/expiring": { + "get": { + "description": "Get expiring account .ton dns", + "operationId": "getAccountDnsExpiring", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/periodQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DnsExpiring" + } + } + }, + "description": "account's expiring .ton dns" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/events": { + "get": { + "description": "Get events for an account. Each event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time.", + "operationId": "getAccountEvents", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/i18n" + }, + { + "$ref": "#/components/parameters/initiatorQuery" + }, + { + "description": "filter actions where requested account is not real subject (for example sender or receiver jettons)", + "in": "query", + "name": "subject_only", + "required": false, + "schema": { + "default": false, + "type": "boolean" + } + }, + { + "description": "omit this parameter to get last events", + "in": "query", + "name": "before_lt", + "required": false, + "schema": { + "example": 25758317000002, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + { + "in": "query", + "name": "limit", + "required": true, + "schema": { + "example": 20, + "maximum": 100, + "minimum": 1, + "type": "integer" + } + }, + { + "in": "query", + "name": "start_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + }, + { + "in": "query", + "name": "end_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountEvents" + } + } + }, + "description": "account's events" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/events/emulate": { + "post": { + "description": "Emulate sending message to blockchain", + "operationId": "emulateMessageToAccountEvent", + "parameters": [ + { + "$ref": "#/components/parameters/i18n" + }, + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "in": "query", + "name": "ignore_signature_check", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/Boc" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountEvent" + } + } + }, + "description": "emulated message to account" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Emulation", + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/events/{event_id}": { + "get": { + "description": "Get event for an account by event_id", + "operationId": "getAccountEvent", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/eventIDParameter" + }, + { + "$ref": "#/components/parameters/i18n" + }, + { + "description": "filter actions where requested account is not real subject (for example sender or receiver jettons)", + "in": "query", + "name": "subject_only", + "required": false, + "schema": { + "default": false, + "type": "boolean" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountEvent" + } + } + }, + "description": "account's event" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/jettons": { + "get": { + "description": "Get all Jettons balances by owner address", + "operationId": "getAccountJettonsBalances", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/currenciesQuery" + }, + { + "$ref": "#/components/parameters/supportedExtensions" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JettonsBalances" + } + } + }, + "description": "account jettons balances" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/jettons/history": { + "get": { + "description": "Get the transfer jettons history for account", + "operationId": "getAccountJettonsHistory", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/i18n" + }, + { + "description": "omit this parameter to get last events", + "in": "query", + "name": "before_lt", + "required": false, + "schema": { + "example": 25758317000002, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + { + "in": "query", + "name": "limit", + "required": true, + "schema": { + "example": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "in": "query", + "name": "start_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + }, + { + "in": "query", + "name": "end_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountEvents" + } + } + }, + "description": "account jettons history" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/jettons/{jetton_id}": { + "get": { + "description": "Get Jetton balance by owner address", + "operationId": "getAccountJettonBalance", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/jettonIDParameter" + }, + { + "$ref": "#/components/parameters/currenciesQuery" + }, + { + "$ref": "#/components/parameters/supportedExtensions" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JettonBalance" + } + } + }, + "description": "account jetton balance" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/jettons/{jetton_id}/history": { + "get": { + "description": "Get the transfer jetton history for account and jetton", + "operationId": "getAccountJettonHistoryByID", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/jettonIDParameter" + }, + { + "$ref": "#/components/parameters/i18n" + }, + { + "description": "omit this parameter to get last events", + "in": "query", + "name": "before_lt", + "required": false, + "schema": { + "example": 25758317000002, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + { + "in": "query", + "name": "limit", + "required": true, + "schema": { + "example": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "in": "query", + "name": "start_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + }, + { + "in": "query", + "name": "end_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountEvents" + } + } + }, + "description": "account jetton history" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/multisigs": { + "get": { + "description": "Get account's multisigs", + "operationId": "getAccountMultisigs", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Multisigs" + } + } + }, + "description": "account's multisigs" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/nfts": { + "get": { + "description": "Get all NFT items by owner address", + "operationId": "getAccountNftItems", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/collectionQuery" + }, + { + "$ref": "#/components/parameters/limitQuery" + }, + { + "$ref": "#/components/parameters/offsetQuery" + }, + { + "description": "Selling nft items in ton implemented usually via transfer items to special selling account. This option enables including items which owned not directly.", + "in": "query", + "name": "indirect_ownership", + "required": false, + "schema": { + "default": false, + "type": "boolean" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NftItems" + } + } + }, + "description": "account nft items" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/nfts/history": { + "get": { + "description": "Get the transfer nft history", + "operationId": "getAccountNftHistory", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/i18n" + }, + { + "description": "omit this parameter to get last events", + "in": "query", + "name": "before_lt", + "required": false, + "schema": { + "example": 25758317000002, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + { + "in": "query", + "name": "limit", + "required": true, + "schema": { + "example": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "in": "query", + "name": "start_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + }, + { + "in": "query", + "name": "end_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountEvents" + } + } + }, + "description": "nft history" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "NFT" + ], + "x-question": "duplicate of getNftHistoryByID ?" + } + }, + "/v2/accounts/{account_id}/publickey": { + "get": { + "description": "Get public key by account id", + "operationId": "getAccountPublicKey", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "public_key": { + "example": "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3...", + "type": "string" + } + }, + "required": [ + "public_key" + ], + "type": "object" + } + } + }, + "description": "account's public key" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/reindex": { + "post": { + "description": "Update internal cache for a particular account", + "operationId": "reindexAccount", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "description": "success" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/subscriptions": { + "get": { + "description": "Get all subscriptions by wallet address", + "operationId": "getAccountSubscriptions", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Subscriptions" + } + } + }, + "description": "account's subscriptions" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/accounts/{account_id}/traces": { + "get": { + "description": "Get traces for account", + "operationId": "getAccountTraces", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "description": "omit this parameter to get last events", + "in": "query", + "name": "before_lt", + "required": false, + "schema": { + "example": 25758317000002, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + { + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "example": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TraceIDs" + } + } + }, + "description": "account's traces" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Accounts" + ] + } + }, + "/v2/address/{account_id}/parse": { + "get": { + "description": "parse address and display in all formats", + "operationId": "addressParse", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "bounceable": { + "properties": { + "b64": { + "type": "string" + }, + "b64url": { + "type": "string" + } + }, + "required": [ + "b64", + "b64url" + ], + "type": "object" + }, + "given_type": { + "type": "string" + }, + "non_bounceable": { + "properties": { + "b64": { + "type": "string" + }, + "b64url": { + "type": "string" + } + }, + "required": [ + "b64", + "b64url" + ], + "type": "object" + }, + "raw_form": { + "example": "0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e", + "format": "address", + "type": "string" + }, + "test_only": { + "type": "boolean" + } + }, + "required": [ + "raw_form", + "bounceable", + "non_bounceable", + "given_type", + "test_only" + ], + "type": "object" + } + } + }, + "description": "all forms and info" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Utilities" + ] + } + }, + "/v2/blockchain/accounts/{account_id}": { + "get": { + "description": "Get low-level information about an account taken directly from the blockchain.", + "operationId": "getBlockchainRawAccount", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlockchainRawAccount" + } + } + }, + "description": "raw account" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/accounts/{account_id}/inspect": { + "get": { + "description": "Blockchain account inspect", + "operationId": "blockchainAccountInspect", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlockchainAccountInspect" + } + } + }, + "description": "blockchain account inspect" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/accounts/{account_id}/methods/{method_name}": { + "get": { + "description": "Execute get method for account", + "operationId": "execGetMethodForBlockchainAccount", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/methodNameParameter" + }, + { + "in": "query", + "name": "args", + "required": false, + "schema": { + "description": "Supported values:\n\"NaN\" for NaN type, \n\"Null\" for Null type, \n10-base digits for tiny int type (Example: 100500), \n0x-prefixed hex digits for int257 (Example: 0xfa01d78381ae32), \nall forms of addresses for slice type (Example: 0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e), \nsingle-root base64-encoded BOC for cell (Example: \"te6ccgEBAQEAAgAAAA==\"),\nsingle-root hex-encoded BOC for slice (Example: b5ee9c72010101010002000000)", + "example": [ + "0:9a33970f617bcd71acf2cd28357c067aa31859c02820d8f01d74c88063a8f4d8" + ], + "items": { + "type": "string" + }, + "type": "array" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MethodExecutionResult" + } + } + }, + "description": "method execution result" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/accounts/{account_id}/transactions": { + "get": { + "description": "Get account transactions", + "operationId": "getBlockchainAccountTransactions", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "description": "omit this parameter to get last transactions", + "in": "query", + "name": "after_lt", + "schema": { + "example": 39787624000003, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + { + "description": "omit this parameter to get last transactions", + "in": "query", + "name": "before_lt", + "schema": { + "example": 39787624000003, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + { + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "example": 100, + "format": "int32", + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "in": "query", + "name": "sort_order", + "schema": { + "default": "desc", + "description": "used to sort the result-set in ascending or descending order by lt.", + "enum": [ + "desc", + "asc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Transactions" + } + } + }, + "description": "blockchain account transactions" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/blocks/{block_id}": { + "get": { + "description": "Get blockchain block data", + "operationId": "getBlockchainBlock", + "parameters": [ + { + "$ref": "#/components/parameters/blockchainBlockIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlockchainBlock" + } + } + }, + "description": "blockchain block" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/blocks/{block_id}/transactions": { + "get": { + "description": "Get transactions from block", + "operationId": "getBlockchainBlockTransactions", + "parameters": [ + { + "$ref": "#/components/parameters/blockchainBlockIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Transactions" + } + } + }, + "description": "blockchain block transactions" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/config": { + "get": { + "description": "Get blockchain config", + "operationId": "getBlockchainConfig", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlockchainConfig" + } + } + }, + "description": "blockchain config" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/config/raw": { + "get": { + "description": "Get raw blockchain config", + "operationId": "getRawBlockchainConfig", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RawBlockchainConfig" + } + } + }, + "description": "blockchain config" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/masterchain-head": { + "get": { + "description": "Get last known masterchain block", + "operationId": "getBlockchainMasterchainHead", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlockchainBlock" + } + } + }, + "description": "blockchain masterchain head" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/masterchain/{masterchain_seqno}/blocks": { + "get": { + "description": "Get all blocks in all shards and workchains between target and previous masterchain block according to shards last blocks snapshot in masterchain. We don't recommend to build your app around this method because it has problem with scalability and will work very slow in the future.", + "operationId": "getBlockchainMasterchainBlocks", + "parameters": [ + { + "$ref": "#/components/parameters/masterchainSeqno" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlockchainBlocks" + } + } + }, + "description": "blockchain blocks" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/masterchain/{masterchain_seqno}/config": { + "get": { + "description": "Get blockchain config from a specific block, if present.", + "operationId": "getBlockchainConfigFromBlock", + "parameters": [ + { + "$ref": "#/components/parameters/masterchainSeqno" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlockchainConfig" + } + } + }, + "description": "blockchain config" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/masterchain/{masterchain_seqno}/config/raw": { + "get": { + "description": "Get raw blockchain config from a specific block, if present.", + "operationId": "getRawBlockchainConfigFromBlock", + "parameters": [ + { + "$ref": "#/components/parameters/masterchainSeqno" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RawBlockchainConfig" + } + } + }, + "description": "blockchain config" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/masterchain/{masterchain_seqno}/shards": { + "get": { + "description": "Get blockchain block shards", + "operationId": "getBlockchainMasterchainShards", + "parameters": [ + { + "$ref": "#/components/parameters/masterchainSeqno" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlockchainBlockShards" + } + } + }, + "description": "blockchain block shards" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/masterchain/{masterchain_seqno}/transactions": { + "get": { + "description": "Get all transactions in all shards and workchains between target and previous masterchain block according to shards last blocks snapshot in masterchain. We don't recommend to build your app around this method because it has problem with scalability and will work very slow in the future.", + "operationId": "getBlockchainMasterchainTransactions", + "parameters": [ + { + "$ref": "#/components/parameters/masterchainSeqno" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Transactions" + } + } + }, + "description": "blockchain transactions" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/message": { + "post": { + "description": "Send message to blockchain", + "operationId": "sendBlockchainMessage", + "requestBody": { + "$ref": "#/components/requestBodies/BatchBoc" + }, + "responses": { + "200": { + "description": "the message has been sent" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/messages/{msg_id}/transaction": { + "get": { + "description": "Get transaction data by message hash", + "operationId": "getBlockchainTransactionByMessageHash", + "parameters": [ + { + "$ref": "#/components/parameters/messageIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Transaction" + } + } + }, + "description": "transaction by message hash" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/reduced/blocks": { + "get": { + "description": "Get reduced blockchain blocks data", + "operationId": "getReducedBlockchainBlocks", + "parameters": [ + { + "$ref": "#/components/parameters/fromQuery" + }, + { + "$ref": "#/components/parameters/toQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReducedBlocks" + } + } + }, + "description": "blockchain reduced blocks" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/transactions/{transaction_id}": { + "get": { + "description": "Get transaction data", + "operationId": "getBlockchainTransaction", + "parameters": [ + { + "$ref": "#/components/parameters/transactionIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Transaction" + } + } + }, + "description": "blockchain transaction" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/blockchain/validators": { + "get": { + "description": "Get blockchain validators", + "operationId": "getBlockchainValidators", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Validators" + } + } + }, + "description": "blockchain validators" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Blockchain" + ] + } + }, + "/v2/dns/auctions": { + "get": { + "description": "Get all auctions", + "operationId": "getAllAuctions", + "parameters": [ + { + "$ref": "#/components/parameters/domainFilterQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Auctions" + } + } + }, + "description": "auctions" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "DNS" + ] + } + }, + "/v2/dns/{domain_name}": { + "get": { + "description": "Get full information about domain name", + "operationId": "getDnsInfo", + "parameters": [ + { + "$ref": "#/components/parameters/domainNameParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DomainInfo" + } + } + }, + "description": "domain info" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "DNS" + ] + } + }, + "/v2/dns/{domain_name}/bids": { + "get": { + "description": "Get domain bids", + "operationId": "getDomainBids", + "parameters": [ + { + "$ref": "#/components/parameters/domainNameParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DomainBids" + } + } + }, + "description": "domain bids" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "DNS" + ] + } + }, + "/v2/dns/{domain_name}/resolve": { + "get": { + "description": "DNS resolve for domain name", + "operationId": "dnsResolve", + "parameters": [ + { + "$ref": "#/components/parameters/domainNameParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DnsRecord" + } + } + }, + "description": "dns record" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "DNS" + ] + } + }, + "/v2/events/emulate": { + "post": { + "description": "Emulate sending message to blockchain", + "operationId": "emulateMessageToEvent", + "parameters": [ + { + "$ref": "#/components/parameters/i18n" + }, + { + "in": "query", + "name": "ignore_signature_check", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/Boc" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Event" + } + } + }, + "description": "emulated event" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Emulation", + "Events" + ] + } + }, + "/v2/events/{event_id}": { + "get": { + "description": "Get an event either by event ID or a hash of any transaction in a trace. An event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time.", + "operationId": "getEvent", + "parameters": [ + { + "$ref": "#/components/parameters/eventIDParameter" + }, + { + "$ref": "#/components/parameters/i18n" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Event" + } + } + }, + "description": "event" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Events" + ] + } + }, + "/v2/events/{event_id}/jettons": { + "get": { + "description": "Get only jetton transfers in the event", + "operationId": "getJettonsEvents", + "parameters": [ + { + "$ref": "#/components/parameters/eventIDParameter" + }, + { + "$ref": "#/components/parameters/i18n" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Event" + } + } + }, + "description": "events" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Jettons" + ] + } + }, + "/v2/experimental/accounts/{account_id}/inscriptions": { + "get": { + "description": "Get all inscriptions by owner address. It's experimental API and can be dropped in the future.", + "operationId": "getAccountInscriptions", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/limitQuery" + }, + { + "$ref": "#/components/parameters/offsetQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InscriptionBalances" + } + } + }, + "description": "account inscriptions" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Inscriptions" + ] + } + }, + "/v2/experimental/accounts/{account_id}/inscriptions/history": { + "get": { + "description": "Get the transfer inscriptions history for account. It's experimental API and can be dropped in the future.", + "operationId": "getAccountInscriptionsHistory", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/i18n" + }, + { + "description": "omit this parameter to get last events", + "in": "query", + "name": "before_lt", + "required": false, + "schema": { + "example": 25758317000002, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 100, + "example": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountEvents" + } + } + }, + "description": "account inscriptions history" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Inscriptions" + ] + } + }, + "/v2/experimental/accounts/{account_id}/inscriptions/{ticker}/history": { + "get": { + "description": "Get the transfer inscriptions history for account. It's experimental API and can be dropped in the future.", + "operationId": "getAccountInscriptionsHistoryByTicker", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/i18n" + }, + { + "in": "path", + "name": "ticker", + "required": true, + "schema": { + "example": "nano", + "type": "string" + } + }, + { + "description": "omit this parameter to get last events", + "in": "query", + "name": "before_lt", + "required": false, + "schema": { + "example": 25758317000002, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 100, + "example": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountEvents" + } + } + }, + "description": "account inscriptions history" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Inscriptions" + ] + } + }, + "/v2/experimental/inscriptions/op-template": { + "get": { + "description": "return comment for making operation with inscription. please don't use it if you don't know what you are doing", + "operationId": "getInscriptionOpTemplate", + "parameters": [ + { + "in": "query", + "name": "type", + "required": true, + "schema": { + "enum": [ + "ton20", + "gram20" + ], + "example": "ton20", + "type": "string" + } + }, + { + "in": "query", + "name": "destination", + "required": false, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "comment", + "required": false, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "operation", + "required": true, + "schema": { + "enum": [ + "transfer" + ], + "example": "transfer", + "type": "string" + } + }, + { + "in": "query", + "name": "amount", + "required": true, + "schema": { + "example": "1000000000", + "type": "string", + "x-js-format": "bigint" + } + }, + { + "in": "query", + "name": "ticker", + "required": true, + "schema": { + "example": "nano", + "type": "string" + } + }, + { + "in": "query", + "name": "who", + "required": true, + "schema": { + "example": "UQAs87W4yJHlF8mt29ocA4agnMrLsOP69jC1HPyBUjJay7Mg", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "comment": { + "example": "comment", + "type": "string" + }, + "destination": { + "example": "0:0000000000000", + "type": "string" + } + }, + "required": [ + "comment", + "destination" + ], + "type": "object" + } + } + }, + "description": "inscription op template" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Inscriptions" + ] + } + }, + "/v2/gasless/config": { + "get": { + "description": "Returns configuration of gasless transfers", + "operationId": "gaslessConfig", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GaslessConfig" + } + } + }, + "description": "gasless config" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Gasless" + ] + } + }, + "/v2/gasless/estimate/{master_id}": { + "post": { + "description": "Estimates the cost of the given messages and returns a payload to sign", + "operationId": "gaslessEstimate", + "parameters": [ + { + "description": "jetton to pay commission", + "in": "path", + "name": "master_id", + "required": true, + "schema": { + "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", + "format": "address", + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/InternalMessages" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SignRawParams" + } + } + }, + "description": "payload to sign" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Gasless" + ] + } + }, + "/v2/gasless/send": { + "post": { + "description": "Submits the signed gasless transaction message to the network", + "operationId": "gaslessSend", + "requestBody": { + "$ref": "#/components/requestBodies/GaslessSend" + }, + "responses": { + "200": { + "description": "the message has been sent" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Gasless" + ] + } + }, + "/v2/jettons": { + "get": { + "description": "Get a list of all indexed jetton masters in the blockchain.", + "operationId": "getJettons", + "parameters": [ + { + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "example": 15, + "format": "int32", + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "in": "query", + "name": "offset", + "schema": { + "default": 0, + "example": 10, + "format": "int32", + "minimum": 0, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Jettons" + } + } + }, + "description": "a list of jettons" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Jettons" + ] + } + }, + "/v2/jettons/_bulk": { + "post": { + "description": "Get jetton metadata items by jetton master addresses", + "operationId": "getJettonInfosByAddresses", + "requestBody": { + "$ref": "#/components/requestBodies/AccountIDs" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Jettons" + } + } + }, + "description": "a list of jettons" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Jettons" + ] + } + }, + "/v2/jettons/{account_id}": { + "get": { + "description": "Get jetton metadata by jetton master address", + "operationId": "getJettonInfo", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JettonInfo" + } + } + }, + "description": "jetton info" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Jettons" + ] + } + }, + "/v2/jettons/{account_id}/holders": { + "get": { + "description": "Get jetton's holders", + "operationId": "getJettonHolders", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/limitQuery" + }, + { + "$ref": "#/components/parameters/offsetQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JettonHolders" + } + } + }, + "description": "jetton's holders" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Jettons" + ] + } + }, + "/v2/jettons/{jetton_id}/transfer/{account_id}/payload": { + "get": { + "description": "Get jetton's custom payload and state init required for transfer", + "operationId": "getJettonTransferPayload", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/jettonIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JettonTransferPayload" + } + } + }, + "description": "jetton's custom payload" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Jettons" + ] + } + }, + "/v2/liteserver/get_account_state/{account_id}": { + "get": { + "description": "Get raw account state", + "operationId": "getRawAccountState", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/targetBlockIDExtQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "id": { + "$ref": "#/components/schemas/BlockRaw" + }, + "proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "shard_proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "shardblk": { + "$ref": "#/components/schemas/BlockRaw" + }, + "state": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + } + }, + "required": [ + "id", + "shardblk", + "shard_proof", + "proof", + "state" + ], + "type": "object" + } + } + }, + "description": "raw account state" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_all_shards_info/{block_id}": { + "get": { + "description": "Get all raw shards info", + "operationId": "getAllRawShardsInfo", + "parameters": [ + { + "$ref": "#/components/parameters/blockchainBlockIDExtParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/BlockRaw" + }, + "proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + } + }, + "required": [ + "id", + "proof", + "data" + ], + "type": "object" + } + } + }, + "description": "all raw shards info" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_block/{block_id}": { + "get": { + "description": "Get raw blockchain block", + "operationId": "getRawBlockchainBlock", + "parameters": [ + { + "$ref": "#/components/parameters/blockchainBlockIDExtParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/BlockRaw" + } + }, + "required": [ + "id", + "data" + ], + "type": "object" + } + } + }, + "description": "raw blockchain block" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_block_header/{block_id}": { + "get": { + "description": "Get raw blockchain block header", + "operationId": "getRawBlockchainBlockHeader", + "parameters": [ + { + "$ref": "#/components/parameters/blockchainBlockIDExtParameter" + }, + { + "$ref": "#/components/parameters/modeQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "header_proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/BlockRaw" + }, + "mode": { + "example": 0, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "id", + "mode", + "header_proof" + ], + "type": "object" + } + } + }, + "description": "raw blockchain block header" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_block_proof": { + "get": { + "description": "Get raw block proof", + "operationId": "getRawBlockProof", + "parameters": [ + { + "$ref": "#/components/parameters/knownBlockIDExtQuery" + }, + { + "$ref": "#/components/parameters/targetBlockIDExtQuery" + }, + { + "$ref": "#/components/parameters/modeQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "complete": { + "example": true, + "type": "boolean" + }, + "from": { + "$ref": "#/components/schemas/BlockRaw" + }, + "steps": { + "items": { + "properties": { + "lite_server_block_link_back": { + "properties": { + "dest_proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "from": { + "$ref": "#/components/schemas/BlockRaw" + }, + "proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "state_proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "to": { + "$ref": "#/components/schemas/BlockRaw" + }, + "to_key_block": { + "example": false, + "type": "boolean" + } + }, + "required": [ + "to_key_block", + "from", + "to", + "dest_proof", + "proof", + "state_proof" + ], + "type": "object" + }, + "lite_server_block_link_forward": { + "properties": { + "config_proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "dest_proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "from": { + "$ref": "#/components/schemas/BlockRaw" + }, + "signatures": { + "properties": { + "catchain_seqno": { + "format": "int32", + "type": "integer" + }, + "signatures": { + "items": { + "properties": { + "node_id_short": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "signature": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + } + }, + "required": [ + "node_id_short", + "signature" + ], + "type": "object" + }, + "type": "array" + }, + "validator_set_hash": { + "format": "int64", + "type": "integer" + } + }, + "required": [ + "validator_set_hash", + "catchain_seqno", + "signatures" + ], + "type": "object" + }, + "to": { + "$ref": "#/components/schemas/BlockRaw" + }, + "to_key_block": { + "example": false, + "type": "boolean" + } + }, + "required": [ + "to_key_block", + "from", + "to", + "dest_proof", + "config_proof", + "signatures" + ], + "type": "object" + } + }, + "required": [ + "lite_server_block_link_back", + "lite_server_block_link_forward" + ], + "type": "object" + }, + "type": "array" + }, + "to": { + "$ref": "#/components/schemas/BlockRaw" + } + }, + "required": [ + "complete", + "from", + "to", + "steps" + ], + "type": "object" + } + } + }, + "description": "raw block proof" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_config_all/{block_id}": { + "get": { + "description": "Get raw config", + "operationId": "getRawConfig", + "parameters": [ + { + "$ref": "#/components/parameters/blockchainBlockIDExtParameter" + }, + { + "$ref": "#/components/parameters/modeQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "config_proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/BlockRaw" + }, + "mode": { + "example": 0, + "format": "int32", + "type": "integer" + }, + "state_proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + } + }, + "required": [ + "mode", + "id", + "state_proof", + "config_proof" + ], + "type": "object" + } + } + }, + "description": "raw config" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_masterchain_info": { + "get": { + "description": "Get raw masterchain info", + "operationId": "getRawMasterchainInfo", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "init": { + "$ref": "#/components/schemas/InitStateRaw" + }, + "last": { + "$ref": "#/components/schemas/BlockRaw" + }, + "state_root_hash": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + } + }, + "required": [ + "last", + "state_root_hash", + "init" + ], + "type": "object" + } + } + }, + "description": "raw masterchain info" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_masterchain_info_ext": { + "get": { + "description": "Get raw masterchain info ext", + "operationId": "getRawMasterchainInfoExt", + "parameters": [ + { + "$ref": "#/components/parameters/modeQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "capabilities": { + "example": 7, + "format": "int64", + "type": "integer" + }, + "init": { + "$ref": "#/components/schemas/InitStateRaw" + }, + "last": { + "$ref": "#/components/schemas/BlockRaw" + }, + "last_utime": { + "example": 1687938199, + "format": "int32", + "type": "integer" + }, + "mode": { + "example": 0, + "format": "int32", + "type": "integer" + }, + "now": { + "example": 1687938204, + "format": "int32", + "type": "integer" + }, + "state_root_hash": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "version": { + "example": 257, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "mode", + "version", + "capabilities", + "last", + "last_utime", + "now", + "state_root_hash", + "init" + ], + "type": "object" + } + } + }, + "description": "raw masterchain info ext" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_out_msg_queue_sizes": { + "get": { + "description": "Get out msg queue sizes", + "operationId": "getOutMsgQueueSizes", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "ext_msg_queue_size_limit": { + "format": "uint32", + "type": "integer" + }, + "shards": { + "items": { + "properties": { + "id": { + "$ref": "#/components/schemas/BlockRaw" + }, + "size": { + "format": "uint32", + "type": "integer" + } + }, + "required": [ + "id", + "size" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "ext_msg_queue_size_limit", + "shards" + ], + "type": "object" + } + } + }, + "description": "out msg queue sizes" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_shard_block_proof/{block_id}": { + "get": { + "description": "Get raw shard block proof", + "operationId": "getRawShardBlockProof", + "parameters": [ + { + "$ref": "#/components/parameters/blockchainBlockIDExtParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "links": { + "items": { + "properties": { + "id": { + "$ref": "#/components/schemas/BlockRaw" + }, + "proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + } + }, + "required": [ + "id", + "proof" + ], + "type": "object" + }, + "type": "array" + }, + "masterchain_id": { + "$ref": "#/components/schemas/BlockRaw" + } + }, + "required": [ + "masterchain_id", + "links" + ], + "type": "object" + } + } + }, + "description": "raw shard block proof" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_shard_info/{block_id}": { + "get": { + "description": "Get raw shard info", + "operationId": "getRawShardInfo", + "parameters": [ + { + "$ref": "#/components/parameters/blockchainBlockIDExtParameter" + }, + { + "$ref": "#/components/parameters/workchainQuery" + }, + { + "$ref": "#/components/parameters/shardQuery" + }, + { + "$ref": "#/components/parameters/exactQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "id": { + "$ref": "#/components/schemas/BlockRaw" + }, + "shard_descr": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "shard_proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "shardblk": { + "$ref": "#/components/schemas/BlockRaw" + } + }, + "required": [ + "id", + "shardblk", + "shard_proof", + "shard_descr" + ], + "type": "object" + } + } + }, + "description": "raw shard info" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_state/{block_id}": { + "get": { + "description": "Get raw blockchain block state", + "operationId": "getRawBlockchainBlockState", + "parameters": [ + { + "$ref": "#/components/parameters/blockchainBlockIDExtParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "file_hash": { + "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/BlockRaw" + }, + "root_hash": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + } + }, + "required": [ + "id", + "root_hash", + "file_hash", + "data" + ], + "type": "object" + } + } + }, + "description": "raw blockchain block state" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_time": { + "get": { + "description": "Get raw time", + "operationId": "getRawTime", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "time": { + "example": 1687146728, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "time" + ], + "type": "object" + } + } + }, + "description": "raw time" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/get_transactions/{account_id}": { + "get": { + "description": "Get raw transactions", + "operationId": "getRawTransactions", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/countQuery" + }, + { + "$ref": "#/components/parameters/ltMustQuery" + }, + { + "$ref": "#/components/parameters/hashQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "ids": { + "items": { + "$ref": "#/components/schemas/BlockRaw" + }, + "type": "array" + }, + "transactions": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + } + }, + "required": [ + "ids", + "transactions" + ], + "type": "object" + } + } + }, + "description": "raw transactions" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/list_block_transactions/{block_id}": { + "get": { + "description": "Get raw list block transactions", + "operationId": "getRawListBlockTransactions", + "parameters": [ + { + "$ref": "#/components/parameters/blockchainBlockIDExtParameter" + }, + { + "$ref": "#/components/parameters/modeQuery" + }, + { + "$ref": "#/components/parameters/countQuery" + }, + { + "$ref": "#/components/parameters/accountIDQuery" + }, + { + "$ref": "#/components/parameters/ltQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "id": { + "$ref": "#/components/schemas/BlockRaw" + }, + "ids": { + "items": { + "properties": { + "account": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "hash": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "lt": { + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + }, + "mode": { + "example": 0, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + "type": "array" + }, + "incomplete": { + "example": true, + "type": "boolean" + }, + "proof": { + "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", + "type": "string" + }, + "req_count": { + "example": 100, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "id", + "req_count", + "incomplete", + "ids", + "proof" + ], + "type": "object" + } + } + }, + "description": "a list of raw block transactions" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/liteserver/send_message": { + "post": { + "description": "Send raw message to blockchain", + "operationId": "sendRawMessage", + "requestBody": { + "$ref": "#/components/requestBodies/LiteServerSendMessageRequest" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "code": { + "example": 200, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "code" + ], + "type": "object" + } + } + }, + "description": "code" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Lite Server" + ] + } + }, + "/v2/message/decode": { + "post": { + "description": "Decode a given message. Only external incoming messages can be decoded currently.", + "operationId": "decodeMessage", + "requestBody": { + "$ref": "#/components/requestBodies/Boc" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DecodedMessage" + } + } + }, + "description": "decoded message" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Emulation" + ] + } + }, + "/v2/multisig/{account_id}": { + "get": { + "description": "Get multisig account info", + "operationId": "getMultisigAccount", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Multisig" + } + } + }, + "description": "multisig account" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Multisig" + ] + } + }, + "/v2/nfts/_bulk": { + "post": { + "description": "Get NFT items by their addresses", + "operationId": "getNftItemsByAddresses", + "requestBody": { + "$ref": "#/components/requestBodies/AccountIDs" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NftItems" + } + } + }, + "description": "nft items" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "NFT" + ] + } + }, + "/v2/nfts/collections": { + "get": { + "description": "Get NFT collections", + "operationId": "getNftCollections", + "parameters": [ + { + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "example": 15, + "format": "int32", + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "in": "query", + "name": "offset", + "schema": { + "default": 0, + "example": 10, + "format": "int32", + "minimum": 0, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NftCollections" + } + } + }, + "description": "nft collections" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "NFT" + ] + } + }, + "/v2/nfts/collections/_bulk": { + "post": { + "description": "Get NFT collection items by their addresses", + "operationId": "getNftCollectionItemsByAddresses", + "requestBody": { + "$ref": "#/components/requestBodies/AccountIDs" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NftCollections" + } + } + }, + "description": "nft collections" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "NFT" + ] + } + }, + "/v2/nfts/collections/{account_id}": { + "get": { + "description": "Get NFT collection by collection address", + "operationId": "getNftCollection", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NftCollection" + } + } + }, + "description": "nft collection" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "NFT" + ] + } + }, + "/v2/nfts/collections/{account_id}/items": { + "get": { + "description": "Get NFT items from collection by collection address", + "operationId": "getItemsFromCollection", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/limitQuery" + }, + { + "$ref": "#/components/parameters/offsetQuery" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NftItems" + } + } + }, + "description": "nft items" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "NFT" + ] + } + }, + "/v2/nfts/{account_id}": { + "get": { + "description": "Get NFT item by its address", + "operationId": "getNftItemByAddress", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NftItem" + } + } + }, + "description": "nft item" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "NFT" + ] + } + }, + "/v2/nfts/{account_id}/history": { + "get": { + "description": "Get the transfer nfts history for account", + "operationId": "getNftHistoryByID", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/i18n" + }, + { + "description": "omit this parameter to get last events", + "in": "query", + "name": "before_lt", + "required": false, + "schema": { + "example": 25758317000002, + "format": "int64", + "type": "integer", + "x-js-format": "bigint" + } + }, + { + "in": "query", + "name": "limit", + "required": true, + "schema": { + "example": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "in": "query", + "name": "start_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + }, + { + "in": "query", + "name": "end_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountEvents" + } + } + }, + "description": "nft history" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "NFT" + ] + } + }, + "/v2/openapi.json": { + "get": { + "description": "Get the openapi.json file", + "operationId": "getOpenapiJson", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + } + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Openapi" + ] + } + }, + "/v2/openapi.yml": { + "get": { + "description": "Get the openapi.yml file", + "operationId": "getOpenapiYml", + "responses": { + "200": { + "content": { + "application/x-yaml": { + "schema": { + "format": "binary", + "type": "string" + } + } + } + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Openapi" + ] + } + }, + "/v2/pubkeys/{public_key}/wallets": { + "get": { + "description": "Get wallets by public key", + "operationId": "getWalletsByPublicKey", + "parameters": [ + { + "$ref": "#/components/parameters/publicKeyParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Accounts" + } + } + }, + "description": "a list of wallets" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Wallet" + ] + } + }, + "/v2/rates": { + "get": { + "description": "Get the token price in the chosen currency for display only. Don’t use this for financial transactions.", + "operationId": "getRates", + "parameters": [ + { + "description": "accept ton and jetton master addresses, separated by commas", + "explode": false, + "in": "query", + "name": "tokens", + "required": true, + "schema": { + "example": [ + "ton" + ], + "items": { + "type": "string" + }, + "maxItems": 100, + "type": "array" + } + }, + { + "description": "accept ton and all possible fiat currencies, separated by commas", + "explode": false, + "in": "query", + "name": "currencies", + "required": true, + "schema": { + "example": [ + "ton", + "usd", + "rub" + ], + "items": { + "type": "string" + }, + "maxItems": 50, + "type": "array" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "rates": { + "additionalProperties": { + "$ref": "#/components/schemas/TokenRates" + }, + "type": "object" + } + }, + "required": [ + "rates" + ], + "type": "object" + } + } + }, + "description": "tokens rates" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Rates" + ] + } + }, + "/v2/rates/chart": { + "get": { + "description": "Get chart by token", + "operationId": "getChartRates", + "parameters": [ + { + "description": "accept jetton master address", + "in": "query", + "name": "token", + "required": true, + "schema": { + "format": "address", + "type": "string" + } + }, + { + "in": "query", + "name": "currency", + "required": false, + "schema": { + "example": "usd", + "type": "string" + } + }, + { + "in": "query", + "name": "start_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + }, + { + "in": "query", + "name": "end_date", + "required": false, + "schema": { + "example": 1668436763, + "format": "int64", + "maximum": 2114380800, + "type": "integer" + } + }, + { + "in": "query", + "name": "points_count", + "required": false, + "schema": { + "default": 200, + "format": "int", + "maximum": 200, + "minimum": 0, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "points": { + "items": { + "$ref": "#/components/schemas/ChartPoints" + }, + "type": "array" + } + }, + "required": [ + "points" + ], + "type": "object" + } + } + }, + "description": "token chart" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Rates" + ] + } + }, + "/v2/rates/markets": { + "get": { + "description": "Get the TON price from markets", + "operationId": "getMarketsRates", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "markets": { + "items": { + "$ref": "#/components/schemas/MarketTonRates" + }, + "type": "array" + } + }, + "required": [ + "markets" + ], + "type": "object" + } + } + }, + "description": "markets rates" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Rates" + ] + } + }, + "/v2/staking/nominator/{account_id}/pools": { + "get": { + "description": "All pools where account participates", + "operationId": "getAccountNominatorsPools", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountStaking" + } + } + }, + "description": "account's pools" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Staking" + ] + } + }, + "/v2/staking/pool/{account_id}": { + "get": { + "description": "Stacking pool info", + "operationId": "getStakingPoolInfo", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + }, + { + "$ref": "#/components/parameters/i18n" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "implementation": { + "$ref": "#/components/schemas/PoolImplementation" + }, + "pool": { + "$ref": "#/components/schemas/PoolInfo" + } + }, + "required": [ + "implementation", + "pool" + ], + "type": "object" + } + } + }, + "description": "stacking pool info" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Staking" + ] + } + }, + "/v2/staking/pool/{account_id}/history": { + "get": { + "description": "Pool history", + "operationId": "getStakingPoolHistory", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "apy": { + "items": { + "$ref": "#/components/schemas/ApyHistory" + }, + "type": "array" + } + }, + "required": [ + "apy" + ], + "type": "object" + } + } + }, + "description": "pool history" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Staking" + ] + } + }, + "/v2/staking/pools": { + "get": { + "description": "All pools available in network", + "operationId": "getStakingPools", + "parameters": [ + { + "description": "account ID", + "in": "query", + "name": "available_for", + "required": false, + "schema": { + "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", + "format": "address", + "type": "string" + } + }, + { + "description": "return also pools not from white list - just compatible by interfaces (maybe dangerous!)", + "in": "query", + "name": "include_unverified", + "required": false, + "schema": { + "example": false, + "type": "boolean" + } + }, + { + "$ref": "#/components/parameters/i18n" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "implementations": { + "additionalProperties": { + "$ref": "#/components/schemas/PoolImplementation" + }, + "type": "object" + }, + "pools": { + "items": { + "$ref": "#/components/schemas/PoolInfo" + }, + "type": "array" + } + }, + "required": [ + "pools", + "implementations" + ], + "type": "object" + } + } + }, + "description": "a list of pools" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Staking" + ] + } + }, + "/v2/status": { + "get": { + "description": "Status", + "operationId": "status", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceStatus" + } + } + }, + "description": "status" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Utilities" + ] + } + }, + "/v2/storage/providers": { + "get": { + "description": "Get TON storage providers deployed to the blockchain.", + "operationId": "getStorageProviders", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "providers": { + "items": { + "$ref": "#/components/schemas/StorageProvider" + }, + "type": "array" + } + }, + "required": [ + "providers" + ], + "type": "object" + } + } + }, + "description": "a list of storage providers" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Storage" + ] + } + }, + "/v2/tonconnect/payload": { + "get": { + "description": "Get a payload for further token receipt", + "operationId": "getTonConnectPayload", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "payload": { + "example": "84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa", + "type": "string" + } + }, + "required": [ + "payload" + ], + "type": "object" + } + } + }, + "description": "payload" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Connect" + ] + } + }, + "/v2/tonconnect/stateinit": { + "post": { + "description": "Get account info by state init", + "operationId": "getAccountInfoByStateInit", + "requestBody": { + "$ref": "#/components/requestBodies/TonConnectStateInit" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountInfoByStateInit" + } + } + }, + "description": "account info" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Connect" + ] + } + }, + "/v2/traces/emulate": { + "post": { + "description": "Emulate sending message to blockchain", + "operationId": "emulateMessageToTrace", + "parameters": [ + { + "in": "query", + "name": "ignore_signature_check", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/Boc" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Trace" + } + } + }, + "description": "emulated trace" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Emulation", + "Traces" + ] + } + }, + "/v2/traces/{trace_id}": { + "get": { + "description": "Get the trace by trace ID or hash of any transaction in trace", + "operationId": "getTrace", + "parameters": [ + { + "$ref": "#/components/parameters/traceIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Trace" + } + } + }, + "description": "trace" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Traces" + ] + } + }, + "/v2/wallet/auth/proof": { + "post": { + "description": "Account verification and token issuance", + "operationId": "tonConnectProof", + "requestBody": { + "$ref": "#/components/requestBodies/TonConnectProof" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "token": { + "example": "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3...", + "type": "string" + } + }, + "required": [ + "token" + ], + "type": "object" + } + } + }, + "description": "auth token" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Wallet" + ] + } + }, + "/v2/wallet/emulate": { + "post": { + "description": "Emulate sending message to blockchain", + "operationId": "emulateMessageToWallet", + "parameters": [ + { + "$ref": "#/components/parameters/i18n" + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/EmulationBoc" + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageConsequences" + } + } + }, + "description": "emulated message" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Emulation", + "Wallet" + ] + } + }, + "/v2/wallet/{account_id}/seqno": { + "get": { + "description": "Get account seqno", + "operationId": "getAccountSeqno", + "parameters": [ + { + "$ref": "#/components/parameters/accountIDParameter" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Seqno" + } + } + }, + "description": "account seqno" + }, + "default": { + "$ref": "#/components/responses/Error" + } + }, + "tags": [ + "Wallet" + ] + } + } + }, + "servers": [ + { + "url": "https://tonapi.io" + }, + { + "url": "https://testnet.tonapi.io" + }, + { + "url": "http://localhost:8081" + } + ], + "tags": [ + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/accounts" + }, + "name": "Accounts" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/nft" + }, + "name": "NFT" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/jettons" + }, + "name": "Jettons" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/dns" + }, + "name": "DNS" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/wallet" + }, + "name": "Wallet" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/rates" + }, + "name": "Rates" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/staking" + }, + "name": "Staking" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/traces" + }, + "name": "Traces" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/events" + }, + "name": "Events" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/storage" + }, + "name": "Storage" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/connect" + }, + "name": "Connect" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/gasless" + }, + "name": "Gasless" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/multisig" + }, + "name": "Multisig" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/blockchain" + }, + "name": "Blockchain" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/liteserver" + }, + "name": "Lite Server" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/emulation" + }, + "name": "Emulation" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/inscriptions" + }, + "name": "Inscriptions" + }, + { + "externalDocs": { + "description": "Additional documentation", + "url": "https://docs.tonconsole.com/tonapi/rest-api/utilities" + }, + "name": "Utilities" + } + ] +} diff --git a/pkg/api/openapi/openapi.yml b/pkg/api/openapi/openapi.yml new file mode 100644 index 00000000..587399f5 --- /dev/null +++ b/pkg/api/openapi/openapi.yml @@ -0,0 +1,7424 @@ +openapi: 3.1.0 +info: + title: REST api to TON blockchain explorer + version: 2.0.0 + description: Provide access to indexed TON blockchain + contact: + name: Support + email: support@tonkeeper.com +servers: + - url: "https://tonapi.io" + - url: "https://testnet.tonapi.io" + - url: "http://localhost:8081" + +tags: + - name: Accounts + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/accounts + - name: NFT + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/nft + - name: Jettons + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/jettons + - name: DNS + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/dns + - name: Wallet + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/wallet + - name: Rates + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/rates + - name: Staking + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/staking + - name: Traces + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/traces + - name: Events + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/events + - name: Storage + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/storage + - name: Connect + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/connect + - name: Gasless + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/gasless + - name: Multisig + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/multisig + - name: Blockchain + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/blockchain + - name: Lite Server + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/liteserver + - name: Emulation + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/emulation + - name: Inscriptions + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/inscriptions + - name: Utilities + externalDocs: + description: Additional documentation + url: https://docs.tonconsole.com/tonapi/rest-api/utilities + +paths: + /v2/openapi.json: + get: + description: Get the openapi.json file + operationId: getOpenapiJson + tags: + - Openapi + responses: + '200': + content: + application/json: + schema: { } # Free-form JSON value + 'default': + $ref: '#/components/responses/Error' + /v2/openapi.yml: + get: + description: Get the openapi.yml file + operationId: getOpenapiYml + tags: + - Openapi + responses: + '200': + content: + application/x-yaml: + schema: + type: string + format: binary + 'default': + $ref: '#/components/responses/Error' + /v2/status: + get: + description: Status + operationId: status + tags: + - Utilities + responses: + '200': + description: status + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceStatus' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/reduced/blocks: + get: + description: Get reduced blockchain blocks data + operationId: getReducedBlockchainBlocks + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/fromQuery' + - $ref: '#/components/parameters/toQuery' + responses: + '200': + description: blockchain reduced blocks + content: + application/json: + schema: + $ref: '#/components/schemas/ReducedBlocks' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/blocks/{block_id}: + get: + description: Get blockchain block data + operationId: getBlockchainBlock + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/blockchainBlockIDParameter' + responses: + '200': + description: blockchain block + content: + application/json: + schema: + $ref: '#/components/schemas/BlockchainBlock' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/masterchain/{masterchain_seqno}/shards: + get: + description: Get blockchain block shards + operationId: getBlockchainMasterchainShards + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/masterchainSeqno' + responses: + '200': + description: blockchain block shards + content: + application/json: + schema: + $ref: '#/components/schemas/BlockchainBlockShards' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/masterchain/{masterchain_seqno}/blocks: + get: + description: Get all blocks in all shards and workchains between target and previous masterchain block according to shards last blocks snapshot in masterchain. We don't recommend to build your app around this method because it has problem with scalability and will work very slow in the future. + operationId: getBlockchainMasterchainBlocks + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/masterchainSeqno' + responses: + '200': + description: blockchain blocks + content: + application/json: + schema: + $ref: '#/components/schemas/BlockchainBlocks' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/masterchain/{masterchain_seqno}/transactions: + get: + description: Get all transactions in all shards and workchains between target and previous masterchain block according to shards last blocks snapshot in masterchain. We don't recommend to build your app around this method because it has problem with scalability and will work very slow in the future. + operationId: getBlockchainMasterchainTransactions + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/masterchainSeqno' + responses: + '200': + description: blockchain transactions + content: + application/json: + schema: + $ref: '#/components/schemas/Transactions' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/masterchain/{masterchain_seqno}/config: + get: + description: Get blockchain config from a specific block, if present. + operationId: getBlockchainConfigFromBlock + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/masterchainSeqno' + responses: + '200': + description: blockchain config + content: + application/json: + schema: + $ref: '#/components/schemas/BlockchainConfig' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/masterchain/{masterchain_seqno}/config/raw: + get: + description: Get raw blockchain config from a specific block, if present. + operationId: getRawBlockchainConfigFromBlock + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/masterchainSeqno' + responses: + '200': + description: blockchain config + content: + application/json: + schema: + $ref: '#/components/schemas/RawBlockchainConfig' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/blocks/{block_id}/transactions: + get: + description: Get transactions from block + operationId: getBlockchainBlockTransactions + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/blockchainBlockIDParameter' + responses: + '200': + description: blockchain block transactions + content: + application/json: + schema: + $ref: '#/components/schemas/Transactions' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/transactions/{transaction_id}: + get: + description: Get transaction data + operationId: getBlockchainTransaction + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/transactionIDParameter' + responses: + '200': + description: blockchain transaction + content: + application/json: + schema: + $ref: '#/components/schemas/Transaction' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/messages/{msg_id}/transaction: + get: + description: Get transaction data by message hash + operationId: getBlockchainTransactionByMessageHash + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/messageIDParameter' + responses: + '200': + description: transaction by message hash + content: + application/json: + schema: + $ref: '#/components/schemas/Transaction' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/validators: + get: + description: Get blockchain validators + operationId: getBlockchainValidators + tags: + - Blockchain + responses: + '200': + description: blockchain validators + content: + application/json: + schema: + $ref: '#/components/schemas/Validators' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/masterchain-head: + get: + description: Get last known masterchain block + operationId: getBlockchainMasterchainHead + tags: + - Blockchain + responses: + '200': + description: blockchain masterchain head + content: + application/json: + schema: + $ref: '#/components/schemas/BlockchainBlock' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/accounts/{account_id}: + get: + description: Get low-level information about an account taken directly from the blockchain. + operationId: getBlockchainRawAccount + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: raw account + content: + application/json: + schema: + $ref: '#/components/schemas/BlockchainRawAccount' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/accounts/{account_id}/transactions: + get: + description: Get account transactions + operationId: getBlockchainAccountTransactions + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - name: after_lt + in: query + description: "omit this parameter to get last transactions" + schema: + type: integer + format: int64 + example: 39787624000003 + x-js-format: bigint + - name: before_lt + in: query + description: "omit this parameter to get last transactions" + schema: + type: integer + format: int64 + example: 39787624000003 + x-js-format: bigint + - name: limit + in: query + schema: + type: integer + format: int32 + maximum: 1000 + default: 100 + example: 100 + minimum: 1 + - name: sort_order + in: query + schema: + type: string + description: "used to sort the result-set in ascending or descending order by lt." + default: "desc" + enum: + - desc + - asc + responses: + '200': + description: blockchain account transactions + content: + application/json: + schema: + $ref: '#/components/schemas/Transactions' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/accounts/{account_id}/methods/{method_name}: + get: + description: Execute get method for account + operationId: execGetMethodForBlockchainAccount + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/methodNameParameter' + - name: args + in: query + required: false + schema: + type: array + description: |- + Supported values: + "NaN" for NaN type, + "Null" for Null type, + 10-base digits for tiny int type (Example: 100500), + 0x-prefixed hex digits for int257 (Example: 0xfa01d78381ae32), + all forms of addresses for slice type (Example: 0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e), + single-root base64-encoded BOC for cell (Example: "te6ccgEBAQEAAgAAAA=="), + single-root hex-encoded BOC for slice (Example: b5ee9c72010101010002000000) + items: + type: string + example: [ "0:9a33970f617bcd71acf2cd28357c067aa31859c02820d8f01d74c88063a8f4d8" ] + responses: + '200': + description: method execution result + content: + application/json: + schema: + $ref: '#/components/schemas/MethodExecutionResult' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/message: + post: + description: Send message to blockchain + operationId: sendBlockchainMessage + tags: + - Blockchain + requestBody: + $ref: "#/components/requestBodies/BatchBoc" + responses: + '200': + description: the message has been sent + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/config: + get: + description: Get blockchain config + operationId: getBlockchainConfig + tags: + - Blockchain + responses: + '200': + description: blockchain config + content: + application/json: + schema: + $ref: '#/components/schemas/BlockchainConfig' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/config/raw: + get: + description: Get raw blockchain config + operationId: getRawBlockchainConfig + tags: + - Blockchain + responses: + '200': + description: blockchain config + content: + application/json: + schema: + $ref: '#/components/schemas/RawBlockchainConfig' + 'default': + $ref: '#/components/responses/Error' + /v2/blockchain/accounts/{account_id}/inspect: + get: + description: Blockchain account inspect + operationId: blockchainAccountInspect + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: blockchain account inspect + content: + application/json: + schema: + $ref: '#/components/schemas/BlockchainAccountInspect' + 'default': + $ref: '#/components/responses/Error' + /v2/address/{account_id}/parse: + get: + description: parse address and display in all formats + operationId: addressParse + tags: + - Utilities + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: all forms and info + content: + application/json: + schema: + type: object + required: + - raw_form + - bounceable + - non_bounceable + - given_type + - test_only + properties: + raw_form: + type: string + format: address + example: "0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e" + bounceable: + required: + - b64 + - b64url + type: object + properties: + b64: + type: string + b64url: + type: string + non_bounceable: + required: + - b64 + - b64url + type: object + properties: + b64: + type: string + b64url: + type: string + given_type: + type: string + test_only: + type: boolean + default: + $ref: '#/components/responses/Error' + /v2/accounts/_bulk: + post: + description: Get human-friendly information about several accounts without low-level details. + operationId: getAccounts + tags: + - Accounts + parameters: + - $ref: "#/components/parameters/currencyQuery" + requestBody: + $ref: "#/components/requestBodies/AccountIDs" + responses: + '200': + description: a list of accounts + content: + application/json: + schema: + $ref: '#/components/schemas/Accounts' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}: + get: + description: Get human-friendly information about an account without low-level details. + operationId: getAccount + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: account + content: + application/json: + schema: + $ref: '#/components/schemas/Account' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/dns/backresolve: + get: + description: Get account's domains + operationId: accountDnsBackResolve + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: account's domains + content: + application/json: + schema: + $ref: '#/components/schemas/DomainNames' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/jettons: + get: + description: Get all Jettons balances by owner address + operationId: getAccountJettonsBalances + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/currenciesQuery' + - $ref: '#/components/parameters/supportedExtensions' + responses: + '200': + description: account jettons balances + content: + application/json: + schema: + $ref: '#/components/schemas/JettonsBalances' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/jettons/{jetton_id}: + get: + description: Get Jetton balance by owner address + operationId: getAccountJettonBalance + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/jettonIDParameter' + - $ref: '#/components/parameters/currenciesQuery' + - $ref: '#/components/parameters/supportedExtensions' + responses: + '200': + description: account jetton balance + content: + application/json: + schema: + $ref: '#/components/schemas/JettonBalance' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/jettons/history: + get: + description: Get the transfer jettons history for account + operationId: getAccountJettonsHistory + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/i18n' + - name: before_lt + in: query + description: "omit this parameter to get last events" + required: false + schema: + type: integer + format: int64 + example: 25758317000002 + x-js-format: bigint + - name: limit + in: query + required: true + schema: + type: integer + example: 100 + maximum: 1000 + minimum: 1 + - name: start_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + - name: end_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + responses: + '200': + description: account jettons history + content: + application/json: + schema: + $ref: '#/components/schemas/AccountEvents' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/jettons/{jetton_id}/history: + get: + description: Get the transfer jetton history for account and jetton + operationId: getAccountJettonHistoryByID + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/jettonIDParameter' + - $ref: '#/components/parameters/i18n' + - name: before_lt + in: query + description: "omit this parameter to get last events" + required: false + schema: + type: integer + format: int64 + example: 25758317000002 + x-js-format: bigint + - name: limit + in: query + required: true + schema: + type: integer + example: 100 + maximum: 1000 + minimum: 1 + - name: start_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + - name: end_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + responses: + '200': + description: account jetton history + content: + application/json: + schema: + $ref: '#/components/schemas/AccountEvents' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/nfts: + get: + description: Get all NFT items by owner address + operationId: getAccountNftItems + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/collectionQuery' + - $ref: '#/components/parameters/limitQuery' + - $ref: '#/components/parameters/offsetQuery' + - in: query + name: indirect_ownership + required: false + description: "Selling nft items in ton implemented usually via transfer items to special selling account. This option enables including items which owned not directly." + schema: + type: boolean + default: false + responses: + '200': + description: account nft items + content: + application/json: + schema: + $ref: '#/components/schemas/NftItems' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/nfts/history: + get: + x-question: duplicate of getNftHistoryByID ? + description: Get the transfer nft history + operationId: getAccountNftHistory + tags: + - NFT + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/i18n' + - name: before_lt + in: query + description: "omit this parameter to get last events" + required: false + schema: + type: integer + format: int64 + example: 25758317000002 + x-js-format: bigint + - name: limit + in: query + required: true + schema: + type: integer + example: 100 + maximum: 1000 + minimum: 1 + - name: start_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + - name: end_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + responses: + '200': + description: nft history + content: + application/json: + schema: + $ref: '#/components/schemas/AccountEvents' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/events: + get: + description: Get events for an account. Each event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time. + operationId: getAccountEvents + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/i18n' + - $ref: '#/components/parameters/initiatorQuery' + - name: subject_only + in: query + description: "filter actions where requested account is not real subject (for example sender or receiver jettons)" + schema: + type: boolean + default: false + required: false + - name: before_lt + in: query + description: "omit this parameter to get last events" + required: false + schema: + type: integer + format: int64 + example: 25758317000002 + x-js-format: bigint + - name: limit + in: query + required: true + schema: + type: integer + example: 20 + maximum: 100 + minimum: 1 + - name: start_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + - name: end_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + responses: + '200': + description: account's events + content: + application/json: + schema: + $ref: '#/components/schemas/AccountEvents' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/events/{event_id}: + get: + description: Get event for an account by event_id + operationId: getAccountEvent + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/eventIDParameter' + - $ref: '#/components/parameters/i18n' + - name: subject_only + in: query + description: "filter actions where requested account is not real subject (for example sender or receiver jettons)" + schema: + type: boolean + default: false + required: false + responses: + '200': + description: account's event + content: + application/json: + schema: + $ref: '#/components/schemas/AccountEvent' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/traces: + get: + description: Get traces for account + operationId: getAccountTraces + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - name: before_lt + in: query + description: "omit this parameter to get last events" + required: false + schema: + type: integer + format: int64 + example: 25758317000002 + x-js-format: bigint + - name: limit + in: query + schema: + type: integer + maximum: 1000 + default: 100 + example: 100 + minimum: 1 + responses: + '200': + description: account's traces + content: + application/json: + schema: + $ref: '#/components/schemas/TraceIDs' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/subscriptions: + get: + description: Get all subscriptions by wallet address + operationId: getAccountSubscriptions + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: account's subscriptions + content: + application/json: + schema: + $ref: '#/components/schemas/Subscriptions' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/reindex: + post: + description: Update internal cache for a particular account + operationId: reindexAccount + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: success + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/search: + get: + description: Search by account domain name + operationId: searchAccounts + tags: + - Accounts + parameters: + - name: name + in: query + required: true + schema: + type: string + minLength: 3 + maxLength: 15 + responses: + '200': + description: found accounts + content: + application/json: + schema: + $ref: '#/components/schemas/FoundAccounts' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/dns/expiring: + get: + description: Get expiring account .ton dns + operationId: getAccountDnsExpiring + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/periodQuery' + responses: + '200': + description: account's expiring .ton dns + content: + application/json: + schema: + $ref: '#/components/schemas/DnsExpiring' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/publickey: + get: + description: Get public key by account id + operationId: getAccountPublicKey + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: account's public key + content: + application/json: + schema: + type: object + required: + - public_key + properties: + public_key: + type: string + example: "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3..." + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/multisigs: + get: + description: Get account's multisigs + operationId: getAccountMultisigs + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: account's multisigs + content: + application/json: + schema: + $ref: '#/components/schemas/Multisigs' + 'default': + $ref: '#/components/responses/Error' + + /v2/accounts/{account_id}/diff: + get: + description: Get account's balance change + operationId: getAccountDiff + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - name: start_date + in: query + required: true + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + - name: end_date + in: query + required: true + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + responses: + '200': + description: account's balance change + content: + application/json: + schema: + type: object + required: + - balance_change + properties: + balance_change: + type: integer + format: int64 + example: 1000000000 + 'default': + $ref: '#/components/responses/Error' + + /v2/dns/{domain_name}: + get: + description: Get full information about domain name + operationId: getDnsInfo + tags: + - DNS + parameters: + - $ref: '#/components/parameters/domainNameParameter' + responses: + '200': + description: domain info + content: + application/json: + schema: + $ref: '#/components/schemas/DomainInfo' + 'default': + $ref: '#/components/responses/Error' + /v2/dns/{domain_name}/resolve: + get: + description: DNS resolve for domain name + operationId: dnsResolve + tags: + - DNS + parameters: + - $ref: '#/components/parameters/domainNameParameter' + responses: + '200': + description: dns record + content: + application/json: + schema: + $ref: '#/components/schemas/DnsRecord' + 'default': + $ref: '#/components/responses/Error' + /v2/dns/{domain_name}/bids: + get: + description: Get domain bids + operationId: getDomainBids + tags: + - DNS + parameters: + - $ref: '#/components/parameters/domainNameParameter' + responses: + '200': + description: domain bids + content: + application/json: + schema: + $ref: '#/components/schemas/DomainBids' + 'default': + $ref: '#/components/responses/Error' + /v2/dns/auctions: + get: + description: Get all auctions + operationId: getAllAuctions + tags: + - DNS + parameters: + - $ref: '#/components/parameters/domainFilterQuery' + responses: + '200': + description: auctions + content: + application/json: + schema: + $ref: '#/components/schemas/Auctions' + 'default': + $ref: '#/components/responses/Error' + + /v2/nfts/collections: + get: + description: Get NFT collections + operationId: getNftCollections + tags: + - NFT + parameters: + - name: limit + in: query + schema: + type: integer + format: int32 + maximum: 1000 + default: 100 + example: 15 + minimum: 1 + - name: offset + in: query + schema: + type: integer + format: int32 + default: 0 + example: 10 + minimum: 0 + responses: + '200': + description: nft collections + content: + application/json: + schema: + $ref: '#/components/schemas/NftCollections' + 'default': + $ref: '#/components/responses/Error' + /v2/nfts/collections/{account_id}: + get: + description: Get NFT collection by collection address + operationId: getNftCollection + tags: + - NFT + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: nft collection + content: + application/json: + schema: + $ref: '#/components/schemas/NftCollection' + 'default': + $ref: '#/components/responses/Error' + /v2/nfts/collections/_bulk: + post: + description: Get NFT collection items by their addresses + operationId: getNftCollectionItemsByAddresses + tags: + - NFT + requestBody: + $ref: "#/components/requestBodies/AccountIDs" + responses: + '200': + description: nft collections + content: + application/json: + schema: + $ref: '#/components/schemas/NftCollections' + 'default': + $ref: '#/components/responses/Error' + /v2/nfts/collections/{account_id}/items: + get: + description: Get NFT items from collection by collection address + operationId: getItemsFromCollection + tags: + - NFT + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/limitQuery' + - $ref: '#/components/parameters/offsetQuery' + responses: + '200': + description: nft items + content: + application/json: + schema: + $ref: '#/components/schemas/NftItems' + 'default': + $ref: '#/components/responses/Error' + /v2/nfts/_bulk: + post: + description: Get NFT items by their addresses + operationId: getNftItemsByAddresses + tags: + - NFT + requestBody: + $ref: "#/components/requestBodies/AccountIDs" + responses: + '200': + description: nft items + content: + application/json: + schema: + $ref: '#/components/schemas/NftItems' + 'default': + $ref: '#/components/responses/Error' + /v2/nfts/{account_id}: + get: + description: Get NFT item by its address + operationId: getNftItemByAddress + tags: + - NFT + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: nft item + content: + application/json: + schema: + $ref: '#/components/schemas/NftItem' + 'default': + $ref: '#/components/responses/Error' + /v2/nfts/{account_id}/history: + get: + description: Get the transfer nfts history for account + operationId: getNftHistoryByID + tags: + - NFT + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/i18n' + - name: before_lt + in: query + description: "omit this parameter to get last events" + required: false + schema: + type: integer + format: int64 + example: 25758317000002 + x-js-format: bigint + - name: limit + in: query + required: true + schema: + type: integer + example: 100 + maximum: 1000 + minimum: 1 + - name: start_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + - name: end_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + responses: + '200': + description: nft history + content: + application/json: + schema: + $ref: '#/components/schemas/AccountEvents' + 'default': + $ref: '#/components/responses/Error' + /v2/traces/{trace_id}: + get: + description: Get the trace by trace ID or hash of any transaction in trace + operationId: getTrace + tags: + - Traces + parameters: + - $ref: '#/components/parameters/traceIDParameter' + responses: + '200': + description: trace + content: + application/json: + schema: + $ref: '#/components/schemas/Trace' + 'default': + $ref: '#/components/responses/Error' + + /v2/events/{event_id}: + get: + description: Get an event either by event ID or a hash of any transaction in a trace. An event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time. + operationId: getEvent + tags: + - Events + parameters: + - $ref: '#/components/parameters/eventIDParameter' + - $ref: '#/components/parameters/i18n' + responses: + '200': + description: event + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + 'default': + $ref: '#/components/responses/Error' + + /v2/experimental/accounts/{account_id}/inscriptions: + get: + description: Get all inscriptions by owner address. It's experimental API and can be dropped in the future. + operationId: getAccountInscriptions + tags: + - Inscriptions + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/limitQuery' + - $ref: '#/components/parameters/offsetQuery' + responses: + '200': + description: account inscriptions + content: + application/json: + schema: + $ref: '#/components/schemas/InscriptionBalances' + 'default': + $ref: '#/components/responses/Error' + /v2/experimental/accounts/{account_id}/inscriptions/history: + get: + description: Get the transfer inscriptions history for account. It's experimental API and can be dropped in the future. + operationId: getAccountInscriptionsHistory + tags: + - Inscriptions + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/i18n' + - name: before_lt + in: query + description: "omit this parameter to get last events" + required: false + schema: + type: integer + format: int64 + example: 25758317000002 + x-js-format: bigint + - name: limit + in: query + required: false + schema: + type: integer + example: 100 + default: 100 + maximum: 1000 + minimum: 1 + responses: + '200': + description: account inscriptions history + content: + application/json: + schema: + $ref: '#/components/schemas/AccountEvents' + 'default': + $ref: '#/components/responses/Error' + /v2/experimental/accounts/{account_id}/inscriptions/{ticker}/history: + get: + description: Get the transfer inscriptions history for account. It's experimental API and can be dropped in the future. + operationId: getAccountInscriptionsHistoryByTicker + tags: + - Inscriptions + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/i18n' + - name: ticker + in: path + required: true + schema: + type: string + example: "nano" + - name: before_lt + in: query + description: "omit this parameter to get last events" + required: false + schema: + type: integer + format: int64 + example: 25758317000002 + x-js-format: bigint + - name: limit + in: query + required: false + schema: + type: integer + example: 100 + default: 100 + maximum: 1000 + minimum: 1 + responses: + '200': + description: account inscriptions history + content: + application/json: + schema: + $ref: '#/components/schemas/AccountEvents' + 'default': + $ref: '#/components/responses/Error' + /v2/experimental/inscriptions/op-template: + get: + description: return comment for making operation with inscription. please don't use it if you don't know what you are doing + operationId: getInscriptionOpTemplate + tags: + - Inscriptions + parameters: + - in: query + name: type + required: true + schema: + type: string + enum: [ "ton20", "gram20" ] + example: "ton20" + - in: query + name: destination + required: false + schema: + type: string + - in: query + name: comment + required: false + schema: + type: string + - in: query + name: operation + required: true + schema: + type: string + enum: [ "transfer" ] + example: "transfer" + - in: query + name: amount + required: true + schema: + type: string + x-js-format: bigint + example: "1000000000" + - in: query + name: ticker + required: true + schema: + type: string + example: "nano" + - in: query + name: who + required: true + schema: + type: string + example: UQAs87W4yJHlF8mt29ocA4agnMrLsOP69jC1HPyBUjJay7Mg + responses: + '200': + description: inscription op template + content: + application/json: + schema: + type: object + required: + - comment + - destination + properties: + comment: + type: string + example: "comment" + destination: + type: string + example: "0:0000000000000" + 'default': + $ref: '#/components/responses/Error' + /v2/jettons: + get: + description: Get a list of all indexed jetton masters in the blockchain. + operationId: getJettons + tags: + - Jettons + parameters: + - name: limit + in: query + schema: + type: integer + format: int32 + maximum: 1000 + default: 100 + example: 15 + minimum: 1 + - name: offset + in: query + schema: + type: integer + format: int32 + default: 0 + example: 10 + minimum: 0 + responses: + '200': + description: a list of jettons + content: + application/json: + schema: + $ref: '#/components/schemas/Jettons' + 'default': + $ref: '#/components/responses/Error' + /v2/jettons/{account_id}: + get: + description: Get jetton metadata by jetton master address + operationId: getJettonInfo + tags: + - Jettons + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: jetton info + content: + application/json: + schema: + $ref: '#/components/schemas/JettonInfo' + 'default': + $ref: '#/components/responses/Error' + /v2/jettons/_bulk: + post: + description: Get jetton metadata items by jetton master addresses + operationId: getJettonInfosByAddresses + tags: + - Jettons + requestBody: + $ref: "#/components/requestBodies/AccountIDs" + responses: + '200': + description: a list of jettons + content: + application/json: + schema: + $ref: '#/components/schemas/Jettons' + 'default': + $ref: '#/components/responses/Error' + /v2/jettons/{account_id}/holders: + get: + description: Get jetton's holders + operationId: getJettonHolders + tags: + - Jettons + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/limitQuery' + - $ref: '#/components/parameters/offsetQuery' + responses: + '200': + description: jetton's holders + content: + application/json: + schema: + $ref: '#/components/schemas/JettonHolders' + 'default': + $ref: '#/components/responses/Error' + /v2/jettons/{jetton_id}/transfer/{account_id}/payload: + get: + description: Get jetton's custom payload and state init required for transfer + operationId: getJettonTransferPayload + tags: + - Jettons + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/jettonIDParameter' + responses: + '200': + description: jetton's custom payload + content: + application/json: + schema: + $ref: '#/components/schemas/JettonTransferPayload' + 'default': + $ref: '#/components/responses/Error' + /v2/events/{event_id}/jettons: + get: + description: "Get only jetton transfers in the event" + operationId: getJettonsEvents + tags: + - Jettons + parameters: + - $ref: '#/components/parameters/eventIDParameter' + - $ref: '#/components/parameters/i18n' + responses: + '200': + description: events + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + 'default': + $ref: '#/components/responses/Error' + + /v2/staking/nominator/{account_id}/pools: + get: + description: All pools where account participates + operationId: getAccountNominatorsPools + tags: + - Staking + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: account's pools + content: + application/json: + schema: + $ref: '#/components/schemas/AccountStaking' + 'default': + $ref: '#/components/responses/Error' + /v2/staking/pool/{account_id}: + get: + description: Stacking pool info + operationId: getStakingPoolInfo + tags: + - Staking + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/i18n' + responses: + '200': + description: stacking pool info + content: + application/json: + schema: + type: object + required: + - implementation + - pool + properties: + implementation: + $ref: '#/components/schemas/PoolImplementation' + pool: + $ref: '#/components/schemas/PoolInfo' + 'default': + $ref: '#/components/responses/Error' + /v2/staking/pool/{account_id}/history: + get: + description: Pool history + operationId: getStakingPoolHistory + tags: + - Staking + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: pool history + content: + application/json: + schema: + type: object + required: + - apy + properties: + apy: + type: array + items: + $ref: '#/components/schemas/ApyHistory' + 'default': + $ref: '#/components/responses/Error' + /v2/staking/pools: + get: + description: All pools available in network + operationId: getStakingPools + tags: + - Staking + parameters: + - in: query + name: available_for + required: false + description: account ID + schema: + type: string + format: address + example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 + - in: query + name: include_unverified + required: false + description: "return also pools not from white list - just compatible by interfaces (maybe dangerous!)" + schema: + type: boolean + example: false + - $ref: '#/components/parameters/i18n' + responses: + '200': + description: a list of pools + content: + application/json: + schema: + type: object + required: + - pools + - implementations + properties: + pools: + type: array + items: + $ref: '#/components/schemas/PoolInfo' + implementations: + type: object + additionalProperties: + $ref: '#/components/schemas/PoolImplementation' + 'default': + $ref: '#/components/responses/Error' + + /v2/storage/providers: + get: + description: Get TON storage providers deployed to the blockchain. + operationId: getStorageProviders + tags: + - Storage + responses: + '200': + description: a list of storage providers + content: + application/json: + schema: + type: object + required: + - providers + properties: + providers: + type: array + items: + $ref: '#/components/schemas/StorageProvider' + 'default': + $ref: '#/components/responses/Error' + + /v2/rates: + get: + description: Get the token price in the chosen currency for display only. Don’t use this for financial transactions. + operationId: getRates + tags: + - Rates + parameters: + - in: query + name: tokens + description: accept ton and jetton master addresses, separated by commas + required: true + explode: false + schema: + type: array + maxItems: 100 + items: + type: string + example: [ "ton" ] + - in: query + name: currencies + description: accept ton and all possible fiat currencies, separated by commas + required: true + explode: false + schema: + type: array + maxItems: 50 + items: + type: string + example: [ "ton","usd","rub" ] + responses: + '200': + description: tokens rates + content: + application/json: + schema: + type: object + required: + - rates + properties: + rates: + type: object + additionalProperties: + $ref: '#/components/schemas/TokenRates' + 'default': + $ref: '#/components/responses/Error' + /v2/rates/chart: + get: + description: Get chart by token + operationId: getChartRates + tags: + - Rates + parameters: + - in: query + name: token + description: accept jetton master address + required: true + schema: + type: string + format: address + - in: query + name: currency + required: false + schema: + type: string + example: usd + - name: start_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + - name: end_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + - name: points_count + in: query + required: false + schema: + type: integer + format: int + maximum: 200 + minimum: 0 + default: 200 + responses: + '200': + description: token chart + content: + application/json: + schema: + type: object + required: + - points + properties: + points: + type: array + items: + $ref: '#/components/schemas/ChartPoints' + 'default': + $ref: '#/components/responses/Error' + /v2/rates/markets: + get: + description: Get the TON price from markets + operationId: getMarketsRates + tags: + - Rates + responses: + '200': + description: markets rates + content: + application/json: + schema: + type: object + required: + - markets + properties: + markets: + type: array + items: + $ref: '#/components/schemas/MarketTonRates' + 'default': + $ref: '#/components/responses/Error' + + /v2/tonconnect/payload: + get: + description: Get a payload for further token receipt + operationId: getTonConnectPayload + tags: + - Connect + responses: + '200': + description: payload + content: + application/json: + schema: + type: object + required: + - payload + properties: + payload: + type: string + example: "84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa" + 'default': + $ref: '#/components/responses/Error' + /v2/tonconnect/stateinit: + post: + description: Get account info by state init + operationId: getAccountInfoByStateInit + tags: + - Connect + requestBody: + $ref: "#/components/requestBodies/TonConnectStateInit" + responses: + '200': + description: account info + content: + application/json: + schema: + $ref: '#/components/schemas/AccountInfoByStateInit' + 'default': + $ref: '#/components/responses/Error' + /v2/wallet/auth/proof: + post: + description: Account verification and token issuance + operationId: tonConnectProof + tags: + - Wallet + requestBody: + $ref: "#/components/requestBodies/TonConnectProof" + responses: + '200': + description: auth token + content: + application/json: + schema: + type: object + required: + - token + properties: + token: + type: string + example: "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3..." + 'default': + $ref: '#/components/responses/Error' + /v2/wallet/{account_id}/seqno: + get: + description: Get account seqno + operationId: getAccountSeqno + tags: + - Wallet + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: account seqno + content: + application/json: + schema: + $ref: '#/components/schemas/Seqno' + 'default': + $ref: '#/components/responses/Error' + /v2/gasless/config: + get: + description: Returns configuration of gasless transfers + operationId: gaslessConfig + tags: + - Gasless + responses: + '200': + description: "gasless config" + content: + application/json: + schema: + $ref: '#/components/schemas/GaslessConfig' + 'default': + $ref: '#/components/responses/Error' + /v2/gasless/estimate/{master_id}: + post: + description: Estimates the cost of the given messages and returns a payload to sign + operationId: gaslessEstimate + parameters: + - name: master_id + in: path + required: true + description: jetton to pay commission + schema: + type: string + format: address + example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 + tags: + - Gasless + requestBody: + $ref: "#/components/requestBodies/InternalMessages" + responses: + '200': + description: "payload to sign" + content: + application/json: + schema: + $ref: '#/components/schemas/SignRawParams' + 'default': + $ref: '#/components/responses/Error' + /v2/gasless/send: + post: + description: Submits the signed gasless transaction message to the network + operationId: gaslessSend + tags: + - Gasless + requestBody: + $ref: "#/components/requestBodies/GaslessSend" + responses: + '200': + description: the message has been sent + 'default': + $ref: '#/components/responses/Error' + /v2/pubkeys/{public_key}/wallets: + get: + description: Get wallets by public key + operationId: getWalletsByPublicKey + tags: + - Wallet + parameters: + - $ref: '#/components/parameters/publicKeyParameter' + responses: + '200': + description: a list of wallets + content: + application/json: + schema: + $ref: '#/components/schemas/Accounts' + 'default': + $ref: '#/components/responses/Error' + + /v2/liteserver/get_masterchain_info: + get: + description: Get raw masterchain info + operationId: getRawMasterchainInfo + tags: + - Lite Server + responses: + '200': + description: raw masterchain info + content: + application/json: + schema: + type: object + required: + - last + - state_root_hash + - init + properties: + last: + $ref: '#/components/schemas/BlockRaw' + state_root_hash: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + init: + $ref: '#/components/schemas/InitStateRaw' + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_masterchain_info_ext: + get: + description: Get raw masterchain info ext + operationId: getRawMasterchainInfoExt + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/modeQuery' + responses: + '200': + description: raw masterchain info ext + content: + application/json: + schema: + type: object + required: + - mode + - version + - capabilities + - last + - last_utime + - now + - state_root_hash + - init + properties: + mode: + type: integer + format: int32 + example: 0 + version: + type: integer + format: int32 + example: 257 + capabilities: + type: integer + format: int64 + example: 7 + last: + $ref: '#/components/schemas/BlockRaw' + last_utime: + type: integer + format: int32 + example: 1687938199 + now: + type: integer + format: int32 + example: 1687938204 + state_root_hash: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + init: + $ref: '#/components/schemas/InitStateRaw' + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_time: + get: + description: Get raw time + operationId: getRawTime + tags: + - Lite Server + responses: + '200': + description: raw time + content: + application/json: + schema: + type: object + required: + - time + properties: + time: + type: integer + format: int32 + example: 1687146728 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_block/{block_id}: + get: + description: Get raw blockchain block + operationId: getRawBlockchainBlock + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/blockchainBlockIDExtParameter' + responses: + '200': + description: raw blockchain block + content: + application/json: + schema: + type: object + required: + - id + - data + properties: + id: + $ref: '#/components/schemas/BlockRaw' + data: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_state/{block_id}: + get: + description: Get raw blockchain block state + operationId: getRawBlockchainBlockState + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/blockchainBlockIDExtParameter' + responses: + '200': + description: raw blockchain block state + content: + application/json: + schema: + type: object + required: + - id + - root_hash + - file_hash + - data + properties: + id: + $ref: '#/components/schemas/BlockRaw' + root_hash: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + file_hash: + type: string + example: A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB + data: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_block_header/{block_id}: + get: + description: Get raw blockchain block header + operationId: getRawBlockchainBlockHeader + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/blockchainBlockIDExtParameter' + - $ref: '#/components/parameters/modeQuery' + responses: + '200': + description: raw blockchain block header + content: + application/json: + schema: + type: object + required: + - id + - mode + - header_proof + properties: + id: + $ref: '#/components/schemas/BlockRaw' + mode: + type: integer + format: int32 + example: 0 + header_proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/send_message: + post: + description: Send raw message to blockchain + operationId: sendRawMessage + tags: + - Lite Server + requestBody: + $ref: "#/components/requestBodies/LiteServerSendMessageRequest" + responses: + '200': + description: code + content: + application/json: + schema: + type: object + required: + - code + properties: + code: + type: integer + format: int32 + example: 200 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_account_state/{account_id}: + get: + description: Get raw account state + operationId: getRawAccountState + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/targetBlockIDExtQuery' + responses: + '200': + description: raw account state + content: + application/json: + schema: + type: object + required: + - id + - shardblk + - shard_proof + - proof + - state + properties: + id: + $ref: '#/components/schemas/BlockRaw' + shardblk: + $ref: '#/components/schemas/BlockRaw' + shard_proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + state: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_shard_info/{block_id}: + get: + description: Get raw shard info + operationId: getRawShardInfo + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/blockchainBlockIDExtParameter' + - $ref: '#/components/parameters/workchainQuery' + - $ref: '#/components/parameters/shardQuery' + - $ref: '#/components/parameters/exactQuery' + responses: + '200': + description: raw shard info + content: + application/json: + schema: + type: object + required: + - id + - shardblk + - shard_proof + - shard_descr + properties: + id: + $ref: '#/components/schemas/BlockRaw' + shardblk: + $ref: '#/components/schemas/BlockRaw' + shard_proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + shard_descr: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_all_shards_info/{block_id}: + get: + description: Get all raw shards info + operationId: getAllRawShardsInfo + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/blockchainBlockIDExtParameter' + responses: + '200': + description: all raw shards info + content: + application/json: + schema: + type: object + required: + - id + - proof + - data + properties: + id: + $ref: '#/components/schemas/BlockRaw' + proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + data: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_transactions/{account_id}: + get: + description: Get raw transactions + operationId: getRawTransactions + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/countQuery' + - $ref: '#/components/parameters/ltMustQuery' + - $ref: '#/components/parameters/hashQuery' + responses: + '200': + description: raw transactions + content: + application/json: + schema: + type: object + required: + - ids + - transactions + properties: + ids: + type: array + items: + $ref: '#/components/schemas/BlockRaw' + transactions: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/list_block_transactions/{block_id}: + get: + description: Get raw list block transactions + operationId: getRawListBlockTransactions + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/blockchainBlockIDExtParameter' + - $ref: '#/components/parameters/modeQuery' + - $ref: '#/components/parameters/countQuery' + - $ref: '#/components/parameters/accountIDQuery' + - $ref: '#/components/parameters/ltQuery' + responses: + '200': + description: a list of raw block transactions + content: + application/json: + schema: + type: object + required: + - id + - req_count + - incomplete + - ids + - proof + properties: + id: + $ref: '#/components/schemas/BlockRaw' + req_count: + type: integer + format: int32 + example: 100 + incomplete: + type: boolean + example: true + ids: + type: array + items: + type: object + required: + - mode + properties: + mode: + type: integer + format: int32 + example: 0 + account: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + lt: + type: integer + format: int64 + x-js-format: bigint + hash: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_block_proof: + get: + description: Get raw block proof + operationId: getRawBlockProof + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/knownBlockIDExtQuery' + - $ref: '#/components/parameters/targetBlockIDExtQuery' + - $ref: '#/components/parameters/modeQuery' + responses: + '200': + description: raw block proof + content: + application/json: + schema: + type: object + required: + - complete + - from + - to + - steps + properties: + complete: + type: boolean + example: true + from: + $ref: '#/components/schemas/BlockRaw' + to: + $ref: '#/components/schemas/BlockRaw' + steps: + type: array + items: + type: object + required: + - lite_server_block_link_back + - lite_server_block_link_forward + properties: + lite_server_block_link_back: + type: object + required: + - to_key_block + - from + - to + - dest_proof + - proof + - state_proof + properties: + to_key_block: + type: boolean + example: false + from: + $ref: '#/components/schemas/BlockRaw' + to: + $ref: '#/components/schemas/BlockRaw' + dest_proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + state_proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + lite_server_block_link_forward: + type: object + required: + - to_key_block + - from + - to + - dest_proof + - config_proof + - signatures + properties: + to_key_block: + type: boolean + example: false + from: + $ref: '#/components/schemas/BlockRaw' + to: + $ref: '#/components/schemas/BlockRaw' + dest_proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + config_proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + signatures: + type: object + required: + - validator_set_hash + - catchain_seqno + - signatures + properties: + validator_set_hash: + type: integer + format: int64 + catchain_seqno: + type: integer + format: int32 + signatures: + type: array + items: + type: object + required: + - node_id_short + - signature + properties: + node_id_short: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + signature: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_config_all/{block_id}: + get: + description: Get raw config + operationId: getRawConfig + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/blockchainBlockIDExtParameter' + - $ref: '#/components/parameters/modeQuery' + responses: + '200': + description: raw config + content: + application/json: + schema: + type: object + required: + - mode + - id + - state_proof + - config_proof + properties: + mode: + type: integer + format: int32 + example: 0 + id: + $ref: '#/components/schemas/BlockRaw' + state_proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + config_proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_shard_block_proof/{block_id}: + get: + description: Get raw shard block proof + operationId: getRawShardBlockProof + tags: + - Lite Server + parameters: + - $ref: '#/components/parameters/blockchainBlockIDExtParameter' + responses: + '200': + description: raw shard block proof + content: + application/json: + schema: + type: object + required: + - masterchain_id + - links + properties: + masterchain_id: + $ref: '#/components/schemas/BlockRaw' + links: + type: array + items: + type: object + required: + - id + - proof + properties: + id: + $ref: '#/components/schemas/BlockRaw' + proof: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + 'default': + $ref: '#/components/responses/Error' + /v2/liteserver/get_out_msg_queue_sizes: + get: + description: Get out msg queue sizes + operationId: getOutMsgQueueSizes + tags: + - Lite Server + responses: + '200': + description: out msg queue sizes + content: + application/json: + schema: + type: object + required: + - ext_msg_queue_size_limit + - shards + properties: + ext_msg_queue_size_limit: + type: integer + format: uint32 + shards: + type: array + items: + type: object + required: + - id + - size + properties: + id: + $ref: '#/components/schemas/BlockRaw' + size: + type: integer + format: uint32 + 'default': + $ref: '#/components/responses/Error' + + /v2/multisig/{account_id}: + get: + description: Get multisig account info + operationId: getMultisigAccount + tags: + - Multisig + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: multisig account + content: + application/json: + schema: + $ref: '#/components/schemas/Multisig' + 'default': + $ref: '#/components/responses/Error' + /v2/message/decode: + post: + description: Decode a given message. Only external incoming messages can be decoded currently. + operationId: decodeMessage + tags: + - Emulation + requestBody: + $ref: "#/components/requestBodies/Boc" + responses: + '200': + description: decoded message + content: + application/json: + schema: + $ref: '#/components/schemas/DecodedMessage' + 'default': + $ref: '#/components/responses/Error' + /v2/events/emulate: + post: + description: Emulate sending message to blockchain + operationId: emulateMessageToEvent + tags: + - Emulation + - Events + parameters: + - $ref: '#/components/parameters/i18n' + - name: ignore_signature_check + in: query + required: false + schema: + type: boolean + requestBody: + $ref: "#/components/requestBodies/Boc" + responses: + '200': + description: emulated event + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + 'default': + $ref: '#/components/responses/Error' + /v2/traces/emulate: + post: + description: Emulate sending message to blockchain + operationId: emulateMessageToTrace + tags: + - Emulation + - Traces + parameters: + - name: ignore_signature_check + in: query + required: false + schema: + type: boolean + requestBody: + $ref: "#/components/requestBodies/Boc" + responses: + '200': + description: emulated trace + content: + application/json: + schema: + $ref: '#/components/schemas/Trace' + 'default': + $ref: '#/components/responses/Error' + /v2/wallet/emulate: + post: + description: Emulate sending message to blockchain + operationId: emulateMessageToWallet + tags: + - Emulation + - Wallet + parameters: + - $ref: '#/components/parameters/i18n' + requestBody: + $ref: "#/components/requestBodies/EmulationBoc" + responses: + '200': + description: emulated message + content: + application/json: + schema: + $ref: '#/components/schemas/MessageConsequences' + 'default': + $ref: '#/components/responses/Error' + /v2/accounts/{account_id}/events/emulate: + post: + description: Emulate sending message to blockchain + operationId: emulateMessageToAccountEvent + tags: + - Emulation + - Accounts + parameters: + - $ref: '#/components/parameters/i18n' + - $ref: '#/components/parameters/accountIDParameter' + - name: ignore_signature_check + in: query + required: false + schema: + type: boolean + requestBody: + $ref: "#/components/requestBodies/Boc" + responses: + '200': + description: emulated message to account + content: + application/json: + schema: + $ref: '#/components/schemas/AccountEvent' + 'default': + $ref: '#/components/responses/Error' +components: + parameters: + masterchainSeqno: + in: path + name: masterchain_seqno + required: true + description: "masterchain block seqno" + schema: + type: integer + format: int32 + example: 123456 + blockchainBlockIDParameter: + in: path + name: block_id + required: true + description: block ID + schema: + type: string + example: (-1,8000000000000000,4234234) + blockchainBlockIDExtParameter: + in: path + name: block_id + required: true + description: "block ID: (workchain,shard,seqno,root_hash,file_hash)" + schema: + type: string + example: (-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29) + transactionIDParameter: + in: path + name: transaction_id + required: true + description: transaction ID + schema: + type: string + example: 97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 + messageIDParameter: + in: path + name: msg_id + required: true + description: message ID + schema: + type: string + example: 97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 + accountIDParameter: + in: path + name: account_id + required: true + description: account ID + schema: + type: string + format: address + example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 + accountIDParameters: + in: path + name: account_ids + required: true + description: account ID + explode: false + schema: + type: array + items: + type: string + format: address + example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 + jettonIDParameter: + in: path + name: jetton_id + required: true + description: jetton ID + schema: + type: string + format: address + example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 + methodNameParameter: + in: path + name: method_name + required: true + description: contract get method name + schema: + type: string + example: get_wallet_address + domainNameParameter: + in: path + name: domain_name + required: true + description: domain name with .ton or .t.me + schema: + type: string + example: wallet.ton + traceIDParameter: + in: path + name: trace_id + required: true + description: "trace ID or transaction hash in hex (without 0x) or base64url format" + schema: + type: string + example: 97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 + eventIDParameter: + in: path + name: event_id + required: true + description: "event ID or transaction hash in hex (without 0x) or base64url format" + schema: + type: string + example: 97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 + publicKeyParameter: + in: path + name: public_key + required: true + schema: + type: string + example: NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3... + i18n: + in: header + name: Accept-Language + required: false + schema: + type: string + example: "ru-RU,ru;q=0.5" + default: "en" + limitQuery: + in: query + name: limit + required: false + schema: + type: integer + default: 1000 + maximum: 1000 + minimum: 1 + offsetQuery: + in: query + name: offset + required: false + schema: + type: integer + default: 0 + minimum: 0 + domainFilterQuery: + in: query + name: tld + required: false + description: domain filter for current auctions "ton" or "t.me" + schema: + type: string + example: ton + periodQuery: + in: query + name: period + required: false + description: "number of days before expiration" + schema: + type: integer + minimum: 1 + maximum: 3660 + collectionQuery: + in: query + name: collection + required: false + description: "nft collection" + schema: + type: string + format: address + example: "0:06d811f426598591b32b2c49f29f66c821368e4acb1de16762b04e0174532465" + modeQuery: + in: query + name: mode + required: true + description: "mode" + schema: + type: integer + format: int32 + example: 0 + countQuery: + in: query + name: count + required: true + description: "count" + schema: + type: integer + format: int32 + example: 100 + knownBlockIDExtQuery: + in: query + name: known_block + required: true + description: "known block: (workchain,shard,seqno,root_hash,file_hash)" + schema: + type: string + example: (-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29) + targetBlockIDExtQuery: + in: query + name: target_block + required: false + description: "target block: (workchain,shard,seqno,root_hash,file_hash)" + schema: + type: string + example: (-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29) + ltMustQuery: + in: query + name: lt + required: true + description: "lt" + schema: + type: integer + format: int64 + example: 23814011000000 + ltQuery: + in: query + name: lt + description: "lt" + schema: + type: integer + format: int64 + example: 23814011000000 + hashQuery: + in: query + name: hash + required: true + description: "hash" + schema: + type: string + example: "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85" + workchainQuery: + in: query + name: workchain + required: true + description: "workchain" + schema: + type: integer + format: int32 + example: 1 + shardQuery: + in: query + name: shard + required: true + description: "shard" + schema: + type: integer + format: int64 + example: 1 + exactQuery: + in: query + name: exact + required: true + description: "exact" + schema: + type: boolean + example: false + accountIDQuery: + in: query + name: account_id + required: false + description: account ID + explode: false + schema: + type: string + format: address + example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 + initiatorQuery: + in: query + name: initiator + description: Show only events that are initiated by this account + explode: false + schema: + type: boolean + default: false + currenciesQuery: + in: query + name: currencies + description: accept ton and all possible fiat currencies, separated by commas + required: false + explode: false + schema: + type: array + items: + type: string + example: [ "ton", "usd", "rub" ] + supportedExtensions: + in: query + name: supported_extensions + description: "comma separated list supported extensions" + explode: false + required: false + schema: + type: array + items: + type: string + example: [ "custom_payload" ] + currencyQuery: + in: query + name: currency + required: false + schema: + type: string + example: "usd" + fromQuery: + in: query + name: from + required: true + schema: + type: integer + format: int64 + toQuery: + in: query + name: to + required: true + schema: + type: integer + format: int64 + + requestBodies: + MethodParameters: + description: input parameters for contract get method + content: + application/json: + schema: + type: object + BatchBoc: + description: both a single boc and a batch of boc serialized in base64/hex are accepted + required: true + content: + application/json: + schema: + type: object + properties: + boc: + type: string + format: cell + batch: + type: array + maxItems: 10 + items: + type: string + format: cell + EmulationBoc: + description: bag-of-cells serialized to base64/hex and additional parameters to configure emulation + required: true + content: + application/json: + schema: + type: object + required: + - boc + properties: + boc: + type: string + format: cell + params: + type: array + description: additional per account configuration + items: + type: object + required: + - address + properties: + address: + type: string + format: address + example: "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b" + balance: + type: integer + format: int64 + example: 10000000000 + x-js-format: bigint + InternalMessages: + description: bag-of-cells serialized to hex + required: true + content: + application/json: + schema: + type: object + required: + - messages + - wallet_address + - wallet_public_key + properties: + wallet_address: + type: string + format: address + wallet_public_key: + type: string + messages: + type: array + items: + type: object + required: + - boc + properties: + boc: + type: string + format: cell + GaslessSend: + description: bag-of-cells serialized to hex + required: true + content: + application/json: + schema: + type: object + required: + - boc + - wallet_public_key + properties: + wallet_public_key: + type: string + description: hex encoded public key + boc: + type: string + format: cell + Boc: + description: bag-of-cells serialized to hex + required: true + content: + application/json: + schema: + type: object + required: + - boc + properties: + boc: + type: string + format: cell + AccountIDs: + description: a list of account ids + content: + application/json: + schema: + type: object + required: + - account_ids + properties: + account_ids: + type: array + items: + type: string + format: address + example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 + TonConnectProof: + description: "Data that is expected from TON Connect" + required: true + content: + application/json: + schema: + type: object + required: + - address + - proof + properties: + address: + type: string + format: address + example: "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b" + proof: + type: object + required: + - timestamp + - domain + - signature + - payload + properties: + timestamp: + type: integer + format: int64 + example: "1678275313" + domain: + type: object + required: + - value + properties: + length_bytes: + type: integer + format: int32 + value: + type: string + signature: + type: string + payload: + type: string + example: "84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa" + state_init: + type: string + format: cell-base64 + TonConnectStateInit: + description: "Data that is expected" + required: true + content: + application/json: + schema: + type: object + required: + - state_init + properties: + state_init: + type: string + format: cell-base64 + LiteServerSendMessageRequest: + description: "Data that is expected" + required: true + content: + application/json: + schema: + type: object + required: + - body + properties: + body: + type: string + format: cell-base64 + + schemas: + Error: + type: object + required: + - error + properties: + error: + type: string + example: error description + AccountAddress: + type: object + required: + - address + - is_scam + - is_wallet + properties: + address: + type: string + format: address + example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365 + name: + type: string + example: Ton foundation + description: Display name. Data collected from different sources like moderation lists, dns, collections names and over. + is_scam: + type: boolean + example: true + description: Is this account was marked as part of scammers activity + icon: + type: string + example: https://ton.org/logo.png + is_wallet: + type: boolean + example: true + BlockCurrencyCollection: + type: object + required: + - grams + - other + properties: + grams: + type: integer + format: int64 + example: 10000000000 + x-js-format: bigint + other: + type: array + items: + type: object + required: + - id + - value + properties: + id: + type: integer + format: int64 + example: 13 + value: + type: string + x-js-format: bigint + example: "10000000000" + BlockValueFlow: + type: object + required: + - from_prev_blk + - to_next_blk + - imported + - exported + - fees_collected + - fees_imported + - recovered + - created + - minted + properties: + from_prev_blk: + $ref: '#/components/schemas/BlockCurrencyCollection' + to_next_blk: + $ref: '#/components/schemas/BlockCurrencyCollection' + imported: + $ref: '#/components/schemas/BlockCurrencyCollection' + exported: + $ref: '#/components/schemas/BlockCurrencyCollection' + fees_collected: + $ref: '#/components/schemas/BlockCurrencyCollection' + burned: + $ref: '#/components/schemas/BlockCurrencyCollection' + fees_imported: + $ref: '#/components/schemas/BlockCurrencyCollection' + recovered: + $ref: '#/components/schemas/BlockCurrencyCollection' + created: + $ref: '#/components/schemas/BlockCurrencyCollection' + minted: + $ref: '#/components/schemas/BlockCurrencyCollection' + ServiceStatus: + type: object + required: + - indexing_latency + - rest_online + - last_known_masterchain_seqno + properties: + rest_online: + type: boolean + default: true + indexing_latency: + type: integer + example: 100 + last_known_masterchain_seqno: + type: integer + example: 123456 + format: int32 + ReducedBlock: + type: object + required: + - workchain_id + - shard + - seqno + - tx_quantity + - utime + - shards_blocks + - parent + properties: + workchain_id: + type: integer + example: 0 + format: int32 + shard: + type: string + # x-js-format: bigint ??? + example: "8000000000000000" + seqno: + type: integer + example: 21734019 + format: int32 + master_ref: + type: string + example: (-1,4234234,8000000000000000) + tx_quantity: + type: integer + example: 130 + utime: + type: integer + format: int64 + example: 23814011000000 + shards_blocks: + type: array + items: + type: string + example: "[ (0,4234235,8000000000000000) ]" + parent: + type: array + items: + type: string + example: "[ (0,21734018,8000000000000000) ]" + BlockchainBlock: + type: object + required: + - workchain_id + - shard + - seqno + - root_hash + - file_hash + - global_id + - value_flow + - version + - after_merge + - before_split + - after_split + - want_split + - want_merge + - key_block + - gen_utime + - start_lt + - end_lt + - vert_seqno + - gen_catchain_seqno + - min_ref_mc_seqno + - prev_key_block_seqno + - prev_refs + - in_msg_descr_length + - out_msg_descr_length + - rand_seed + - created_by + - tx_quantity + properties: + tx_quantity: + type: integer + example: 130 + value_flow: + $ref: '#/components/schemas/BlockValueFlow' + workchain_id: + type: integer + example: 0 + format: int32 + shard: + type: string + # x-js-format: bigint ??? + example: "8000000000000000" + seqno: + type: integer + example: 21734019 + format: int32 + root_hash: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + file_hash: + type: string + example: A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB + global_id: + type: integer + example: -239 + format: int32 + version: + type: integer + example: 0 + format: int32 + after_merge: + type: boolean + example: true + before_split: + type: boolean + example: true + after_split: + type: boolean + example: true + want_split: + type: boolean + example: true + want_merge: + type: boolean + example: true + key_block: + type: boolean + example: true + gen_utime: + type: integer + format: int64 + example: 1674826775 + start_lt: + type: integer + format: int64 + example: 23814011000000 + x-js-format: bigint + end_lt: + type: integer + format: int64 + example: 23814011000001 + x-js-format: bigint + vert_seqno: + type: integer + example: 0 + format: int32 + gen_catchain_seqno: + type: integer + example: 0 + format: int32 + min_ref_mc_seqno: + type: integer + example: 0 + format: int32 + prev_key_block_seqno: + type: integer + example: 0 + format: int32 + gen_software_version: + type: integer + example: 0 + format: int32 + gen_software_capabilities: + type: integer + format: int64 + example: 0 + master_ref: + type: string + example: (-1,4234234,8000000000000000) + prev_refs: + type: array + items: + type: string + example: [ (-1,4234235,8000000000000000) ] + in_msg_descr_length: + type: integer + format: int64 + example: 0 + out_msg_descr_length: + type: integer + format: int64 + example: 0 + rand_seed: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + created_by: + type: string + example: A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB + BlockchainBlocks: + type: object + required: + - blocks + properties: + blocks: + type: array + items: + $ref: '#/components/schemas/BlockchainBlock' + ReducedBlocks: + type: object + required: + - blocks + properties: + blocks: + type: array + items: + $ref: '#/components/schemas/ReducedBlock' + BlockchainBlockShards: + type: object + required: + - shards + properties: + shards: + type: array + items: + type: object + required: + - last_known_block_id + - last_known_block + properties: + last_known_block_id: + type: string + example: (0,8000000000000000,4234234) + last_known_block: + $ref: '#/components/schemas/BlockchainBlock' + AccountStatus: + type: string + example: active + enum: + - nonexist + - uninit + - active + - frozen + StateInit: + type: object + required: + - boc + - interfaces + properties: + boc: + type: string + format: cell + example: b5ee9c72010106010044000114ff00f4a413f4bcf2c80b01020120020302014804050004f2300038d06c21d31f30ed44d0d33f3001c00197a4c8cb3fc9ed549330f206e20011a13431da89a1a67e61 + interfaces: + type: array + items: + type: string + Message: + type: object + required: + - msg_type + - created_lt + - ihr_disabled + - bounce + - bounced + - value + - fwd_fee + - ihr_fee + - import_fee + - created_at + - hash + properties: + msg_type: + type: string + example: int_msg + enum: + - int_msg + - ext_in_msg + - ext_out_msg + created_lt: + type: integer + format: int64 + example: 25713146000001 + x-js-format: bigint + ihr_disabled: + type: boolean + example: true + bounce: + type: boolean + example: true + bounced: + type: boolean + example: true + value: + type: integer + format: int64 + x-js-format: bigint + example: 60000000 + fwd_fee: + type: integer + format: int64 + x-js-format: bigint + example: 5681002 + ihr_fee: + type: integer + format: int64 + x-js-format: bigint + example: 5681002 + destination: + $ref: '#/components/schemas/AccountAddress' + source: + $ref: '#/components/schemas/AccountAddress' + import_fee: + type: integer + format: int64 + x-js-format: bigint + example: 5681002 + created_at: + type: integer + format: int64 + example: 5681002 + op_code: + type: string + x-js-format: bigint + example: "0xdeadbeaf" + init: + $ref: '#/components/schemas/StateInit' + hash: + type: string + example: "1219de582369ac80ee1afe12147930f458a54ff1eea612611a8bc6bd31581a6c" + raw_body: + type: string + format: cell + description: hex-encoded BoC with raw message body + example: "B5EE9C7201010101001100001D00048656C6C6F2C20776F726C64218" + decoded_op_name: + type: string + example: "nft_transfer" + decoded_body: { } # Free-form JSON value + TransactionType: + type: string + example: TransOrd + enum: + - TransOrd + - TransTickTock + - TransSplitPrepare + - TransSplitInstall + - TransMergePrepare + - TransMergeInstall + - TransStorage + AccStatusChange: + type: string + example: acst_unchanged + enum: + - acst_unchanged + - acst_frozen + - acst_deleted + ComputeSkipReason: + type: string + example: cskip_no_state + enum: + - cskip_no_state + - cskip_bad_state + - cskip_no_gas + BouncePhaseType: + type: string + example: cskip_no_state + enum: + - TrPhaseBounceNegfunds + - TrPhaseBounceNofunds + - TrPhaseBounceOk + ComputePhase: + type: object + required: + - skipped + properties: + skipped: + type: boolean + example: true + skip_reason: + $ref: '#/components/schemas/ComputeSkipReason' + success: + type: boolean + example: true + gas_fees: + type: integer + format: int64 + x-js-format: bigint + example: 1000 + gas_used: + type: integer + format: int64 + x-js-format: bigint + example: 10000 + vm_steps: + type: integer + format: int32 + example: 5 + exit_code: + type: integer + format: int32 + example: 0 + exit_code_description: + type: string + StoragePhase: + type: object + required: + - fees_collected + - status_change + properties: + fees_collected: + type: integer + format: int64 + x-js-format: bigint + example: 25713146000001 + fees_due: + type: integer + format: int64 + x-js-format: bigint + example: 25713146000001 + status_change: + $ref: '#/components/schemas/AccStatusChange' + CreditPhase: + type: object + required: + - fees_collected + - credit + properties: + fees_collected: + type: integer + format: int64 + x-js-format: bigint + example: 100 + credit: + type: integer + format: int64 + x-js-format: bigint + example: 1000 + ActionPhase: + type: object + required: + - success + - result_code + - total_actions + - skipped_actions + - fwd_fees + - total_fees + properties: + success: + type: boolean + example: true + result_code: + type: integer + format: int32 + example: 5 + total_actions: + type: integer + format: int32 + example: 5 + skipped_actions: + type: integer + format: int32 + example: 5 + fwd_fees: + type: integer + format: int64 + x-js-format: bigint + example: 1000 + total_fees: + type: integer + format: int64 + x-js-format: bigint + example: 1000 + result_code_description: + type: string + Transaction: + type: object + required: + - hash + - lt + - account + - end_balance + - success + - utime + - orig_status + - end_status + - total_fees + - transaction_type + - state_update_old + - state_update_new + - out_msgs + - block + - aborted + - destroyed + - raw + properties: + hash: + type: string + example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 + lt: + type: integer + format: int64 + example: 25713146000001 + x-js-format: bigint + account: + $ref: '#/components/schemas/AccountAddress' + success: + type: boolean + example: true + utime: + type: integer + format: int64 + example: 1645544908 + orig_status: + $ref: '#/components/schemas/AccountStatus' + end_status: + $ref: '#/components/schemas/AccountStatus' + total_fees: + type: integer + format: int64 + x-js-format: bigint + example: 25713146000001 + end_balance: + type: integer + format: int64 + x-js-format: bigint + example: 25713146000001 + transaction_type: + $ref: '#/components/schemas/TransactionType' + state_update_old: + type: string + example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 + state_update_new: + type: string + example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 + in_msg: + $ref: '#/components/schemas/Message' + out_msgs: + type: array + items: + $ref: '#/components/schemas/Message' + block: + type: string + example: (-1,4234234,8000000000000000) + prev_trans_hash: + type: string + example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 + prev_trans_lt: + type: integer + format: int64 + x-js-format: bigint + example: 25713146000001 + compute_phase: + $ref: '#/components/schemas/ComputePhase' + storage_phase: + $ref: '#/components/schemas/StoragePhase' + credit_phase: + $ref: '#/components/schemas/CreditPhase' + action_phase: + $ref: '#/components/schemas/ActionPhase' + bounce_phase: + $ref: '#/components/schemas/BouncePhaseType' + aborted: + type: boolean + example: true + destroyed: + type: boolean + example: true + raw: + type: string + format: cell + description: "hex encoded boc with raw transaction" + example: "b5ee9c72410206010001380003b372cf3b5b8c891e517c9addbda1c0386a09ccacbb0e3faf630b51cfc8152325acb00002ac5795c0e41fdf79135cb7da03cc623b165d614b562a51eeccd8a5e097f405abf6b37f4e73000002ac5629732c1666887ed000144030480102030101a004008272abc8f2971aa4404ac6da1597720f348b2e1247b1ad9f55cbd3b6812f0a5f08b269bb65039fb1f6074d00f794e857f6dfd01131d299df456af10a8a4943d4d165000d0c80608840492001ab48015581f575c3b8c6ab3d6" + Transactions: + type: object + required: + - transactions + properties: + transactions: + type: array + items: + $ref: '#/components/schemas/Transaction' + ConfigProposalSetup: + type: object + required: + - min_tot_rounds + - max_tot_rounds + - min_wins + - max_losses + - min_store_sec + - max_store_sec + - bit_price + - cell_price + properties: + min_tot_rounds: + type: integer + example: 2 + max_tot_rounds: + type: integer + example: 6 + min_wins: + type: integer + example: 2 + max_losses: + type: integer + example: 6 + min_store_sec: + type: integer + format: int64 + example: 1000000 + max_store_sec: + type: integer + format: int64 + example: 10000000 + bit_price: + type: integer + format: int64 + example: 1 + cell_price: + type: integer + format: int64 + example: 500 + GasLimitPrices: + type: object + required: + - gas_price + - gas_limit + - gas_credit + - block_gas_limit + - freeze_due_limit + - delete_due_limit + properties: + special_gas_limit: + type: integer + format: int64 + flat_gas_limit: + type: integer + format: int64 + flat_gas_price: + type: integer + format: int64 + gas_price: + type: integer + format: int64 + example: 1 + gas_limit: + type: integer + format: int64 + example: 1000000 + gas_credit: + type: integer + format: int64 + example: 1000000 + block_gas_limit: + type: integer + format: int64 + example: 1000000 + freeze_due_limit: + type: integer + format: int64 + example: 1000000 + delete_due_limit: + type: integer + format: int64 + example: 1000000 + BlockParamLimits: + type: object + required: + - underload + - soft_limit + - hard_limit + properties: + underload: + type: integer + format: int64 + example: 1000000 + soft_limit: + type: integer + format: int64 + example: 1000000 + hard_limit: + type: integer + format: int64 + example: 1000000 + BlockLimits: + type: object + required: + - bytes + - gas + - lt_delta + properties: + bytes: + $ref: '#/components/schemas/BlockParamLimits' + gas: + $ref: '#/components/schemas/BlockParamLimits' + lt_delta: + $ref: '#/components/schemas/BlockParamLimits' + MsgForwardPrices: + type: object + required: + - lump_price + - bit_price + - cell_price + - ihr_price_factor + - first_frac + - next_frac + properties: + lump_price: + type: integer + format: int64 + example: 1000000 + bit_price: + type: integer + format: int64 + example: 1000000 + cell_price: + type: integer + format: int64 + example: 1000000 + ihr_price_factor: + type: integer + format: int64 + example: 1000000 + first_frac: + type: integer + format: int64 + example: 1000000 + next_frac: + type: integer + format: int64 + example: 1000000 + WorkchainDescr: + type: object + required: + - workchain + - enabled_since + - actual_min_split + - min_split + - max_split + - basic + - active + - accept_msgs + - flags + - zerostate_root_hash + - zerostate_file_hash + - version + properties: + workchain: + type: integer + format: int + example: 0 + enabled_since: + type: integer + format: int64 + example: 1000000 + actual_min_split: + type: integer + format: int + example: 1000000 + min_split: + type: integer + format: int + example: 1000000 + max_split: + type: integer + format: int + example: 1000000 + basic: + type: integer + example: 1000000 + active: + type: boolean + example: true + accept_msgs: + type: boolean + example: true + flags: + type: integer + format: int + example: 1000000 + zerostate_root_hash: + type: string + example: "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85" + zerostate_file_hash: + type: string + example: "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB" + version: + type: integer + format: int64 + example: 1000000 + MisbehaviourPunishmentConfig: + type: object + required: + - default_flat_fine + - default_proportional_fine + - severity_flat_mult + - severity_proportional_mult + - unpunishable_interval + - long_interval + - long_flat_mult + - long_proportional_mult + - medium_interval + - medium_flat_mult + - medium_proportional_mult + properties: + default_flat_fine: + type: integer + format: int64 + example: 1000000 + default_proportional_fine: + type: integer + format: int64 + example: 1000000 + severity_flat_mult: + type: integer + example: 1000000 + severity_proportional_mult: + type: integer + example: 1000000 + unpunishable_interval: + type: integer + example: 1000000 + long_interval: + type: integer + example: 1000000 + long_flat_mult: + type: integer + example: 1000000 + long_proportional_mult: + type: integer + example: 1000000 + medium_interval: + type: integer + example: 1000000 + medium_flat_mult: + type: integer + example: 1000000 + medium_proportional_mult: + type: integer + example: 1000000 + + SizeLimitsConfig: + type: object + required: + - max_msg_bits + - max_msg_cells + - max_library_cells + - max_vm_data_depth + - max_ext_msg_size + - max_ext_msg_depth + properties: + max_msg_bits: + type: integer + format: int64 + example: 1000000 + max_msg_cells: + type: integer + format: int64 + example: 1000000 + max_library_cells: + type: integer + format: int64 + example: 1000000 + max_vm_data_depth: + type: integer + format: int + example: 1000000 + max_ext_msg_size: + type: integer + format: int64 + example: 1000000 + max_ext_msg_depth: + type: integer + format: int + example: 1000000 + max_acc_state_cells: + type: integer + format: int64 + example: 1000000 + max_acc_state_bits: + type: integer + format: int64 + example: 1000000 + ValidatorsSet: + type: object + required: + - utime_since + - utime_until + - total + - main + - list + properties: + utime_since: + type: integer + utime_until: + type: integer + total: + type: integer + main: + type: integer + total_weight: + type: string + x-js-format: bigint + example: "1152921504606846800" + list: + type: array + items: + type: object + required: + - public_key + - weight + properties: + public_key: + type: string + weight: + type: integer + format: int64 + x-js-format: bigint + adnl_addr: + type: string + example: "45061C1D4EC44A937D0318589E13C73D151D1CEF5D3C0E53AFBCF56A6C2FE2BD" + Oracle: + type: object + required: + - address + - secp_pubkey + properties: + address: + type: string + format: address + example: 0:55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 + secp_pubkey: + type: string + example: 00000000000000000000000017dcab1b1481610f6c7a7a98cf0370dc0ec704a6 + OracleBridgeParams: + type: object + required: + - bridge_addr + - oracle_multisig_address + - external_chain_address + - oracles + properties: + bridge_addr: + type: string + format: address + oracle_multisig_address: + type: string + format: address + external_chain_address: + type: string + oracles: + type: array + items: + $ref: '#/components/schemas/Oracle' + JettonBridgePrices: + type: object + required: + - bridge_burn_fee + - bridge_mint_fee + - wallet_min_tons_for_storage + - wallet_gas_consumption + - minter_min_tons_for_storage + - discover_gas_consumption + properties: + bridge_burn_fee: + type: integer + format: int64 + bridge_mint_fee: + type: integer + format: int64 + wallet_min_tons_for_storage: + type: integer + format: int64 + wallet_gas_consumption: + type: integer + format: int64 + minter_min_tons_for_storage: + type: integer + format: int64 + discover_gas_consumption: + type: integer + format: int64 + JettonBridgeParams: + type: object + required: + - bridge_address + - oracles_address + - state_flags + - oracles + properties: + bridge_address: + type: string + format: address + oracles_address: + type: string + format: address + state_flags: + type: integer + burn_bridge_fee: + type: integer + format: int64 + oracles: + type: array + items: + $ref: '#/components/schemas/Oracle' + external_chain_address: + type: string + prices: + $ref: '#/components/schemas/JettonBridgePrices' + Validator: + type: object + required: + - address + - adnl_address + - stake + - max_factor + properties: + address: + type: string + format: address + example: 0:55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 + adnl_address: + type: string + example: 10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365 + stake: + type: integer + format: int64 + example: 123456789 + x-js-format: bigint + max_factor: + type: integer + format: int64 + example: 123456789 + Validators: + type: object + required: + - validators + - elect_at + - elect_close + - min_stake + - total_stake + properties: + elect_at: + type: integer + format: int64 + example: 123456789 + elect_close: + type: integer + format: int64 + example: 123456789 + min_stake: + type: integer + format: int64 + x-js-format: bigint + example: 123456789 + total_stake: + type: integer + format: int64 + x-js-format: bigint + example: 123456789 + validators: + type: array + items: + $ref: '#/components/schemas/Validator' + AccountStorageInfo: + type: object + required: + - used_cells + - used_bits + - used_public_cells + - last_paid + - due_payment + properties: + used_cells: + type: integer + format: int64 + example: 567 + used_bits: + type: integer + format: int64 + example: 567 + used_public_cells: + type: integer + format: int64 + example: 567 + last_paid: + type: integer + format: int64 + description: time of the last payment + example: 1720860269 + due_payment: + type: integer + format: int64 + x-js-format: bigint + example: 567 + BlockchainRawAccount: + type: object + required: + - address + - balance + - status + - last_transaction_lt + - storage + properties: + address: + type: string + format: address + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf + balance: + type: integer + format: int64 + x-js-format: bigint + example: 123456789 + extra_balance: + type: object + additionalProperties: + type: string + # x-js-format: bigint ??? + # example ??? + code: + type: string + format: cell + example: b5ee9c72410104010087000114ff00f4a413f4a0f2c80b0102012002030002d200dfa5ffff76a268698fe9ffe8e42c5267858f90e785ffe4f6aa6467c444ffb365ffc10802faf0807d014035e7a064b87d804077e7857fc10803dfd2407d014035e7a064b86467cd8903a32b9ba4410803ade68afd014035e7a045ea432b6363796103bb7b9363210c678b64b87d807d8040c249b3e4 + data: + type: string + format: cell + example: b5ee9c7241010101002600004811fd096c0000000000000000000000000000000000000000000000000000000000000000cb78264d + last_transaction_lt: + type: integer + format: int64 + x-js-format: bigint + example: 123456789 + last_transaction_hash: + type: string + example: 088b436a846d92281734236967970612f87fbd64a2cd3573107948379e8e4161 + frozen_hash: + type: string + example: 088b436a846d92281734236967970612f87fbd64a2cd3573107948379e8e4161 + status: + '$ref': '#/components/schemas/AccountStatus' + storage: + $ref: '#/components/schemas/AccountStorageInfo' + libraries: + type: array + items: + type: object + required: + - public + - root + properties: + public: + type: boolean + example: true + root: + type: string + format: cell + Account: + type: object + required: + - address + - balance + - status + - last_activity + - get_methods + - is_wallet + properties: + address: + type: string + format: address + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf + balance: + type: integer + format: int64 + example: 123456789 + x-js-format: bigint + currencies_balance: + description: "{'USD': 1, 'IDR': 1000}" + type: object + additionalProperties: true + example: { } + last_activity: + type: integer + description: unix timestamp + format: int64 + example: 1720860269 + status: + '$ref': '#/components/schemas/AccountStatus' + interfaces: + type: array + items: + type: string + example: nft_sale + name: + type: string + example: "Ton foundation" + is_scam: + type: boolean + example: true + icon: + type: string + example: "https://ton.org/logo.png" + memo_required: + type: boolean + example: true + get_methods: + type: array + items: + type: string + example: [ 'get_item_data' ] + is_suspended: + type: boolean + is_wallet: + type: boolean + Accounts: + type: object + required: + - accounts + properties: + accounts: + type: array + items: + $ref: '#/components/schemas/Account' + GaslessConfig: + type: object + required: + - gas_jettons + - relay_address + properties: + relay_address: + type: string + format: address + description: "sending excess to this address decreases the commission of a gasless transfer" + example: 0:dfbd5be8497fdc0c9fcbdfc676864840ddf8ad6423d6d5657d9b0e8270d6c8ac + gas_jettons: + type: array + description: "list of jettons, any of them can be used to pay for gas" + items: + type: object + required: + - master_id + properties: + master_id: + type: string + format: address + SignRawMessage: + type: object + required: + - address + - amount + properties: + address: + type: string + format: address + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf + amount: + type: string + # x-js-format: bigint + # example: "1000000" nanocoins or decimal ? + description: "Number of nanocoins to send. Decimal string." + payload: + type: string + format: cell + description: "Raw one-cell BoC encoded in hex." + stateInit: + type: string + format: cell + description: "Raw once-cell BoC encoded in hex." + SignRawParams: + type: object + required: + - messages + - relay_address + - commission + - from + - valid_until + properties: + relay_address: + type: string + format: address + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf + commission: + type: string + x-js-format: bigint + example: "1000000" + description: "Commission for the transaction. In nanocoins." + from: + type: string + format: address + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf + valid_until: + type: integer + format: int64 + example: 1717397217 + messages: + type: array + items: + $ref: '#/components/schemas/SignRawMessage' + MethodExecutionResult: + type: object + required: + - success + - exit_code + - stack + properties: + success: + type: boolean + example: true + exit_code: + type: integer + example: 0 + description: tvm exit code + stack: + type: array + items: + $ref: "#/components/schemas/TvmStackRecord" + decoded: { } # Free-form JSON value + TvmStackRecord: + type: object + format: tuple-item + required: + - type + properties: + type: + type: string + example: "cell" + enum: + - cell + - num + - nan + - "null" + - tuple + cell: + type: string + format: cell + slice: + type: string + format: cell + num: + type: string + example: "" + tuple: + type: array + example: [ ] + items: + $ref: '#/components/schemas/TvmStackRecord' + RawBlockchainConfig: + type: object + required: + - config + properties: + config: + type: object + additionalProperties: true + example: { } + + BlockchainConfig: + type: object + required: + - raw + - "0" + - "1" + - "2" + - "4" + - "44" + properties: + raw: + type: string + format: cell + description: config boc in hex format + "0": + type: string + format: address + description: "config address" + "1": + type: string + format: address + description: "elector address" + "2": + type: string + format: address + description: "minter address" + "3": + type: string + format: address + description: "The address of the transaction fee collector." + "4": + type: string + format: address + description: "dns root address" + "5": + type: object + required: + - fee_burn_nom + - fee_burn_denom + properties: + blackhole_addr: + type: string + format: address + fee_burn_nom: + type: integer + format: int64 + fee_burn_denom: + type: integer + format: int64 + "6": + type: object + description: Minting fees of new currencies. + required: + - mint_new_price + - mint_add_price + properties: + mint_new_price: + type: integer + format: int64 + mint_add_price: + type: integer + format: int64 + "7": + type: object + description: The volume of each of the additional currencies in circulation. + required: + - currencies + properties: + currencies: + type: array + items: + type: object + required: + - currency_id + - amount + properties: + currency_id: + type: integer + format: int64 + amount: + type: string + # x-js-format: bigint + # example: "1000000" + "8": + type: object + description: The network version and additional capabilities supported by the validators. + required: + - version + - capabilities + properties: + version: + type: integer + format: int64 + capabilities: + type: integer + format: int64 + "9": + type: object + description: List of mandatory parameters of the blockchain config. + required: + - mandatory_params + properties: + mandatory_params: + type: array + items: + type: integer + format: int32 + "10": + type: object + description: List of critical TON parameters, the change of which significantly affects the network, so more voting rounds are held. + required: + - critical_params + properties: + critical_params: + type: array + items: + type: integer + format: int32 + "11": + type: object + description: This parameter indicates under what conditions proposals to change the TON configuration are accepted. + required: + - normal_params + - critical_params + properties: + normal_params: + $ref: '#/components/schemas/ConfigProposalSetup' + critical_params: + $ref: '#/components/schemas/ConfigProposalSetup' + "12": + type: object + description: Workchains in the TON Blockchain + required: + - workchains + properties: + workchains: + type: array + items: + $ref: '#/components/schemas/WorkchainDescr' + "13": + type: object + description: The cost of filing complaints about incorrect operation of validators. + required: + - deposit + - bit_price + - cell_price + properties: + deposit: + type: integer + format: int64 + bit_price: + type: integer + format: int64 + cell_price: + type: integer + format: int64 + "14": + type: object + description: The reward in nanoTons for block creation in the TON blockchain. + required: + - masterchain_block_fee + - basechain_block_fee + properties: + masterchain_block_fee: + type: integer + format: int64 + basechain_block_fee: + type: integer + format: int64 + "15": + type: object + description: The reward in nanoTons for block creation in the TON blockchain. + required: + - validators_elected_for + - elections_start_before + - elections_end_before + - stake_held_for + properties: + validators_elected_for: + type: integer + format: int64 + example: 65536 + elections_start_before: + type: integer + format: int64 + example: 32768 + elections_end_before: + type: integer + format: int64 + example: 8192 + stake_held_for: + type: integer + format: int64 + example: 32768 + "16": + type: object + description: The limits on the number of validators in the TON blockchain. + required: + - max_validators + - max_main_validators + - min_validators + properties: + max_validators: + type: integer + example: 400 + max_main_validators: + type: integer + example: 100 + min_validators: + type: integer + example: 75 + "17": + type: object + description: The stake parameters configuration in the TON blockchain. + required: + - min_stake + - max_stake + - min_total_stake + - max_stake_factor + properties: + min_stake: + type: string + # x-js-format: bigint + # example: "1000000" + max_stake: + type: string + # x-js-format: bigint + # example: "1000000" + min_total_stake: + type: string + # x-js-format: bigint + # example: "1000000" + max_stake_factor: + type: integer + format: int64 + "18": + type: object + description: The prices for data storage. + required: + - storage_prices + properties: + storage_prices: + type: array + items: + type: object + required: + - utime_since + - bit_price_ps + - cell_price_ps + - mc_bit_price_ps + - mc_cell_price_ps + properties: + utime_since: + type: integer + format: int64 + example: 0 + bit_price_ps: + type: integer + format: int64 + example: 1 + cell_price_ps: + type: integer + format: int64 + example: 500 + mc_bit_price_ps: + type: integer + format: int64 + example: 1000 + mc_cell_price_ps: + type: integer + format: int64 + example: 500000 + "20": + type: object + description: The cost of computations in the masterchain. The complexity of any computation is estimated in gas units. + required: + - gas_limits_prices + properties: + gas_limits_prices: + $ref: '#/components/schemas/GasLimitPrices' + "21": + type: object + description: The cost of computations in the basechains. The complexity of any computation is estimated in gas units. + required: + - gas_limits_prices + properties: + gas_limits_prices: + $ref: '#/components/schemas/GasLimitPrices' + "22": + type: object + description: The limits on the block in the masterchain, upon reaching which the block is finalized and the callback of the remaining messages (if any) is carried over to the next block. + required: + - block_limits + properties: + block_limits: + $ref: '#/components/schemas/BlockLimits' + "23": + type: object + description: The limits on the block in the basechains, upon reaching which the block is finalized and the callback of the remaining messages (if any) is carried over to the next block. + required: + - block_limits + properties: + block_limits: + $ref: '#/components/schemas/BlockLimits' + "24": + type: object + description: The cost of sending messages in the masterchain of the TON blockchain. + required: + - msg_forward_prices + properties: + msg_forward_prices: + $ref: '#/components/schemas/MsgForwardPrices' + "25": + type: object + description: The cost of sending messages in the basechains of the TON blockchain. + required: + - msg_forward_prices + properties: + msg_forward_prices: + $ref: '#/components/schemas/MsgForwardPrices' + "28": + type: object + description: The configuration for the Catchain protocol. + required: + - mc_catchain_lifetime + - shard_catchain_lifetime + - shard_validators_lifetime + - shard_validators_num + properties: + mc_catchain_lifetime: + type: integer + format: int64 + example: 1000000 + shard_catchain_lifetime: + type: integer + format: int64 + example: 1000000 + shard_validators_lifetime: + type: integer + format: int64 + example: 1000000 + shard_validators_num: + type: integer + format: int64 + example: 1000000 + flags: + type: integer + format: int + example: 1000000 + shuffle_mc_validators: + type: boolean + "29": + type: object + description: The configuration for the consensus protocol above catchain. + required: + - round_candidates + - next_candidate_delay_ms + - consensus_timeout_ms + - fast_attempts + - attempt_duration + - catchain_max_deps + - max_block_bytes + - max_collated_bytes + properties: + flags: + type: integer + format: int + example: 0 + new_catchain_ids: + type: boolean + example: true + round_candidates: + type: integer + format: int64 + example: 3 + next_candidate_delay_ms: + type: integer + format: int64 + example: 2000 + consensus_timeout_ms: + type: integer + format: int64 + example: 16000 + fast_attempts: + type: integer + format: int64 + example: 3 + attempt_duration: + type: integer + format: int64 + example: 8 + catchain_max_deps: + type: integer + format: int64 + example: 4 + max_block_bytes: + type: integer + format: int64 + example: 2097152 + max_collated_bytes: + type: integer + format: int64 + example: 2097152 + proto_version: + type: integer + format: int64 + example: 2 + catchain_max_blocks_coeff: + type: integer + format: int64 + example: 10000 + "31": + type: object + description: The configuration for the consensus protocol above catchain. + required: + - fundamental_smc_addr + properties: + fundamental_smc_addr: + type: array + items: + type: string + format: address + example: -1:dd24c4a1f2b88f8b7053513b5cc6c5a31bc44b2a72dcb4d8c0338af0f0d37ec5 + "32": + $ref: '#/components/schemas/ValidatorsSet' + "33": + $ref: '#/components/schemas/ValidatorsSet' + "34": + $ref: '#/components/schemas/ValidatorsSet' + "35": + $ref: '#/components/schemas/ValidatorsSet' + "36": + $ref: '#/components/schemas/ValidatorsSet' + "37": + $ref: '#/components/schemas/ValidatorsSet' + "40": + type: object + description: The configuration for punishment for improper behavior (non-validation). In the absence of the parameter, the default fine size is 101 TON + required: + - misbehaviour_punishment_config + properties: + misbehaviour_punishment_config: + $ref: '#/components/schemas/MisbehaviourPunishmentConfig' + "43": + type: object + description: The size limits and some other characteristics of accounts and messages. + required: + - size_limits_config + properties: + size_limits_config: + $ref: '#/components/schemas/SizeLimitsConfig' + "44": + type: object + description: suspended accounts + required: + - accounts + - suspended_until + properties: + accounts: + type: array + items: + type: string + format: address + example: 0:0000000000000000000000000000000000000000000000000000000000000000 + suspended_until: + type: integer + + "45": + type: object + description: precompiled contracts + required: + - contracts + properties: + contracts: + type: array + items: + type: object + required: + - code_hash + - gas_usage + properties: + code_hash: + type: string + format: address + gas_usage: + type: integer + format: int64 + "71": + type: object + description: Bridge parameters for wrapping TON in other networks. + required: + - oracle_bridge_params + properties: + oracle_bridge_params: + $ref: '#/components/schemas/OracleBridgeParams' + "72": + type: object + description: Bridge parameters for wrapping TON in other networks. + required: + - oracle_bridge_params + properties: + oracle_bridge_params: + $ref: '#/components/schemas/OracleBridgeParams' + "73": + type: object + description: Bridge parameters for wrapping TON in other networks. + required: + - oracle_bridge_params + properties: + oracle_bridge_params: + $ref: '#/components/schemas/OracleBridgeParams' + "79": + type: object + description: Bridge parameters for wrapping tokens from other networks into tokens on the TON network. + required: + - jetton_bridge_params + properties: + jetton_bridge_params: + $ref: '#/components/schemas/JettonBridgeParams' + "81": + type: object + description: Bridge parameters for wrapping tokens from other networks into tokens on the TON network. + required: + - jetton_bridge_params + properties: + jetton_bridge_params: + $ref: '#/components/schemas/JettonBridgeParams' + "82": + type: object + description: Bridge parameters for wrapping tokens from other networks into tokens on the TON network. + required: + - jetton_bridge_params + properties: + jetton_bridge_params: + $ref: '#/components/schemas/JettonBridgeParams' + DomainNames: + type: object + required: + - domains + properties: + domains: + type: array + items: + type: string + example: vasya.ton + DomainBid: + type: object + required: + - success + - value + - txTime + - bidder + - txHash + properties: + success: + type: boolean + example: true + default: false + value: + type: integer + format: int64 + example: 1660050553 + txTime: + type: integer + format: int64 + example: 1660050553 + txHash: + type: string + example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 + bidder: + $ref: '#/components/schemas/AccountAddress' + DomainBids: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/DomainBid' + JettonVerificationType: + type: string + enum: + - whitelist + - blacklist + - none + JettonPreview: + type: object + required: + - address + - name + - symbol + - decimals + - verification + - image + properties: + address: + type: string + format: address + example: 0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0 + name: + type: string + example: Wrapped TON + symbol: + type: string + example: WTON + decimals: + type: integer + example: 9 + image: + type: string + example: https://cache.tonapi.io/images/jetton.jpg + verification: + $ref: '#/components/schemas/JettonVerificationType' + custom_payload_api_uri: # todo: maybe remove + type: string + JettonBalance: + type: object + required: + - balance + - wallet_address + - jetton + properties: + balance: + type: string + x-js-format: bigint + example: "597968399" + price: + $ref: '#/components/schemas/TokenRates' + wallet_address: + $ref: '#/components/schemas/AccountAddress' + jetton: + $ref: '#/components/schemas/JettonPreview' + extensions: + type: array + items: + type: string + example: + - custom_payload + - non_transferable + lock: + type: object + required: + - amount + - till + properties: + amount: + type: string + x-js-format: bigint + example: "597968399" + till: + type: integer + format: int64 + example: 1678223064 + JettonsBalances: + type: object + required: + - balances + properties: + balances: + type: array + items: + $ref: '#/components/schemas/JettonBalance' + Price: + type: object + required: + - value + - token_name + properties: + value: + type: string + x-js-format: bigint + example: "123000000000" + token_name: + type: string + example: TON + ImagePreview: + type: object + required: + - resolution + - url + properties: + resolution: + type: string + example: "100x100" + url: + type: string + example: "https://site.com/pic1.jpg" + NftApprovedBy: + type: array + items: + type: string + example: getgems + enum: + - getgems + - tonkeeper + TrustType: + type: string + example: whitelist + enum: + - whitelist + - graylist + - blacklist + - none + Sale: + type: object + required: + - address + - market + - price + properties: + address: + type: string + format: address + example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365 + market: + $ref: '#/components/schemas/AccountAddress' + owner: + $ref: '#/components/schemas/AccountAddress' + price: + $ref: '#/components/schemas/Price' + NftItem: + type: object + required: + - address + - index + - verified + - metadata + - approved_by + - trust + properties: + address: + type: string + format: address + example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B + index: + type: integer + format: int64 + example: 58 + owner: + $ref: '#/components/schemas/AccountAddress' + collection: + type: object + required: + - address + - name + - description + properties: + address: + type: string + format: address + example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B + name: + type: string + example: TON Diamonds + description: + type: string + example: "Best collection in TON network" + verified: + type: boolean + description: "Collection master contract confirmed that this item is part of collection" + example: true + metadata: + type: object + additionalProperties: true + example: { } + sale: + $ref: '#/components/schemas/Sale' + previews: + type: array + items: + $ref: '#/components/schemas/ImagePreview' + dns: + type: string + example: crypto.ton + approved_by: + deprecated: true + description: "please use trust field" + $ref: '#/components/schemas/NftApprovedBy' + include_cnft: + type: boolean + example: false + trust: + $ref: '#/components/schemas/TrustType' + NftItems: + type: object + required: + - nft_items + properties: + nft_items: + type: array + items: + $ref: '#/components/schemas/NftItem' + Multisigs: + type: object + required: + - multisigs + properties: + multisigs: + type: array + items: + $ref: '#/components/schemas/Multisig' + Multisig: + type: object + required: + - address + - seqno + - threshold + - signers + - proposers + - orders + properties: + address: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + seqno: + type: integer + format: int64 + example: 1 + threshold: + type: integer + format: int32 + signers: + type: array + items: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + proposers: + type: array + items: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + orders: + type: array + items: + $ref: '#/components/schemas/MultisigOrder' + MultisigOrder: + type: object + required: + - address + - order_seqno + - threshold + - sent_for_execution + - signers + - approvals_num + - expiration_date + - risk + - creation_date + - signed_by + properties: + address: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + order_seqno: + type: integer + format: int64 + example: 1 + threshold: + type: integer + format: int32 + sent_for_execution: + type: boolean + example: false + signers: + type: array + items: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + approvals_num: + type: integer + format: int32 + expiration_date: + type: integer + format: int64 + risk: + $ref: '#/components/schemas/Risk' + creation_date: + type: integer + format: int64 + signed_by: + type: array + items: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + Refund: + type: object + required: + - type + - origin + properties: + type: + type: string + example: DNS.ton + enum: + - DNS.ton + - DNS.tg + - GetGems + origin: + type: string + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + ValueFlow: + type: object + required: + - account + - ton + - fees + properties: + account: + $ref: '#/components/schemas/AccountAddress' + ton: + type: integer + format: int64 + x-js-format: bigint + example: 80 + fees: + type: integer + format: int64 + x-js-format: bigint + example: 10 + jettons: + type: array + items: + type: object + required: + - account + - quantity + - jetton + properties: + account: + $ref: '#/components/schemas/AccountAddress' + jetton: + $ref: '#/components/schemas/JettonPreview' + quantity: + type: integer + format: int64 + x-js-format: bigint + example: 10 + Action: + type: object + required: + - type + - status + - simple_preview + - base_transactions + properties: + type: + type: string + example: "TonTransfer" + enum: + - TonTransfer + - JettonTransfer + - JettonBurn + - JettonMint + - NftItemTransfer + - ContractDeploy + - Subscribe + - UnSubscribe + - AuctionBid + - NftPurchase + - DepositStake + - WithdrawStake + - WithdrawStakeRequest + - JettonSwap + - SmartContractExec + - ElectionsRecoverStake + - ElectionsDepositStake + - DomainRenew + - InscriptionTransfer + - InscriptionMint + - Unknown + status: + type: string + example: "ok" + enum: + - ok + - failed + TonTransfer: + $ref: '#/components/schemas/TonTransferAction' + ContractDeploy: + $ref: '#/components/schemas/ContractDeployAction' + JettonTransfer: + $ref: '#/components/schemas/JettonTransferAction' + JettonBurn: + $ref: '#/components/schemas/JettonBurnAction' + JettonMint: + $ref: '#/components/schemas/JettonMintAction' + NftItemTransfer: + $ref: '#/components/schemas/NftItemTransferAction' + Subscribe: + $ref: '#/components/schemas/SubscriptionAction' + UnSubscribe: + $ref: '#/components/schemas/UnSubscriptionAction' + AuctionBid: + $ref: '#/components/schemas/AuctionBidAction' + NftPurchase: + $ref: '#/components/schemas/NftPurchaseAction' + DepositStake: + $ref: '#/components/schemas/DepositStakeAction' + WithdrawStake: + $ref: '#/components/schemas/WithdrawStakeAction' + WithdrawStakeRequest: + $ref: '#/components/schemas/WithdrawStakeRequestAction' + ElectionsDepositStake: + $ref: '#/components/schemas/ElectionsDepositStakeAction' + ElectionsRecoverStake: + $ref: '#/components/schemas/ElectionsRecoverStakeAction' + JettonSwap: + $ref: '#/components/schemas/JettonSwapAction' + SmartContractExec: + $ref: '#/components/schemas/SmartContractAction' + DomainRenew: + $ref: '#/components/schemas/DomainRenewAction' + InscriptionTransfer: + $ref: '#/components/schemas/InscriptionTransferAction' + InscriptionMint: + $ref: '#/components/schemas/InscriptionMintAction' + simple_preview: + $ref: '#/components/schemas/ActionSimplePreview' + base_transactions: + type: array + items: + type: string + description: "transaction hash" + example: e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e + TonTransferAction: + type: object + required: + - sender + - recipient + - amount + properties: + sender: + $ref: '#/components/schemas/AccountAddress' + recipient: + $ref: '#/components/schemas/AccountAddress' + amount: + type: integer + description: amount in nanotons + format: int64 + example: 123456789 + x-js-format: bigint + comment: + type: string + example: "Hi! This is your salary. \nFrom accounting with love." + encrypted_comment: + $ref: '#/components/schemas/EncryptedComment' + refund: + $ref: '#/components/schemas/Refund' + SmartContractAction: + type: object + required: + - executor + - contract + - ton_attached + - operation + properties: + executor: + $ref: '#/components/schemas/AccountAddress' + contract: + $ref: '#/components/schemas/AccountAddress' + ton_attached: + type: integer + description: amount in nanotons + format: int64 + example: 123456789 + x-js-format: bigint + operation: + type: string + example: "NftTransfer or 0x35d95a12" + payload: + type: string + # example ??, maybe cell? + refund: + $ref: '#/components/schemas/Refund' + DomainRenewAction: + type: object + required: + - domain + - contract_address + - renewer + properties: + domain: + type: string + example: "vasya.ton" + contract_address: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + renewer: + $ref: '#/components/schemas/AccountAddress' + InscriptionMintAction: + type: object + required: + - type + - ticker + - recipient + - amount + - decimals + properties: + recipient: + $ref: '#/components/schemas/AccountAddress' + amount: + type: string + x-js-format: bigint + description: amount in minimal particles + example: "123456789" + type: + type: string + enum: + - ton20 + - gram20 + example: "ton20" + ticker: + type: string + example: "nano" + decimals: + type: integer + example: 9 + InscriptionTransferAction: + type: object + required: + - sender + - recipient + - amount + - type + - ticker + - decimals + properties: + sender: + $ref: '#/components/schemas/AccountAddress' + recipient: + $ref: '#/components/schemas/AccountAddress' + amount: + type: string + x-js-format: bigint + description: amount in minimal particles + example: "123456789" + comment: + type: string + example: "Hi! This is your salary. \nFrom accounting with love." + type: + type: string + enum: + - ton20 + - gram20 + example: "ton20" + ticker: + type: string + example: "nano" + decimals: + type: integer + example: 9 + NftItemTransferAction: + type: object + required: + - nft + properties: + sender: + $ref: '#/components/schemas/AccountAddress' + recipient: + $ref: '#/components/schemas/AccountAddress' + nft: + type: string + example: "" + comment: + type: string + example: "Hi! This is your salary. \nFrom accounting with love." + encrypted_comment: + $ref: '#/components/schemas/EncryptedComment' + payload: + type: string + description: raw hex encoded payload + example: '0234de3e21d21b3ee21f3' + refund: + $ref: '#/components/schemas/Refund' + JettonTransferAction: + type: object + required: + - amount + - jetton + - senders_wallet + - recipients_wallet + properties: + sender: + $ref: '#/components/schemas/AccountAddress' + recipient: + $ref: '#/components/schemas/AccountAddress' + senders_wallet: + type: string + format: address + example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B + recipients_wallet: + type: string + format: address + example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B + amount: + type: string + x-js-format: bigint + example: "1000000000" + description: amount in quanta of tokens + comment: + type: string + example: "Hi! This is your salary. \nFrom accounting with love." + encrypted_comment: + $ref: '#/components/schemas/EncryptedComment' + refund: + $ref: '#/components/schemas/Refund' + jetton: + $ref: '#/components/schemas/JettonPreview' + JettonBurnAction: + type: object + required: + - amount + - jetton + - sender + - senders_wallet + properties: + sender: + $ref: '#/components/schemas/AccountAddress' + senders_wallet: + type: string + format: address + example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B + amount: + type: string + x-js-format: bigint + example: "1000000000" + description: amount in quanta of tokens + jetton: + $ref: '#/components/schemas/JettonPreview' + JettonMintAction: + type: object + required: + - amount + - jetton + - recipient + - recipients_wallet + properties: + recipient: + $ref: '#/components/schemas/AccountAddress' + recipients_wallet: + type: string + format: address + example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B + amount: + type: string + x-js-format: bigint + example: "1000000000" + description: amount in quanta of tokens + jetton: + $ref: '#/components/schemas/JettonPreview' + ContractDeployAction: + type: object + required: + - address + - interfaces + properties: + address: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + interfaces: + type: array + items: + type: string + example: [ "nft_item", "nft_royalty" ] + SubscriptionAction: + type: object + required: + - subscriber + - subscription + - beneficiary + - amount + - initial + properties: + subscriber: + $ref: '#/components/schemas/AccountAddress' + subscription: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + beneficiary: + $ref: '#/components/schemas/AccountAddress' + amount: + type: integer + format: int64 + example: 1000000000 + x-js-format: bigint + initial: + type: boolean + example: false + UnSubscriptionAction: + type: object + required: + - subscriber + - subscription + - beneficiary + properties: + subscriber: + $ref: '#/components/schemas/AccountAddress' + subscription: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + beneficiary: + $ref: '#/components/schemas/AccountAddress' + AuctionBidAction: + type: object + required: + - amount + - bidder + - auction + - auction_type + properties: + auction_type: + type: string + enum: + - DNS.ton + - DNS.tg + - NUMBER.tg + - getgems + amount: + $ref: '#/components/schemas/Price' + nft: + $ref: '#/components/schemas/NftItem' + bidder: + $ref: '#/components/schemas/AccountAddress' + auction: + $ref: '#/components/schemas/AccountAddress' + DepositStakeAction: + description: "validator's participation in elections" + type: object + required: + - amount + - staker + - pool + - implementation + properties: + amount: + type: integer + format: int64 + x-js-format: bigint + example: 1660050553 + staker: + $ref: '#/components/schemas/AccountAddress' + pool: + $ref: '#/components/schemas/AccountAddress' + implementation: + $ref: '#/components/schemas/PoolImplementationType' + WithdrawStakeAction: + description: "validator's participation in elections" + type: object + required: + - amount + - staker + - pool + - implementation + properties: + amount: + type: integer + format: int64 + example: 1660050553 + x-js-format: bigint + staker: + $ref: '#/components/schemas/AccountAddress' + pool: + $ref: '#/components/schemas/AccountAddress' + implementation: + $ref: '#/components/schemas/PoolImplementationType' + WithdrawStakeRequestAction: + description: "validator's participation in elections" + type: object + required: + - staker + - pool + - implementation + properties: + amount: + type: integer + format: int64 + example: 1660050553 + x-js-format: bigint + staker: + $ref: '#/components/schemas/AccountAddress' + pool: + $ref: '#/components/schemas/AccountAddress' + implementation: + $ref: '#/components/schemas/PoolImplementationType' + ElectionsRecoverStakeAction: + type: object + required: + - amount + - staker + properties: + amount: + type: integer + format: int64 + example: 1660050553 + x-js-format: bigint + staker: + $ref: '#/components/schemas/AccountAddress' + ElectionsDepositStakeAction: + type: object + required: + - amount + - staker + properties: + amount: + type: integer + format: int64 + example: 1660050553 + x-js-format: bigint + staker: + $ref: '#/components/schemas/AccountAddress' + JettonSwapAction: + type: object + required: + - dex + - amount_in + - amount_out + - user_wallet + - router + properties: + dex: + type: string + enum: + - stonfi + - dedust + - megatonfi + amount_in: + type: string + x-js-format: bigint + example: "1660050553" + amount_out: + type: string + x-js-format: bigint + example: "1660050553" + ton_in: + type: integer + example: 1000000000 + format: int64 + x-js-format: bigint + ton_out: + type: integer + example: 2000000000 + format: int64 + x-js-format: bigint + user_wallet: + $ref: '#/components/schemas/AccountAddress' + router: + $ref: '#/components/schemas/AccountAddress' + jetton_master_in: + $ref: '#/components/schemas/JettonPreview' + jetton_master_out: + $ref: '#/components/schemas/JettonPreview' + NftPurchaseAction: + type: object + required: + - amount + - seller + - buyer + - auction_type + - nft + properties: + auction_type: + type: string + enum: + - DNS.ton + - DNS.tg + - NUMBER.tg + - getgems + amount: + $ref: '#/components/schemas/Price' + nft: + $ref: '#/components/schemas/NftItem' + seller: + $ref: '#/components/schemas/AccountAddress' + buyer: + $ref: '#/components/schemas/AccountAddress' + ActionSimplePreview: + type: object + description: shortly describes what this action is about. + required: + - name + - description + - accounts + properties: + name: + type: string + example: "Ton Transfer" + description: + type: string + example: "Transferring 5 Ton" + action_image: + type: string + description: a link to an image for this particular action. + value: + type: string + example: "5 Ton" + value_image: + type: string + description: a link to an image that depicts this action's asset. + accounts: + type: array + items: + $ref: '#/components/schemas/AccountAddress' + AccountEvent: + type: object + description: An event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time. + required: + - event_id + - timestamp + - actions + - account + - is_scam + - lt + - in_progress + - extra + properties: + event_id: + type: string + example: e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e + account: + $ref: '#/components/schemas/AccountAddress' + timestamp: + type: integer + format: int64 + example: 1234567890 + actions: + type: array + items: + $ref: '#/components/schemas/Action' + is_scam: + type: boolean + description: scam + example: false + lt: + type: integer + format: int64 + example: 25713146000001 + x-js-format: bigint + in_progress: + type: boolean + example: false + description: Event is not finished yet. Transactions still happening + extra: + description: TODO + type: integer + format: int64 + example: 3 + AccountEvents: + type: object + required: + - events + - next_from + properties: + events: + type: array + items: + $ref: '#/components/schemas/AccountEvent' + next_from: + type: integer + format: int64 + example: 25713146000001 + TraceID: + type: object + required: + - id + - utime + properties: + id: + type: string + example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 + utime: + type: integer + format: int64 + example: 1645544908 + TraceIDs: + type: object + required: + - traces + properties: + traces: + type: array + items: + $ref: '#/components/schemas/TraceID' + ApyHistory: + type: object + required: + - apy + - time + properties: + apy: + type: number + time: + type: integer + Subscription: + type: object + required: + - address + - wallet_address + - beneficiary_address + - amount + - period + - start_time + - timeout + - last_payment_time + - last_request_time + - subscription_id + - failed_attempts + properties: + address: + type: string + format: address + example: 0:dea8f638b789172ce36d10a20318125e52c649aa84893cd77858224fe2b9b0ee + wallet_address: + type: string + format: address + example: 0:567DE86AF2B6A557D7085807CF7C26338124987A5179344F0D0FA2657EB710F1 + beneficiary_address: + type: string + format: address + example: 0:c704dadfabac88eab58e340de03080df81ff76636431f48624ad6e26fb2da0a4 + amount: + type: integer + format: int64 + example: 1000000000 + period: + type: integer + format: int64 + example: 2592000 + start_time: + type: integer + format: int64 + example: 1653996832 + timeout: + type: integer + format: int64 + example: 10800 + last_payment_time: + type: integer + format: int64 + example: 1653996834 + last_request_time: + type: integer + format: int64 + example: 0 + subscription_id: + type: integer + format: int64 + example: 217477 + failed_attempts: + type: integer + format: int32 + example: 0 + Subscriptions: + type: object + required: + - subscriptions + properties: + subscriptions: + type: array + items: + $ref: '#/components/schemas/Subscription' + Auction: + type: object + required: + - domain + - owner + - price + - bids + - date + properties: + domain: + type: string + example: wallet.ton + owner: + type: string + format: address + example: 0:c704dadfabac88eab58e340de03080df81ff76636431f48624ad6e26fb2da0a4 + price: + type: integer + format: int64 + example: 1660050553 + x-js-format: bigint + bids: + type: integer + format: int64 + example: 1660050553 + x-js-format: bigint + date: + type: integer + format: int64 + example: 1660050553 + Auctions: + type: object + required: + - data + - total + properties: + data: + type: array + items: + $ref: '#/components/schemas/Auction' + total: + type: integer + format: int64 + example: 1660050553 + WalletDNS: + type: object + required: + - address + - is_wallet + - has_method_pubkey + - has_method_seqno + - names + - account + properties: + address: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + account: + $ref: '#/components/schemas/AccountAddress' + is_wallet: + type: boolean + example: true + has_method_pubkey: + type: boolean + example: true + has_method_seqno: + type: boolean + example: true + names: + type: array + items: + type: string + example: "name" + DomainInfo: + type: object + required: + - name + properties: + name: + type: string + expiring_at: + type: integer + format: int64 + description: date of expiring. optional. not all domain in ton has expiration date + item: + $ref: '#/components/schemas/NftItem' + DnsRecord: + type: object + required: + - sites + properties: + wallet: + $ref: '#/components/schemas/WalletDNS' + next_resolver: + type: string + format: address + example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + sites: + type: array + items: + type: string + example: "http://12234.ton" + storage: + type: string + description: "tonstorage bag id" + example: "da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + NftCollection: + type: object + required: + - address + - next_item_index + - raw_collection_content + - approved_by + properties: + address: + type: string + format: address + example: 0:FD595F36B4C1535BEC8461490D38EBB9AE3C38DD6ACE17CA63ABE2C6608BE159 + next_item_index: + type: integer + format: int64 + example: 1 + owner: + $ref: '#/components/schemas/AccountAddress' + raw_collection_content: + type: string + format: cell + metadata: + type: object + additionalProperties: true + example: { } + previews: + type: array + items: + $ref: '#/components/schemas/ImagePreview' + approved_by: + $ref: '#/components/schemas/NftApprovedBy' + NftCollections: + type: object + required: + - nft_collections + properties: + nft_collections: + type: array + items: + $ref: '#/components/schemas/NftCollection' + Trace: + type: object + required: + - transaction + - interfaces + properties: + transaction: + $ref: '#/components/schemas/Transaction' + interfaces: + type: array + items: + type: string + example: [ "wallet", "tep62_item" ] + children: + type: array + items: + $ref: '#/components/schemas/Trace' + emulated: + type: boolean + example: false + MessageConsequences: + type: object + required: + - trace + - risk + - event + properties: + trace: + $ref: '#/components/schemas/Trace' + risk: + $ref: '#/components/schemas/Risk' + event: + $ref: '#/components/schemas/AccountEvent' + Risk: + type: object + description: Risk specifies assets that could be lost if a message would be sent to a malicious smart contract. It makes sense to understand the risk BEFORE sending a message to the blockchain. + required: + - transfer_all_remaining_balance + - ton + - jettons + - nfts + properties: + transfer_all_remaining_balance: + type: boolean + description: transfer all the remaining balance of the wallet. + example: true + ton: + type: integer + format: int64 + example: 500 + x-js-format: bigint + jettons: + type: array + items: + $ref: '#/components/schemas/JettonQuantity' + nfts: + type: array + items: + $ref: '#/components/schemas/NftItem' + JettonQuantity: + type: object + required: + - quantity + - wallet_address + - jetton + properties: + quantity: + type: string + x-js-format: bigint + example: "597968399" + wallet_address: + $ref: '#/components/schemas/AccountAddress' + jetton: + $ref: '#/components/schemas/JettonPreview' + DecodedMessage: + type: object + required: + - destination + - destination_wallet_version + properties: + destination: + $ref: '#/components/schemas/AccountAddress' + destination_wallet_version: + type: string + example: "v3R2" + ext_in_msg_decoded: + type: object + properties: + wallet_v3: + type: object + required: + - subwallet_id + - valid_until + - seqno + - op + - raw_messages + properties: + subwallet_id: + type: integer + format: int64 + example: 1 + valid_until: + type: integer + format: int64 + example: 1 + seqno: + type: integer + format: int64 + example: 1 + raw_messages: + type: array + items: + $ref: '#/components/schemas/DecodedRawMessage' + wallet_v4: + type: object + required: + - subwallet_id + - valid_until + - seqno + - op + - raw_messages + properties: + subwallet_id: + type: integer + format: int64 + example: 1 + valid_until: + type: integer + format: int64 + example: 1 + seqno: + type: integer + format: int64 + example: 1 + op: + type: integer + format: int32 + example: 1 + raw_messages: + type: array + items: + $ref: '#/components/schemas/DecodedRawMessage' + wallet_v5: + type: object + required: + - raw_messages + - valid_until + properties: + valid_until: + type: integer + format: int64 + example: 1 + raw_messages: + type: array + items: + $ref: '#/components/schemas/DecodedRawMessage' + wallet_highload_v2: + type: object + required: + - subwallet_id + - bounded_query_id + - raw_messages + properties: + subwallet_id: + type: integer + format: int64 + example: 1 + bounded_query_id: + type: string + example: "34254528475294857" + raw_messages: + type: array + items: + $ref: '#/components/schemas/DecodedRawMessage' + DecodedRawMessage: + type: object + required: + - message + - mode + properties: + message: + type: object + required: + - boc + properties: + boc: + type: string + format: cell + decoded_op_name: + type: string + example: "nft_transfer" + op_code: + type: string + x-js-format: bigint + example: "0xdeadbeaf" + decoded_body: { } # Free-form JSON value + mode: + type: integer + example: 2 + Event: + type: object + required: + - event_id + - timestamp + - actions + - value_flow + - is_scam + - lt + - in_progress + properties: + event_id: + type: string + example: e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e + timestamp: + type: integer + format: int64 + example: 1234567890 + actions: + type: array + items: + $ref: '#/components/schemas/Action' + value_flow: + type: array + items: + $ref: '#/components/schemas/ValueFlow' + is_scam: + type: boolean + description: scam + example: false + lt: + type: integer + format: int64 + example: 25713146000001 + x-js-format: bigint + in_progress: + type: boolean + example: false + description: Event is not finished yet. Transactions still happening + JettonMetadata: + type: object + required: + - address + - name + - symbol + - decimals + properties: + address: + type: string + format: address + example: 0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0 + name: + type: string + example: Wrapped TON + symbol: + type: string + example: WTON + decimals: + type: string + example: "9" + image: + type: string + example: "https://bitcoincash-example.github.io/website/logo.png" + description: this field currently returns a cached image URL (e.g., "https://cache.tonapi.io/images/jetton.jpg"). In the future, this will be replaced with the original URL from the metadata. The cached image is already available in the `preview` field of `JettonInfo` and will remain there. + description: + type: string + example: Wrapped Toncoin + social: + type: array + items: + type: string + example: [ "https://t.me/durov_coin", "https://twitter.com/durov_coin" ] + websites: + type: array + items: + type: string + example: [ "https://durov.coin", "ton://durov-coin.ton" ] + catalogs: + type: array + items: + type: string + example: [ "https://coinmarketcap.com/currencies/drv/", "https://www.coingecko.com/en/coins/durov" ] + custom_payload_api_uri: + type: string + example: "https://claim-api.tonapi.io/jettons/TESTMINT" + InscriptionBalances: + type: object + required: + - inscriptions + properties: + inscriptions: + type: array + items: + $ref: '#/components/schemas/InscriptionBalance' + InscriptionBalance: + type: object + required: + - type + - ticker + - balance + - decimals + properties: + type: + type: string + enum: + - ton20 + - gram20 + example: "ton20" + ticker: + type: string + example: "nano" + balance: + type: string + x-js-format: bigint + example: "1000000000" + decimals: + type: integer + example: 9 + Jettons: + type: object + required: + - jettons + properties: + jettons: + type: array + items: + $ref: '#/components/schemas/JettonInfo' + JettonInfo: + type: object + required: + - mintable + - total_supply + - metadata + - verification + - holders_count + - preview + properties: + mintable: + type: boolean + example: true + total_supply: + type: string + x-js-format: bigint + example: "5887105890579978" + admin: + $ref: '#/components/schemas/AccountAddress' + metadata: + $ref: '#/components/schemas/JettonMetadata' + preview: + type: string + example: "https://cache.tonapi.io/images/jetton.jpg" + verification: + $ref: '#/components/schemas/JettonVerificationType' + holders_count: + type: integer + format: int32 + example: 2000 + JettonHolders: + type: object + required: + - addresses + - total + properties: + addresses: + type: array + items: + type: object + required: + - address + - owner + - balance + properties: + address: + type: string + format: address + example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365 + owner: + $ref: '#/components/schemas/AccountAddress' + balance: + type: string + x-js-format: bigint + example: "168856200518084" + description: balance in the smallest jetton's units + total: + type: integer + format: int64 + description: total number of holders + example: 2000 + JettonTransferPayload: + type: object + required: + - payload + properties: + custom_payload: + type: string + # format: ??? + example: "b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d" + description: "hex-encoded BoC" + state_init: + type: string + # format: ??? + example: "b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d" + description: "hex-encoded BoC" + AccountStaking: + type: object + required: + - pools + properties: + pools: + type: array + items: + $ref: '#/components/schemas/AccountStakingInfo' + AccountStakingInfo: + type: object + required: + - pool + - amount + - pending_deposit + - pending_withdraw + - ready_withdraw + properties: + pool: + type: string + example: "EQBI-wGVp_x0VFEjd7m9cEUD3tJ_bnxMSp0Tb9qz757ATEAM" + amount: + type: integer + format: int64 + example: 10050000000000 + x-js-format: bigint + pending_deposit: + type: integer + format: int64 + example: 500000000000 + x-js-format: bigint + pending_withdraw: + type: integer + format: int64 + example: 500000000000 + x-js-format: bigint + ready_withdraw: + type: integer + format: int64 + example: 500000000000 + x-js-format: bigint + PoolInfo: + type: object + required: + - address + - total_amount + - implementation + - apy + - name + - min_stake + - cycle_start + - cycle_end + - verified + - current_nominators + - max_nominators + - nominators_stake + - validator_stake + properties: + address: + type: string + format: address + example: "0:48fb0195a7fc7454512377b9bd704503ded27f6e7c4c4a9d136fdab3ef9ec04c" + name: + type: string + example: "Tonkeeper pool" + total_amount: + type: integer + format: int64 + x-js-format: bigint + implementation: + $ref: '#/components/schemas/PoolImplementationType' + apy: + type: number + description: APY in percent + example: 5.31 + min_stake: + type: integer + format: int64 + x-js-format: bigint + example: 5000000000 + cycle_start: + type: integer + description: current nomination cycle beginning timestamp + format: int64 + example: 1678223064 + cycle_end: + type: integer + description: current nomination cycle ending timestamp + format: int64 + example: 1678223064 + verified: + type: boolean + example: true + description: this pool has verified source code or managed by trusted company + current_nominators: + type: integer + example: 10 + description: current number of nominators + max_nominators: + type: integer + example: 100 + description: maximum number of nominators + liquid_jetton_master: + type: string + format: address + example: "0:4a91d32d0289bda9813ae00ff7640e6c38fdce76e4583dd6afc463b70c7d767c" + description: "for liquid staking master account of jetton" + nominators_stake: + type: integer + format: int64 + x-js-format: bigint + example: 5000000000 + description: "total stake of all nominators" + validator_stake: + type: integer + format: int64 + x-js-format: bigint + example: 5000000000 + description: "stake of validator" + cycle_length: + type: integer + format: int64 + PoolImplementation: + type: object + required: + - name + - description + - url + - socials + properties: + name: + type: string + example: TON Whales + description: + type: string + example: "Oldest pool with minimal staking amount 50 TON" + url: + type: string + example: "https://tonvalidators.org/" + socials: + type: array + items: + type: string + example: "https://t.me/tonwhales" + StorageProvider: + type: object + required: + - address + - accept_new_contracts + - rate_per_mb_day + - max_span + - minimal_file_size + - maximal_file_size + properties: + address: + type: string + format: address + example: 0:FD595F36B4C1535BEC8461490D38EBB9AE3C38DD6ACE17CA63ABE2C6608BE159 + accept_new_contracts: + type: boolean + example: true + rate_per_mb_day: + type: integer + format: int64 + x-js-format: bigint + example: 50000000 + max_span: + type: integer + format: int64 + example: 604800 + minimal_file_size: + type: integer + format: int64 + example: 64 + maximal_file_size: + type: integer + format: int64 + example: 10485760 + FoundAccounts: + type: object + required: + - addresses + properties: + addresses: + type: array + items: + type: object + required: + - address + - name + - preview + properties: + address: + type: string + format: address + name: + type: string + example: "blah_blah.ton" + preview: + type: string + example: "https://cache.tonapi.io/images/media.jpg" + DnsExpiring: + type: object + required: + - items + properties: + items: + type: array + items: + type: object + required: + - expiring_at + - name + properties: + expiring_at: + type: integer + format: int64 + example: 1678275313 + name: + type: string + example: "blah_blah.ton" + dns_item: + $ref: '#/components/schemas/NftItem' + ChartPoints: + type: array + items: + - type: integer + format: int64 + description: Unix timestamp of the data point + - type: number + description: Decimal price of the token in the requested currency + additionalItems: false + example: [ 1668436763, 97.21323234 ] + AccountInfoByStateInit: + type: object + required: + - public_key + - address + properties: + public_key: + type: string + example: "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3..." + address: + type: string + format: address + example: "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b" + Seqno: + type: object + required: + - seqno + properties: + seqno: + type: integer + format: int32 + BlockRaw: + type: object + required: + - workchain + - shard + - seqno + - root_hash + - file_hash + properties: + workchain: + type: integer + example: 4294967295 + format: int32 + shard: + type: string + # x-js-format: bigint ?? + example: "800000000000000" + seqno: + type: integer + example: 30699640 + format: int32 + root_hash: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + file_hash: + type: string + example: A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB + InitStateRaw: + type: object + required: + - workchain + - root_hash + - file_hash + properties: + workchain: + type: integer + example: 4294967295 + format: int32 + root_hash: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 + file_hash: + type: string + example: A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB + EncryptedComment: + type: object + required: + - encryption_type + - cipher_text + properties: + encryption_type: + type: string + example: "simple" + cipher_text: + type: string + example: "A6A0BD6608672B...CE3AF8DB" + BlockchainAccountInspect: + type: object + required: + - code + - code_hash + - methods + properties: + code: + type: string + format: cell + code_hash: + type: string + methods: + type: array + items: + type: object + required: + - id + - method + properties: + id: + type: integer + format: int64 + method: + type: string + example: "get_something" + compiler: + type: string + enum: + - func + PoolImplementationType: + type: string + enum: + - whales + - tf + - liquidTF + TokenRates: + type: object + properties: + prices: + type: object + additionalProperties: + type: number + example: + TON: 1.3710752873163712 + diff_24h: + type: object + additionalProperties: + type: string + example: + TON: "-1.28%" + diff_7d: + type: object + additionalProperties: + type: string + example: + TON: "-2.74%" + diff_30d: + type: object + additionalProperties: + type: string + example: + TON: "-0.56%" + MarketTonRates: + type: object + required: + - market + - usd_price + - last_date_update + properties: + market: + type: string + example: "OKX" + usd_price: + type: number + example: 5.20 + last_date_update: + type: integer + format: int64 + example: 1668436763 + + responses: + Error: + description: Some error during request processing + content: + application/json: + schema: + type: object + required: + - error + properties: + error: + type: string + error_code: + type: integer + format: int64 \ No newline at end of file diff --git a/pkg/oas/oas_handlers_gen.go b/pkg/oas/oas_handlers_gen.go index aa846c9b..7c360a7d 100644 --- a/pkg/oas/oas_handlers_gen.go +++ b/pkg/oas/oas_handlers_gen.go @@ -8,6 +8,7 @@ import ( "time" "github.com/go-faster/errors" + "github.com/go-faster/jx" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/metric" @@ -8549,6 +8550,202 @@ func (s *Server) handleGetNftItemsByAddressesRequest(args [0]string, argsEscaped } } +// handleGetOpenapiJsonRequest handles getOpenapiJson operation. +// +// Get the openapi.json file. +// +// GET /v2/openapi.json +func (s *Server) handleGetOpenapiJsonRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) { + otelAttrs := []attribute.KeyValue{ + otelogen.OperationID("getOpenapiJson"), + semconv.HTTPMethodKey.String("GET"), + semconv.HTTPRouteKey.String("/v2/openapi.json"), + } + + // Start a span for this request. + ctx, span := s.cfg.Tracer.Start(r.Context(), "GetOpenapiJson", + trace.WithAttributes(otelAttrs...), + serverSpanKind, + ) + defer span.End() + + // Run stopwatch. + startTime := time.Now() + defer func() { + elapsedDuration := time.Since(startTime) + // Use floating point division here for higher precision (instead of Millisecond method). + s.duration.Record(ctx, float64(float64(elapsedDuration)/float64(time.Millisecond)), metric.WithAttributes(otelAttrs...)) + }() + + // Increment request counter. + s.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...)) + + var ( + recordError = func(stage string, err error) { + span.RecordError(err) + span.SetStatus(codes.Error, stage) + s.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...)) + } + err error + ) + + var response jx.Raw + if m := s.cfg.Middleware; m != nil { + mreq := middleware.Request{ + Context: ctx, + OperationName: "GetOpenapiJson", + OperationSummary: "", + OperationID: "getOpenapiJson", + Body: nil, + Params: middleware.Parameters{}, + Raw: r, + } + + type ( + Request = struct{} + Params = struct{} + Response = jx.Raw + ) + response, err = middleware.HookMiddleware[ + Request, + Params, + Response, + ]( + m, + mreq, + nil, + func(ctx context.Context, request Request, params Params) (response Response, err error) { + response, err = s.h.GetOpenapiJson(ctx) + return response, err + }, + ) + } else { + response, err = s.h.GetOpenapiJson(ctx) + } + if err != nil { + if errRes, ok := errors.Into[*ErrorStatusCode](err); ok { + if err := encodeErrorResponse(errRes, w, span); err != nil { + recordError("Internal", err) + } + return + } + if errors.Is(err, ht.ErrNotImplemented) { + s.cfg.ErrorHandler(ctx, w, r, err) + return + } + if err := encodeErrorResponse(s.h.NewError(ctx, err), w, span); err != nil { + recordError("Internal", err) + } + return + } + + if err := encodeGetOpenapiJsonResponse(response, w, span); err != nil { + recordError("EncodeResponse", err) + if !errors.Is(err, ht.ErrInternalServerErrorResponse) { + s.cfg.ErrorHandler(ctx, w, r, err) + } + return + } +} + +// handleGetOpenapiYmlRequest handles getOpenapiYml operation. +// +// Get the openapi.yml file. +// +// GET /v2/openapi.yml +func (s *Server) handleGetOpenapiYmlRequest(args [0]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) { + otelAttrs := []attribute.KeyValue{ + otelogen.OperationID("getOpenapiYml"), + semconv.HTTPMethodKey.String("GET"), + semconv.HTTPRouteKey.String("/v2/openapi.yml"), + } + + // Start a span for this request. + ctx, span := s.cfg.Tracer.Start(r.Context(), "GetOpenapiYml", + trace.WithAttributes(otelAttrs...), + serverSpanKind, + ) + defer span.End() + + // Run stopwatch. + startTime := time.Now() + defer func() { + elapsedDuration := time.Since(startTime) + // Use floating point division here for higher precision (instead of Millisecond method). + s.duration.Record(ctx, float64(float64(elapsedDuration)/float64(time.Millisecond)), metric.WithAttributes(otelAttrs...)) + }() + + // Increment request counter. + s.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...)) + + var ( + recordError = func(stage string, err error) { + span.RecordError(err) + span.SetStatus(codes.Error, stage) + s.errors.Add(ctx, 1, metric.WithAttributes(otelAttrs...)) + } + err error + ) + + var response GetOpenapiYmlOK + if m := s.cfg.Middleware; m != nil { + mreq := middleware.Request{ + Context: ctx, + OperationName: "GetOpenapiYml", + OperationSummary: "", + OperationID: "getOpenapiYml", + Body: nil, + Params: middleware.Parameters{}, + Raw: r, + } + + type ( + Request = struct{} + Params = struct{} + Response = GetOpenapiYmlOK + ) + response, err = middleware.HookMiddleware[ + Request, + Params, + Response, + ]( + m, + mreq, + nil, + func(ctx context.Context, request Request, params Params) (response Response, err error) { + response, err = s.h.GetOpenapiYml(ctx) + return response, err + }, + ) + } else { + response, err = s.h.GetOpenapiYml(ctx) + } + if err != nil { + if errRes, ok := errors.Into[*ErrorStatusCode](err); ok { + if err := encodeErrorResponse(errRes, w, span); err != nil { + recordError("Internal", err) + } + return + } + if errors.Is(err, ht.ErrNotImplemented) { + s.cfg.ErrorHandler(ctx, w, r, err) + return + } + if err := encodeErrorResponse(s.h.NewError(ctx, err), w, span); err != nil { + recordError("Internal", err) + } + return + } + + if err := encodeGetOpenapiYmlResponse(response, w, span); err != nil { + recordError("EncodeResponse", err) + if !errors.Is(err, ht.ErrInternalServerErrorResponse) { + s.cfg.ErrorHandler(ctx, w, r, err) + } + return + } +} + // handleGetOutMsgQueueSizesRequest handles getOutMsgQueueSizes operation. // // Get out msg queue sizes. diff --git a/pkg/oas/oas_response_encoders_gen.go b/pkg/oas/oas_response_encoders_gen.go index 963c42bd..faa1e2ab 100644 --- a/pkg/oas/oas_response_encoders_gen.go +++ b/pkg/oas/oas_response_encoders_gen.go @@ -3,6 +3,7 @@ package oas import ( + "io" "net/http" "github.com/go-faster/errors" @@ -986,6 +987,35 @@ func encodeGetNftItemsByAddressesResponse(response *NftItems, w http.ResponseWri return nil } +func encodeGetOpenapiJsonResponse(response jx.Raw, w http.ResponseWriter, span trace.Span) error { + w.Header().Set("Content-Type", "application/json; charset=utf-8") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := new(jx.Encoder) + if len(response) != 0 { + e.Raw(response) + } + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + + return nil +} + +func encodeGetOpenapiYmlResponse(response GetOpenapiYmlOK, w http.ResponseWriter, span trace.Span) error { + w.Header().Set("Content-Type", "application/x-yaml") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + writer := w + if _, err := io.Copy(writer, response); err != nil { + return errors.Wrap(err, "write") + } + + return nil +} + func encodeGetOutMsgQueueSizesResponse(response *GetOutMsgQueueSizesOK, w http.ResponseWriter, span trace.Span) error { w.Header().Set("Content-Type", "application/json; charset=utf-8") w.WriteHeader(200) diff --git a/pkg/oas/oas_router_gen.go b/pkg/oas/oas_router_gen.go index 9cb50cf2..9770d744 100644 --- a/pkg/oas/oas_router_gen.go +++ b/pkg/oas/oas_router_gen.go @@ -2657,6 +2657,63 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { elem = origElem } + elem = origElem + case 'o': // Prefix: "openapi." + origElem := elem + if l := len("openapi."); len(elem) >= l && elem[0:l] == "openapi." { + elem = elem[l:] + } else { + break + } + + if len(elem) == 0 { + break + } + switch elem[0] { + case 'j': // Prefix: "json" + origElem := elem + if l := len("json"); len(elem) >= l && elem[0:l] == "json" { + elem = elem[l:] + } else { + break + } + + if len(elem) == 0 { + // Leaf node. + switch r.Method { + case "GET": + s.handleGetOpenapiJsonRequest([0]string{}, elemIsEscaped, w, r) + default: + s.notAllowed(w, r, "GET") + } + + return + } + + elem = origElem + case 'y': // Prefix: "yml" + origElem := elem + if l := len("yml"); len(elem) >= l && elem[0:l] == "yml" { + elem = elem[l:] + } else { + break + } + + if len(elem) == 0 { + // Leaf node. + switch r.Method { + case "GET": + s.handleGetOpenapiYmlRequest([0]string{}, elemIsEscaped, w, r) + default: + s.notAllowed(w, r, "GET") + } + + return + } + + elem = origElem + } + elem = origElem case 'p': // Prefix: "pubkeys/" origElem := elem @@ -6133,6 +6190,71 @@ func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) { elem = origElem } + elem = origElem + case 'o': // Prefix: "openapi." + origElem := elem + if l := len("openapi."); len(elem) >= l && elem[0:l] == "openapi." { + elem = elem[l:] + } else { + break + } + + if len(elem) == 0 { + break + } + switch elem[0] { + case 'j': // Prefix: "json" + origElem := elem + if l := len("json"); len(elem) >= l && elem[0:l] == "json" { + elem = elem[l:] + } else { + break + } + + if len(elem) == 0 { + switch method { + case "GET": + // Leaf: GetOpenapiJson + r.name = "GetOpenapiJson" + r.summary = "" + r.operationID = "getOpenapiJson" + r.pathPattern = "/v2/openapi.json" + r.args = args + r.count = 0 + return r, true + default: + return + } + } + + elem = origElem + case 'y': // Prefix: "yml" + origElem := elem + if l := len("yml"); len(elem) >= l && elem[0:l] == "yml" { + elem = elem[l:] + } else { + break + } + + if len(elem) == 0 { + switch method { + case "GET": + // Leaf: GetOpenapiYml + r.name = "GetOpenapiYml" + r.summary = "" + r.operationID = "getOpenapiYml" + r.pathPattern = "/v2/openapi.yml" + r.args = args + r.count = 0 + return r, true + default: + return + } + } + + elem = origElem + } + elem = origElem case 'p': // Prefix: "pubkeys/" origElem := elem diff --git a/pkg/oas/oas_schemas_gen.go b/pkg/oas/oas_schemas_gen.go index 24656402..8e93e24c 100644 --- a/pkg/oas/oas_schemas_gen.go +++ b/pkg/oas/oas_schemas_gen.go @@ -4,6 +4,7 @@ package oas import ( "fmt" + "io" "github.com/go-faster/errors" "github.com/go-faster/jx" @@ -5977,6 +5978,20 @@ func (s *GetNftItemsByAddressesReq) SetAccountIds(val []string) { s.AccountIds = val } +type GetOpenapiYmlOK struct { + Data io.Reader +} + +// Read reads data from the Data reader. +// +// Kept to satisfy the io.Reader interface. +func (s GetOpenapiYmlOK) Read(p []byte) (n int, err error) { + if s.Data == nil { + return 0, io.EOF + } + return s.Data.Read(p) +} + type GetOutMsgQueueSizesOK struct { ExtMsgQueueSizeLimit uint32 `json:"ext_msg_queue_size_limit"` Shards []GetOutMsgQueueSizesOKShardsItem `json:"shards"` diff --git a/pkg/oas/oas_server_gen.go b/pkg/oas/oas_server_gen.go index 1fcc5647..c06b8774 100644 --- a/pkg/oas/oas_server_gen.go +++ b/pkg/oas/oas_server_gen.go @@ -4,6 +4,8 @@ package oas import ( "context" + + "github.com/go-faster/jx" ) // Handler handles operations described by OpenAPI v3 specification. @@ -444,6 +446,18 @@ type Handler interface { // // POST /v2/nfts/_bulk GetNftItemsByAddresses(ctx context.Context, req OptGetNftItemsByAddressesReq) (*NftItems, error) + // GetOpenapiJson implements getOpenapiJson operation. + // + // Get the openapi.json file. + // + // GET /v2/openapi.json + GetOpenapiJson(ctx context.Context) (jx.Raw, error) + // GetOpenapiYml implements getOpenapiYml operation. + // + // Get the openapi.yml file. + // + // GET /v2/openapi.yml + GetOpenapiYml(ctx context.Context) (GetOpenapiYmlOK, error) // GetOutMsgQueueSizes implements getOutMsgQueueSizes operation. // // Get out msg queue sizes. diff --git a/pkg/oas/oas_unimplemented_gen.go b/pkg/oas/oas_unimplemented_gen.go index 6c62a46d..659e7a0d 100644 --- a/pkg/oas/oas_unimplemented_gen.go +++ b/pkg/oas/oas_unimplemented_gen.go @@ -5,6 +5,8 @@ package oas import ( "context" + "github.com/go-faster/jx" + ht "github.com/ogen-go/ogen/http" ) @@ -659,6 +661,24 @@ func (UnimplementedHandler) GetNftItemsByAddresses(ctx context.Context, req OptG return r, ht.ErrNotImplemented } +// GetOpenapiJson implements getOpenapiJson operation. +// +// Get the openapi.json file. +// +// GET /v2/openapi.json +func (UnimplementedHandler) GetOpenapiJson(ctx context.Context) (r jx.Raw, _ error) { + return r, ht.ErrNotImplemented +} + +// GetOpenapiYml implements getOpenapiYml operation. +// +// Get the openapi.yml file. +// +// GET /v2/openapi.yml +func (UnimplementedHandler) GetOpenapiYml(ctx context.Context) (r GetOpenapiYmlOK, _ error) { + return r, ht.ErrNotImplemented +} + // GetOutMsgQueueSizes implements getOutMsgQueueSizes operation. // // Get out msg queue sizes. From a26c94555efe04741283270174eb184cc31aa54f Mon Sep 17 00:00:00 2001 From: Alexey Kostenko Date: Tue, 3 Dec 2024 23:45:49 +0300 Subject: [PATCH 2/3] copy via go:generate --- gen.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gen.go b/gen.go index c5e2942f..7e20ce0f 100644 --- a/gen.go +++ b/gen.go @@ -2,5 +2,5 @@ package opentonapi //go:generate go run github.com/ogen-go/ogen/cmd/ogen -clean -config ogen.yaml -package oas -target pkg/oas api/openapi.yml //go:generate go run api/jsonify.go api/openapi.yml api/openapi.json -//go:generate bash -c "cp api/openapi.yml pkg/api/openapi/openapi.yml" -//go:generate bash -c "cp api/openapi.json pkg/api/openapi/openapi.json" +//go:generate cp api/openapi.yml pkg/api/openapi/openapi.yml +//go:generate cp api/openapi.json pkg/api/openapi/openapi.json From 9aa7ffc1fb8f2ed1e655cb45141a8774995f4f79 Mon Sep 17 00:00:00 2001 From: Alexey Kostenko Date: Fri, 6 Dec 2024 14:54:44 +0300 Subject: [PATCH 3/3] copy files via docker --- Dockerfile | 5 + gen.go | 2 - pkg/api/openapi.go | 11 +- pkg/api/openapi/openapi.json | 10709 --------------------------------- pkg/api/openapi/openapi.yml | 7424 ----------------------- 5 files changed, 8 insertions(+), 18143 deletions(-) delete mode 100644 pkg/api/openapi/openapi.json delete mode 100644 pkg/api/openapi/openapi.yml diff --git a/Dockerfile b/Dockerfile index 4bd0df8f..b734a57e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,9 @@ RUN go mod download COPY internal internal COPY cmd cmd COPY pkg pkg +RUN mkdir -p /tmp/openapi +COPY api/openapi.json /tmp/openapi/openapi.json +COPY api/openapi.yml /tmp/openapi/openapi.yml RUN apt-get update && \ apt-get install -y libsecp256k1-0 libsodium23 @@ -20,4 +23,6 @@ RUN mkdir -p /app/lib RUN wget -O /app/lib/libemulator.so https://github.com/ton-blockchain/ton/releases/download/v2024.08/libemulator-linux-x86_64.so ENV LD_LIBRARY_PATH=/app/lib/ COPY --from=gobuild /tmp/opentonapi /usr/bin/ +COPY --from=gobuild /tmp/openapi /app/openapi +WORKDIR /app CMD ["/usr/bin/opentonapi"] diff --git a/gen.go b/gen.go index 7e20ce0f..df12700a 100644 --- a/gen.go +++ b/gen.go @@ -2,5 +2,3 @@ package opentonapi //go:generate go run github.com/ogen-go/ogen/cmd/ogen -clean -config ogen.yaml -package oas -target pkg/oas api/openapi.yml //go:generate go run api/jsonify.go api/openapi.yml api/openapi.json -//go:generate cp api/openapi.yml pkg/api/openapi/openapi.yml -//go:generate cp api/openapi.json pkg/api/openapi/openapi.json diff --git a/pkg/api/openapi.go b/pkg/api/openapi.go index b9e90c48..175e64b7 100644 --- a/pkg/api/openapi.go +++ b/pkg/api/openapi.go @@ -5,17 +5,12 @@ import ( "context" "github.com/go-faster/jx" "github.com/tonkeeper/opentonapi/pkg/oas" - "io/fs" "net/http" + "os" ) -import "embed" - -//go:embed openapi/openapi.yml openapi/openapi.json -var OpenapiFiles embed.FS - func (h *Handler) GetOpenapiJson(ctx context.Context) (jx.Raw, error) { - file, err := fs.ReadFile(OpenapiFiles, "openapi/openapi.json") + file, err := os.ReadFile("openapi/openapi.json") if err != nil { return jx.Raw{}, toError(http.StatusInternalServerError, err) } @@ -28,7 +23,7 @@ func (h *Handler) GetOpenapiJson(ctx context.Context) (jx.Raw, error) { } func (h *Handler) GetOpenapiYml(ctx context.Context) (oas.GetOpenapiYmlOK, error) { - file, err := fs.ReadFile(OpenapiFiles, "openapi/openapi.yml") + file, err := os.ReadFile("openapi/openapi.yml") if err != nil { return oas.GetOpenapiYmlOK{}, toError(http.StatusInternalServerError, err) } diff --git a/pkg/api/openapi/openapi.json b/pkg/api/openapi/openapi.json deleted file mode 100644 index e0c1bad4..00000000 --- a/pkg/api/openapi/openapi.json +++ /dev/null @@ -1,10709 +0,0 @@ -{ - "components": { - "parameters": { - "accountIDParameter": { - "description": "account ID", - "in": "path", - "name": "account_id", - "required": true, - "schema": { - "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", - "format": "address", - "type": "string" - } - }, - "accountIDParameters": { - "description": "account ID", - "explode": false, - "in": "path", - "name": "account_ids", - "required": true, - "schema": { - "items": { - "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", - "format": "address", - "type": "string" - }, - "type": "array" - } - }, - "accountIDQuery": { - "description": "account ID", - "explode": false, - "in": "query", - "name": "account_id", - "required": false, - "schema": { - "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", - "format": "address", - "type": "string" - } - }, - "blockchainBlockIDExtParameter": { - "description": "block ID: (workchain,shard,seqno,root_hash,file_hash)", - "in": "path", - "name": "block_id", - "required": true, - "schema": { - "example": "(-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29)", - "type": "string" - } - }, - "blockchainBlockIDParameter": { - "description": "block ID", - "in": "path", - "name": "block_id", - "required": true, - "schema": { - "example": "(-1,8000000000000000,4234234)", - "type": "string" - } - }, - "collectionQuery": { - "description": "nft collection", - "in": "query", - "name": "collection", - "required": false, - "schema": { - "example": "0:06d811f426598591b32b2c49f29f66c821368e4acb1de16762b04e0174532465", - "format": "address", - "type": "string" - } - }, - "countQuery": { - "description": "count", - "in": "query", - "name": "count", - "required": true, - "schema": { - "example": 100, - "format": "int32", - "type": "integer" - } - }, - "currenciesQuery": { - "description": "accept ton and all possible fiat currencies, separated by commas", - "explode": false, - "in": "query", - "name": "currencies", - "required": false, - "schema": { - "example": [ - "ton", - "usd", - "rub" - ], - "items": { - "type": "string" - }, - "type": "array" - } - }, - "currencyQuery": { - "in": "query", - "name": "currency", - "required": false, - "schema": { - "example": "usd", - "type": "string" - } - }, - "domainFilterQuery": { - "description": "domain filter for current auctions \"ton\" or \"t.me\"", - "in": "query", - "name": "tld", - "required": false, - "schema": { - "example": "ton", - "type": "string" - } - }, - "domainNameParameter": { - "description": "domain name with .ton or .t.me", - "in": "path", - "name": "domain_name", - "required": true, - "schema": { - "example": "wallet.ton", - "type": "string" - } - }, - "eventIDParameter": { - "description": "event ID or transaction hash in hex (without 0x) or base64url format", - "in": "path", - "name": "event_id", - "required": true, - "schema": { - "example": "97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", - "type": "string" - } - }, - "exactQuery": { - "description": "exact", - "in": "query", - "name": "exact", - "required": true, - "schema": { - "example": false, - "type": "boolean" - } - }, - "fromQuery": { - "in": "query", - "name": "from", - "required": true, - "schema": { - "format": "int64", - "type": "integer" - } - }, - "hashQuery": { - "description": "hash", - "in": "query", - "name": "hash", - "required": true, - "schema": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - } - }, - "i18n": { - "in": "header", - "name": "Accept-Language", - "required": false, - "schema": { - "default": "en", - "example": "ru-RU,ru;q=0.5", - "type": "string" - } - }, - "initiatorQuery": { - "description": "Show only events that are initiated by this account", - "explode": false, - "in": "query", - "name": "initiator", - "schema": { - "default": false, - "type": "boolean" - } - }, - "jettonIDParameter": { - "description": "jetton ID", - "in": "path", - "name": "jetton_id", - "required": true, - "schema": { - "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", - "format": "address", - "type": "string" - } - }, - "knownBlockIDExtQuery": { - "description": "known block: (workchain,shard,seqno,root_hash,file_hash)", - "in": "query", - "name": "known_block", - "required": true, - "schema": { - "example": "(-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29)", - "type": "string" - } - }, - "limitQuery": { - "in": "query", - "name": "limit", - "required": false, - "schema": { - "default": 1000, - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - }, - "ltMustQuery": { - "description": "lt", - "in": "query", - "name": "lt", - "required": true, - "schema": { - "example": 23814011000000, - "format": "int64", - "type": "integer" - } - }, - "ltQuery": { - "description": "lt", - "in": "query", - "name": "lt", - "schema": { - "example": 23814011000000, - "format": "int64", - "type": "integer" - } - }, - "masterchainSeqno": { - "description": "masterchain block seqno", - "in": "path", - "name": "masterchain_seqno", - "required": true, - "schema": { - "example": 123456, - "format": "int32", - "type": "integer" - } - }, - "messageIDParameter": { - "description": "message ID", - "in": "path", - "name": "msg_id", - "required": true, - "schema": { - "example": "97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", - "type": "string" - } - }, - "methodNameParameter": { - "description": "contract get method name", - "in": "path", - "name": "method_name", - "required": true, - "schema": { - "example": "get_wallet_address", - "type": "string" - } - }, - "modeQuery": { - "description": "mode", - "in": "query", - "name": "mode", - "required": true, - "schema": { - "example": 0, - "format": "int32", - "type": "integer" - } - }, - "offsetQuery": { - "in": "query", - "name": "offset", - "required": false, - "schema": { - "default": 0, - "minimum": 0, - "type": "integer" - } - }, - "periodQuery": { - "description": "number of days before expiration", - "in": "query", - "name": "period", - "required": false, - "schema": { - "maximum": 3660, - "minimum": 1, - "type": "integer" - } - }, - "publicKeyParameter": { - "in": "path", - "name": "public_key", - "required": true, - "schema": { - "example": "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3...", - "type": "string" - } - }, - "shardQuery": { - "description": "shard", - "in": "query", - "name": "shard", - "required": true, - "schema": { - "example": 1, - "format": "int64", - "type": "integer" - } - }, - "supportedExtensions": { - "description": "comma separated list supported extensions", - "explode": false, - "in": "query", - "name": "supported_extensions", - "required": false, - "schema": { - "example": [ - "custom_payload" - ], - "items": { - "type": "string" - }, - "type": "array" - } - }, - "targetBlockIDExtQuery": { - "description": "target block: (workchain,shard,seqno,root_hash,file_hash)", - "in": "query", - "name": "target_block", - "required": false, - "schema": { - "example": "(-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29)", - "type": "string" - } - }, - "toQuery": { - "in": "query", - "name": "to", - "required": true, - "schema": { - "format": "int64", - "type": "integer" - } - }, - "traceIDParameter": { - "description": "trace ID or transaction hash in hex (without 0x) or base64url format", - "in": "path", - "name": "trace_id", - "required": true, - "schema": { - "example": "97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", - "type": "string" - } - }, - "transactionIDParameter": { - "description": "transaction ID", - "in": "path", - "name": "transaction_id", - "required": true, - "schema": { - "example": "97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", - "type": "string" - } - }, - "workchainQuery": { - "description": "workchain", - "in": "query", - "name": "workchain", - "required": true, - "schema": { - "example": 1, - "format": "int32", - "type": "integer" - } - } - }, - "requestBodies": { - "AccountIDs": { - "content": { - "application/json": { - "schema": { - "properties": { - "account_ids": { - "items": { - "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", - "format": "address", - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "account_ids" - ], - "type": "object" - } - } - }, - "description": "a list of account ids" - }, - "BatchBoc": { - "content": { - "application/json": { - "schema": { - "properties": { - "batch": { - "items": { - "format": "cell", - "type": "string" - }, - "maxItems": 10, - "type": "array" - }, - "boc": { - "format": "cell", - "type": "string" - } - }, - "type": "object" - } - } - }, - "description": "both a single boc and a batch of boc serialized in base64/hex are accepted", - "required": true - }, - "Boc": { - "content": { - "application/json": { - "schema": { - "properties": { - "boc": { - "format": "cell", - "type": "string" - } - }, - "required": [ - "boc" - ], - "type": "object" - } - } - }, - "description": "bag-of-cells serialized to hex", - "required": true - }, - "EmulationBoc": { - "content": { - "application/json": { - "schema": { - "properties": { - "boc": { - "format": "cell", - "type": "string" - }, - "params": { - "description": "additional per account configuration", - "items": { - "properties": { - "address": { - "example": "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b", - "format": "address", - "type": "string" - }, - "balance": { - "example": 10000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "boc" - ], - "type": "object" - } - } - }, - "description": "bag-of-cells serialized to base64/hex and additional parameters to configure emulation", - "required": true - }, - "GaslessSend": { - "content": { - "application/json": { - "schema": { - "properties": { - "boc": { - "format": "cell", - "type": "string" - }, - "wallet_public_key": { - "description": "hex encoded public key", - "type": "string" - } - }, - "required": [ - "boc", - "wallet_public_key" - ], - "type": "object" - } - } - }, - "description": "bag-of-cells serialized to hex", - "required": true - }, - "InternalMessages": { - "content": { - "application/json": { - "schema": { - "properties": { - "messages": { - "items": { - "properties": { - "boc": { - "format": "cell", - "type": "string" - } - }, - "required": [ - "boc" - ], - "type": "object" - }, - "type": "array" - }, - "wallet_address": { - "format": "address", - "type": "string" - }, - "wallet_public_key": { - "type": "string" - } - }, - "required": [ - "messages", - "wallet_address", - "wallet_public_key" - ], - "type": "object" - } - } - }, - "description": "bag-of-cells serialized to hex", - "required": true - }, - "LiteServerSendMessageRequest": { - "content": { - "application/json": { - "schema": { - "properties": { - "body": { - "format": "cell-base64", - "type": "string" - } - }, - "required": [ - "body" - ], - "type": "object" - } - } - }, - "description": "Data that is expected", - "required": true - }, - "MethodParameters": { - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - }, - "description": "input parameters for contract get method" - }, - "TonConnectProof": { - "content": { - "application/json": { - "schema": { - "properties": { - "address": { - "example": "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b", - "format": "address", - "type": "string" - }, - "proof": { - "properties": { - "domain": { - "properties": { - "length_bytes": { - "format": "int32", - "type": "integer" - }, - "value": { - "type": "string" - } - }, - "required": [ - "value" - ], - "type": "object" - }, - "payload": { - "example": "84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa", - "type": "string" - }, - "signature": { - "type": "string" - }, - "state_init": { - "format": "cell-base64", - "type": "string" - }, - "timestamp": { - "example": "1678275313", - "format": "int64", - "type": "integer" - } - }, - "required": [ - "timestamp", - "domain", - "signature", - "payload" - ], - "type": "object" - } - }, - "required": [ - "address", - "proof" - ], - "type": "object" - } - } - }, - "description": "Data that is expected from TON Connect", - "required": true - }, - "TonConnectStateInit": { - "content": { - "application/json": { - "schema": { - "properties": { - "state_init": { - "format": "cell-base64", - "type": "string" - } - }, - "required": [ - "state_init" - ], - "type": "object" - } - } - }, - "description": "Data that is expected", - "required": true - } - }, - "responses": { - "Error": { - "content": { - "application/json": { - "schema": { - "properties": { - "error": { - "type": "string" - }, - "error_code": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } - } - }, - "description": "Some error during request processing" - } - }, - "schemas": { - "AccStatusChange": { - "enum": [ - "acst_unchanged", - "acst_frozen", - "acst_deleted" - ], - "example": "acst_unchanged", - "type": "string" - }, - "Account": { - "properties": { - "address": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "balance": { - "example": 123456789, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "currencies_balance": { - "additionalProperties": true, - "description": "{'USD': 1, 'IDR': 1000}", - "example": {}, - "type": "object" - }, - "get_methods": { - "example": [ - "get_item_data" - ], - "items": { - "type": "string" - }, - "type": "array" - }, - "icon": { - "example": "https://ton.org/logo.png", - "type": "string" - }, - "interfaces": { - "items": { - "example": "nft_sale", - "type": "string" - }, - "type": "array" - }, - "is_scam": { - "example": true, - "type": "boolean" - }, - "is_suspended": { - "type": "boolean" - }, - "is_wallet": { - "type": "boolean" - }, - "last_activity": { - "description": "unix timestamp", - "example": 1720860269, - "format": "int64", - "type": "integer" - }, - "memo_required": { - "example": true, - "type": "boolean" - }, - "name": { - "example": "Ton foundation", - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/AccountStatus" - } - }, - "required": [ - "address", - "balance", - "status", - "last_activity", - "get_methods", - "is_wallet" - ], - "type": "object" - }, - "AccountAddress": { - "properties": { - "address": { - "example": "0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365", - "format": "address", - "type": "string" - }, - "icon": { - "example": "https://ton.org/logo.png", - "type": "string" - }, - "is_scam": { - "description": "Is this account was marked as part of scammers activity", - "example": true, - "type": "boolean" - }, - "is_wallet": { - "example": true, - "type": "boolean" - }, - "name": { - "description": "Display name. Data collected from different sources like moderation lists, dns, collections names and over.", - "example": "Ton foundation", - "type": "string" - } - }, - "required": [ - "address", - "is_scam", - "is_wallet" - ], - "type": "object" - }, - "AccountEvent": { - "description": "An event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time.", - "properties": { - "account": { - "$ref": "#/components/schemas/AccountAddress" - }, - "actions": { - "items": { - "$ref": "#/components/schemas/Action" - }, - "type": "array" - }, - "event_id": { - "example": "e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e", - "type": "string" - }, - "extra": { - "description": "TODO", - "example": 3, - "format": "int64", - "type": "integer" - }, - "in_progress": { - "description": "Event is not finished yet. Transactions still happening", - "example": false, - "type": "boolean" - }, - "is_scam": { - "description": "scam", - "example": false, - "type": "boolean" - }, - "lt": { - "example": 25713146000001, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "timestamp": { - "example": 1234567890, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "event_id", - "timestamp", - "actions", - "account", - "is_scam", - "lt", - "in_progress", - "extra" - ], - "type": "object" - }, - "AccountEvents": { - "properties": { - "events": { - "items": { - "$ref": "#/components/schemas/AccountEvent" - }, - "type": "array" - }, - "next_from": { - "example": 25713146000001, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "events", - "next_from" - ], - "type": "object" - }, - "AccountInfoByStateInit": { - "properties": { - "address": { - "example": "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b", - "format": "address", - "type": "string" - }, - "public_key": { - "example": "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3...", - "type": "string" - } - }, - "required": [ - "public_key", - "address" - ], - "type": "object" - }, - "AccountStaking": { - "properties": { - "pools": { - "items": { - "$ref": "#/components/schemas/AccountStakingInfo" - }, - "type": "array" - } - }, - "required": [ - "pools" - ], - "type": "object" - }, - "AccountStakingInfo": { - "properties": { - "amount": { - "example": 10050000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "pending_deposit": { - "example": 500000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "pending_withdraw": { - "example": 500000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "pool": { - "example": "EQBI-wGVp_x0VFEjd7m9cEUD3tJ_bnxMSp0Tb9qz757ATEAM", - "type": "string" - }, - "ready_withdraw": { - "example": 500000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "pool", - "amount", - "pending_deposit", - "pending_withdraw", - "ready_withdraw" - ], - "type": "object" - }, - "AccountStatus": { - "enum": [ - "nonexist", - "uninit", - "active", - "frozen" - ], - "example": "active", - "type": "string" - }, - "AccountStorageInfo": { - "properties": { - "due_payment": { - "example": 567, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "last_paid": { - "description": "time of the last payment", - "example": 1720860269, - "format": "int64", - "type": "integer" - }, - "used_bits": { - "example": 567, - "format": "int64", - "type": "integer" - }, - "used_cells": { - "example": 567, - "format": "int64", - "type": "integer" - }, - "used_public_cells": { - "example": 567, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "used_cells", - "used_bits", - "used_public_cells", - "last_paid", - "due_payment" - ], - "type": "object" - }, - "Accounts": { - "properties": { - "accounts": { - "items": { - "$ref": "#/components/schemas/Account" - }, - "type": "array" - } - }, - "required": [ - "accounts" - ], - "type": "object" - }, - "Action": { - "properties": { - "AuctionBid": { - "$ref": "#/components/schemas/AuctionBidAction" - }, - "ContractDeploy": { - "$ref": "#/components/schemas/ContractDeployAction" - }, - "DepositStake": { - "$ref": "#/components/schemas/DepositStakeAction" - }, - "DomainRenew": { - "$ref": "#/components/schemas/DomainRenewAction" - }, - "ElectionsDepositStake": { - "$ref": "#/components/schemas/ElectionsDepositStakeAction" - }, - "ElectionsRecoverStake": { - "$ref": "#/components/schemas/ElectionsRecoverStakeAction" - }, - "InscriptionMint": { - "$ref": "#/components/schemas/InscriptionMintAction" - }, - "InscriptionTransfer": { - "$ref": "#/components/schemas/InscriptionTransferAction" - }, - "JettonBurn": { - "$ref": "#/components/schemas/JettonBurnAction" - }, - "JettonMint": { - "$ref": "#/components/schemas/JettonMintAction" - }, - "JettonSwap": { - "$ref": "#/components/schemas/JettonSwapAction" - }, - "JettonTransfer": { - "$ref": "#/components/schemas/JettonTransferAction" - }, - "NftItemTransfer": { - "$ref": "#/components/schemas/NftItemTransferAction" - }, - "NftPurchase": { - "$ref": "#/components/schemas/NftPurchaseAction" - }, - "SmartContractExec": { - "$ref": "#/components/schemas/SmartContractAction" - }, - "Subscribe": { - "$ref": "#/components/schemas/SubscriptionAction" - }, - "TonTransfer": { - "$ref": "#/components/schemas/TonTransferAction" - }, - "UnSubscribe": { - "$ref": "#/components/schemas/UnSubscriptionAction" - }, - "WithdrawStake": { - "$ref": "#/components/schemas/WithdrawStakeAction" - }, - "WithdrawStakeRequest": { - "$ref": "#/components/schemas/WithdrawStakeRequestAction" - }, - "base_transactions": { - "items": { - "description": "transaction hash", - "example": "e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e", - "type": "string" - }, - "type": "array" - }, - "simple_preview": { - "$ref": "#/components/schemas/ActionSimplePreview" - }, - "status": { - "enum": [ - "ok", - "failed" - ], - "example": "ok", - "type": "string" - }, - "type": { - "enum": [ - "TonTransfer", - "JettonTransfer", - "JettonBurn", - "JettonMint", - "NftItemTransfer", - "ContractDeploy", - "Subscribe", - "UnSubscribe", - "AuctionBid", - "NftPurchase", - "DepositStake", - "WithdrawStake", - "WithdrawStakeRequest", - "JettonSwap", - "SmartContractExec", - "ElectionsRecoverStake", - "ElectionsDepositStake", - "DomainRenew", - "InscriptionTransfer", - "InscriptionMint", - "Unknown" - ], - "example": "TonTransfer", - "type": "string" - } - }, - "required": [ - "type", - "status", - "simple_preview", - "base_transactions" - ], - "type": "object" - }, - "ActionPhase": { - "properties": { - "fwd_fees": { - "example": 1000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "result_code": { - "example": 5, - "format": "int32", - "type": "integer" - }, - "result_code_description": { - "type": "string" - }, - "skipped_actions": { - "example": 5, - "format": "int32", - "type": "integer" - }, - "success": { - "example": true, - "type": "boolean" - }, - "total_actions": { - "example": 5, - "format": "int32", - "type": "integer" - }, - "total_fees": { - "example": 1000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "success", - "result_code", - "total_actions", - "skipped_actions", - "fwd_fees", - "total_fees" - ], - "type": "object" - }, - "ActionSimplePreview": { - "description": "shortly describes what this action is about.", - "properties": { - "accounts": { - "items": { - "$ref": "#/components/schemas/AccountAddress" - }, - "type": "array" - }, - "action_image": { - "description": "a link to an image for this particular action.", - "type": "string" - }, - "description": { - "example": "Transferring 5 Ton", - "type": "string" - }, - "name": { - "example": "Ton Transfer", - "type": "string" - }, - "value": { - "example": "5 Ton", - "type": "string" - }, - "value_image": { - "description": "a link to an image that depicts this action's asset.", - "type": "string" - } - }, - "required": [ - "name", - "description", - "accounts" - ], - "type": "object" - }, - "ApyHistory": { - "properties": { - "apy": { - "type": "number" - }, - "time": { - "type": "integer" - } - }, - "required": [ - "apy", - "time" - ], - "type": "object" - }, - "Auction": { - "properties": { - "bids": { - "example": 1660050553, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "date": { - "example": 1660050553, - "format": "int64", - "type": "integer" - }, - "domain": { - "example": "wallet.ton", - "type": "string" - }, - "owner": { - "example": "0:c704dadfabac88eab58e340de03080df81ff76636431f48624ad6e26fb2da0a4", - "format": "address", - "type": "string" - }, - "price": { - "example": 1660050553, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "domain", - "owner", - "price", - "bids", - "date" - ], - "type": "object" - }, - "AuctionBidAction": { - "properties": { - "amount": { - "$ref": "#/components/schemas/Price" - }, - "auction": { - "$ref": "#/components/schemas/AccountAddress" - }, - "auction_type": { - "enum": [ - "DNS.ton", - "DNS.tg", - "NUMBER.tg", - "getgems" - ], - "type": "string" - }, - "bidder": { - "$ref": "#/components/schemas/AccountAddress" - }, - "nft": { - "$ref": "#/components/schemas/NftItem" - } - }, - "required": [ - "amount", - "bidder", - "auction", - "auction_type" - ], - "type": "object" - }, - "Auctions": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Auction" - }, - "type": "array" - }, - "total": { - "example": 1660050553, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "data", - "total" - ], - "type": "object" - }, - "BlockCurrencyCollection": { - "properties": { - "grams": { - "example": 10000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "other": { - "items": { - "properties": { - "id": { - "example": 13, - "format": "int64", - "type": "integer" - }, - "value": { - "example": "10000000000", - "type": "string", - "x-js-format": "bigint" - } - }, - "required": [ - "id", - "value" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "grams", - "other" - ], - "type": "object" - }, - "BlockLimits": { - "properties": { - "bytes": { - "$ref": "#/components/schemas/BlockParamLimits" - }, - "gas": { - "$ref": "#/components/schemas/BlockParamLimits" - }, - "lt_delta": { - "$ref": "#/components/schemas/BlockParamLimits" - } - }, - "required": [ - "bytes", - "gas", - "lt_delta" - ], - "type": "object" - }, - "BlockParamLimits": { - "properties": { - "hard_limit": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "soft_limit": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "underload": { - "example": 1000000, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "underload", - "soft_limit", - "hard_limit" - ], - "type": "object" - }, - "BlockRaw": { - "properties": { - "file_hash": { - "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", - "type": "string" - }, - "root_hash": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "seqno": { - "example": 30699640, - "format": "int32", - "type": "integer" - }, - "shard": { - "example": "800000000000000", - "type": "string" - }, - "workchain": { - "example": 4294967295, - "format": "int32", - "type": "integer" - } - }, - "required": [ - "workchain", - "shard", - "seqno", - "root_hash", - "file_hash" - ], - "type": "object" - }, - "BlockValueFlow": { - "properties": { - "burned": { - "$ref": "#/components/schemas/BlockCurrencyCollection" - }, - "created": { - "$ref": "#/components/schemas/BlockCurrencyCollection" - }, - "exported": { - "$ref": "#/components/schemas/BlockCurrencyCollection" - }, - "fees_collected": { - "$ref": "#/components/schemas/BlockCurrencyCollection" - }, - "fees_imported": { - "$ref": "#/components/schemas/BlockCurrencyCollection" - }, - "from_prev_blk": { - "$ref": "#/components/schemas/BlockCurrencyCollection" - }, - "imported": { - "$ref": "#/components/schemas/BlockCurrencyCollection" - }, - "minted": { - "$ref": "#/components/schemas/BlockCurrencyCollection" - }, - "recovered": { - "$ref": "#/components/schemas/BlockCurrencyCollection" - }, - "to_next_blk": { - "$ref": "#/components/schemas/BlockCurrencyCollection" - } - }, - "required": [ - "from_prev_blk", - "to_next_blk", - "imported", - "exported", - "fees_collected", - "fees_imported", - "recovered", - "created", - "minted" - ], - "type": "object" - }, - "BlockchainAccountInspect": { - "properties": { - "code": { - "format": "cell", - "type": "string" - }, - "code_hash": { - "type": "string" - }, - "compiler": { - "enum": [ - "func" - ], - "type": "string" - }, - "methods": { - "items": { - "properties": { - "id": { - "format": "int64", - "type": "integer" - }, - "method": { - "example": "get_something", - "type": "string" - } - }, - "required": [ - "id", - "method" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "code", - "code_hash", - "methods" - ], - "type": "object" - }, - "BlockchainBlock": { - "properties": { - "after_merge": { - "example": true, - "type": "boolean" - }, - "after_split": { - "example": true, - "type": "boolean" - }, - "before_split": { - "example": true, - "type": "boolean" - }, - "created_by": { - "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", - "type": "string" - }, - "end_lt": { - "example": 23814011000001, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "file_hash": { - "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", - "type": "string" - }, - "gen_catchain_seqno": { - "example": 0, - "format": "int32", - "type": "integer" - }, - "gen_software_capabilities": { - "example": 0, - "format": "int64", - "type": "integer" - }, - "gen_software_version": { - "example": 0, - "format": "int32", - "type": "integer" - }, - "gen_utime": { - "example": 1674826775, - "format": "int64", - "type": "integer" - }, - "global_id": { - "example": -239, - "format": "int32", - "type": "integer" - }, - "in_msg_descr_length": { - "example": 0, - "format": "int64", - "type": "integer" - }, - "key_block": { - "example": true, - "type": "boolean" - }, - "master_ref": { - "example": "(-1,4234234,8000000000000000)", - "type": "string" - }, - "min_ref_mc_seqno": { - "example": 0, - "format": "int32", - "type": "integer" - }, - "out_msg_descr_length": { - "example": 0, - "format": "int64", - "type": "integer" - }, - "prev_key_block_seqno": { - "example": 0, - "format": "int32", - "type": "integer" - }, - "prev_refs": { - "items": { - "example": [ - "(-1", - 4234235, - "8000000000000000)" - ], - "type": "string" - }, - "type": "array" - }, - "rand_seed": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "root_hash": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "seqno": { - "example": 21734019, - "format": "int32", - "type": "integer" - }, - "shard": { - "example": "8000000000000000", - "type": "string" - }, - "start_lt": { - "example": 23814011000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "tx_quantity": { - "example": 130, - "type": "integer" - }, - "value_flow": { - "$ref": "#/components/schemas/BlockValueFlow" - }, - "version": { - "example": 0, - "format": "int32", - "type": "integer" - }, - "vert_seqno": { - "example": 0, - "format": "int32", - "type": "integer" - }, - "want_merge": { - "example": true, - "type": "boolean" - }, - "want_split": { - "example": true, - "type": "boolean" - }, - "workchain_id": { - "example": 0, - "format": "int32", - "type": "integer" - } - }, - "required": [ - "workchain_id", - "shard", - "seqno", - "root_hash", - "file_hash", - "global_id", - "value_flow", - "version", - "after_merge", - "before_split", - "after_split", - "want_split", - "want_merge", - "key_block", - "gen_utime", - "start_lt", - "end_lt", - "vert_seqno", - "gen_catchain_seqno", - "min_ref_mc_seqno", - "prev_key_block_seqno", - "prev_refs", - "in_msg_descr_length", - "out_msg_descr_length", - "rand_seed", - "created_by", - "tx_quantity" - ], - "type": "object" - }, - "BlockchainBlockShards": { - "properties": { - "shards": { - "items": { - "properties": { - "last_known_block": { - "$ref": "#/components/schemas/BlockchainBlock" - }, - "last_known_block_id": { - "example": "(0,8000000000000000,4234234)", - "type": "string" - } - }, - "required": [ - "last_known_block_id", - "last_known_block" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "shards" - ], - "type": "object" - }, - "BlockchainBlocks": { - "properties": { - "blocks": { - "items": { - "$ref": "#/components/schemas/BlockchainBlock" - }, - "type": "array" - } - }, - "required": [ - "blocks" - ], - "type": "object" - }, - "BlockchainConfig": { - "properties": { - "0": { - "description": "config address", - "format": "address", - "type": "string" - }, - "1": { - "description": "elector address", - "format": "address", - "type": "string" - }, - "10": { - "description": "List of critical TON parameters, the change of which significantly affects the network, so more voting rounds are held.", - "properties": { - "critical_params": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "required": [ - "critical_params" - ], - "type": "object" - }, - "11": { - "description": "This parameter indicates under what conditions proposals to change the TON configuration are accepted.", - "properties": { - "critical_params": { - "$ref": "#/components/schemas/ConfigProposalSetup" - }, - "normal_params": { - "$ref": "#/components/schemas/ConfigProposalSetup" - } - }, - "required": [ - "normal_params", - "critical_params" - ], - "type": "object" - }, - "12": { - "description": "Workchains in the TON Blockchain", - "properties": { - "workchains": { - "items": { - "$ref": "#/components/schemas/WorkchainDescr" - }, - "type": "array" - } - }, - "required": [ - "workchains" - ], - "type": "object" - }, - "13": { - "description": "The cost of filing complaints about incorrect operation of validators.", - "properties": { - "bit_price": { - "format": "int64", - "type": "integer" - }, - "cell_price": { - "format": "int64", - "type": "integer" - }, - "deposit": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "deposit", - "bit_price", - "cell_price" - ], - "type": "object" - }, - "14": { - "description": "The reward in nanoTons for block creation in the TON blockchain.", - "properties": { - "basechain_block_fee": { - "format": "int64", - "type": "integer" - }, - "masterchain_block_fee": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "masterchain_block_fee", - "basechain_block_fee" - ], - "type": "object" - }, - "15": { - "description": "The reward in nanoTons for block creation in the TON blockchain.", - "properties": { - "elections_end_before": { - "example": 8192, - "format": "int64", - "type": "integer" - }, - "elections_start_before": { - "example": 32768, - "format": "int64", - "type": "integer" - }, - "stake_held_for": { - "example": 32768, - "format": "int64", - "type": "integer" - }, - "validators_elected_for": { - "example": 65536, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "validators_elected_for", - "elections_start_before", - "elections_end_before", - "stake_held_for" - ], - "type": "object" - }, - "16": { - "description": "The limits on the number of validators in the TON blockchain.", - "properties": { - "max_main_validators": { - "example": 100, - "type": "integer" - }, - "max_validators": { - "example": 400, - "type": "integer" - }, - "min_validators": { - "example": 75, - "type": "integer" - } - }, - "required": [ - "max_validators", - "max_main_validators", - "min_validators" - ], - "type": "object" - }, - "17": { - "description": "The stake parameters configuration in the TON blockchain.", - "properties": { - "max_stake": { - "type": "string" - }, - "max_stake_factor": { - "format": "int64", - "type": "integer" - }, - "min_stake": { - "type": "string" - }, - "min_total_stake": { - "type": "string" - } - }, - "required": [ - "min_stake", - "max_stake", - "min_total_stake", - "max_stake_factor" - ], - "type": "object" - }, - "18": { - "description": "The prices for data storage.", - "properties": { - "storage_prices": { - "items": { - "properties": { - "bit_price_ps": { - "example": 1, - "format": "int64", - "type": "integer" - }, - "cell_price_ps": { - "example": 500, - "format": "int64", - "type": "integer" - }, - "mc_bit_price_ps": { - "example": 1000, - "format": "int64", - "type": "integer" - }, - "mc_cell_price_ps": { - "example": 500000, - "format": "int64", - "type": "integer" - }, - "utime_since": { - "example": 0, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "utime_since", - "bit_price_ps", - "cell_price_ps", - "mc_bit_price_ps", - "mc_cell_price_ps" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "storage_prices" - ], - "type": "object" - }, - "2": { - "description": "minter address", - "format": "address", - "type": "string" - }, - "20": { - "description": "The cost of computations in the masterchain. The complexity of any computation is estimated in gas units.", - "properties": { - "gas_limits_prices": { - "$ref": "#/components/schemas/GasLimitPrices" - } - }, - "required": [ - "gas_limits_prices" - ], - "type": "object" - }, - "21": { - "description": "The cost of computations in the basechains. The complexity of any computation is estimated in gas units.", - "properties": { - "gas_limits_prices": { - "$ref": "#/components/schemas/GasLimitPrices" - } - }, - "required": [ - "gas_limits_prices" - ], - "type": "object" - }, - "22": { - "description": "The limits on the block in the masterchain, upon reaching which the block is finalized and the callback of the remaining messages (if any) is carried over to the next block.", - "properties": { - "block_limits": { - "$ref": "#/components/schemas/BlockLimits" - } - }, - "required": [ - "block_limits" - ], - "type": "object" - }, - "23": { - "description": "The limits on the block in the basechains, upon reaching which the block is finalized and the callback of the remaining messages (if any) is carried over to the next block.", - "properties": { - "block_limits": { - "$ref": "#/components/schemas/BlockLimits" - } - }, - "required": [ - "block_limits" - ], - "type": "object" - }, - "24": { - "description": "The cost of sending messages in the masterchain of the TON blockchain.", - "properties": { - "msg_forward_prices": { - "$ref": "#/components/schemas/MsgForwardPrices" - } - }, - "required": [ - "msg_forward_prices" - ], - "type": "object" - }, - "25": { - "description": "The cost of sending messages in the basechains of the TON blockchain.", - "properties": { - "msg_forward_prices": { - "$ref": "#/components/schemas/MsgForwardPrices" - } - }, - "required": [ - "msg_forward_prices" - ], - "type": "object" - }, - "28": { - "description": "The configuration for the Catchain protocol.", - "properties": { - "flags": { - "example": 1000000, - "format": "int", - "type": "integer" - }, - "mc_catchain_lifetime": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "shard_catchain_lifetime": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "shard_validators_lifetime": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "shard_validators_num": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "shuffle_mc_validators": { - "type": "boolean" - } - }, - "required": [ - "mc_catchain_lifetime", - "shard_catchain_lifetime", - "shard_validators_lifetime", - "shard_validators_num" - ], - "type": "object" - }, - "29": { - "description": "The configuration for the consensus protocol above catchain.", - "properties": { - "attempt_duration": { - "example": 8, - "format": "int64", - "type": "integer" - }, - "catchain_max_blocks_coeff": { - "example": 10000, - "format": "int64", - "type": "integer" - }, - "catchain_max_deps": { - "example": 4, - "format": "int64", - "type": "integer" - }, - "consensus_timeout_ms": { - "example": 16000, - "format": "int64", - "type": "integer" - }, - "fast_attempts": { - "example": 3, - "format": "int64", - "type": "integer" - }, - "flags": { - "example": 0, - "format": "int", - "type": "integer" - }, - "max_block_bytes": { - "example": 2097152, - "format": "int64", - "type": "integer" - }, - "max_collated_bytes": { - "example": 2097152, - "format": "int64", - "type": "integer" - }, - "new_catchain_ids": { - "example": true, - "type": "boolean" - }, - "next_candidate_delay_ms": { - "example": 2000, - "format": "int64", - "type": "integer" - }, - "proto_version": { - "example": 2, - "format": "int64", - "type": "integer" - }, - "round_candidates": { - "example": 3, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "round_candidates", - "next_candidate_delay_ms", - "consensus_timeout_ms", - "fast_attempts", - "attempt_duration", - "catchain_max_deps", - "max_block_bytes", - "max_collated_bytes" - ], - "type": "object" - }, - "3": { - "description": "The address of the transaction fee collector.", - "format": "address", - "type": "string" - }, - "31": { - "description": "The configuration for the consensus protocol above catchain.", - "properties": { - "fundamental_smc_addr": { - "items": { - "example": "-1:dd24c4a1f2b88f8b7053513b5cc6c5a31bc44b2a72dcb4d8c0338af0f0d37ec5", - "format": "address", - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "fundamental_smc_addr" - ], - "type": "object" - }, - "32": { - "$ref": "#/components/schemas/ValidatorsSet" - }, - "33": { - "$ref": "#/components/schemas/ValidatorsSet" - }, - "34": { - "$ref": "#/components/schemas/ValidatorsSet" - }, - "35": { - "$ref": "#/components/schemas/ValidatorsSet" - }, - "36": { - "$ref": "#/components/schemas/ValidatorsSet" - }, - "37": { - "$ref": "#/components/schemas/ValidatorsSet" - }, - "4": { - "description": "dns root address", - "format": "address", - "type": "string" - }, - "40": { - "description": "The configuration for punishment for improper behavior (non-validation). In the absence of the parameter, the default fine size is 101 TON", - "properties": { - "misbehaviour_punishment_config": { - "$ref": "#/components/schemas/MisbehaviourPunishmentConfig" - } - }, - "required": [ - "misbehaviour_punishment_config" - ], - "type": "object" - }, - "43": { - "description": "The size limits and some other characteristics of accounts and messages.", - "properties": { - "size_limits_config": { - "$ref": "#/components/schemas/SizeLimitsConfig" - } - }, - "required": [ - "size_limits_config" - ], - "type": "object" - }, - "44": { - "description": "suspended accounts", - "properties": { - "accounts": { - "items": { - "example": "0:0000000000000000000000000000000000000000000000000000000000000000", - "format": "address", - "type": "string" - }, - "type": "array" - }, - "suspended_until": { - "type": "integer" - } - }, - "required": [ - "accounts", - "suspended_until" - ], - "type": "object" - }, - "45": { - "description": "precompiled contracts", - "properties": { - "contracts": { - "items": { - "properties": { - "code_hash": { - "format": "address", - "type": "string" - }, - "gas_usage": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "code_hash", - "gas_usage" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "contracts" - ], - "type": "object" - }, - "5": { - "properties": { - "blackhole_addr": { - "format": "address", - "type": "string" - }, - "fee_burn_denom": { - "format": "int64", - "type": "integer" - }, - "fee_burn_nom": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "fee_burn_nom", - "fee_burn_denom" - ], - "type": "object" - }, - "6": { - "description": "Minting fees of new currencies.", - "properties": { - "mint_add_price": { - "format": "int64", - "type": "integer" - }, - "mint_new_price": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "mint_new_price", - "mint_add_price" - ], - "type": "object" - }, - "7": { - "description": "The volume of each of the additional currencies in circulation.", - "properties": { - "currencies": { - "items": { - "properties": { - "amount": { - "type": "string" - }, - "currency_id": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "currency_id", - "amount" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "currencies" - ], - "type": "object" - }, - "71": { - "description": "Bridge parameters for wrapping TON in other networks.", - "properties": { - "oracle_bridge_params": { - "$ref": "#/components/schemas/OracleBridgeParams" - } - }, - "required": [ - "oracle_bridge_params" - ], - "type": "object" - }, - "72": { - "description": "Bridge parameters for wrapping TON in other networks.", - "properties": { - "oracle_bridge_params": { - "$ref": "#/components/schemas/OracleBridgeParams" - } - }, - "required": [ - "oracle_bridge_params" - ], - "type": "object" - }, - "73": { - "description": "Bridge parameters for wrapping TON in other networks.", - "properties": { - "oracle_bridge_params": { - "$ref": "#/components/schemas/OracleBridgeParams" - } - }, - "required": [ - "oracle_bridge_params" - ], - "type": "object" - }, - "79": { - "description": "Bridge parameters for wrapping tokens from other networks into tokens on the TON network.", - "properties": { - "jetton_bridge_params": { - "$ref": "#/components/schemas/JettonBridgeParams" - } - }, - "required": [ - "jetton_bridge_params" - ], - "type": "object" - }, - "8": { - "description": "The network version and additional capabilities supported by the validators.", - "properties": { - "capabilities": { - "format": "int64", - "type": "integer" - }, - "version": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "version", - "capabilities" - ], - "type": "object" - }, - "81": { - "description": "Bridge parameters for wrapping tokens from other networks into tokens on the TON network.", - "properties": { - "jetton_bridge_params": { - "$ref": "#/components/schemas/JettonBridgeParams" - } - }, - "required": [ - "jetton_bridge_params" - ], - "type": "object" - }, - "82": { - "description": "Bridge parameters for wrapping tokens from other networks into tokens on the TON network.", - "properties": { - "jetton_bridge_params": { - "$ref": "#/components/schemas/JettonBridgeParams" - } - }, - "required": [ - "jetton_bridge_params" - ], - "type": "object" - }, - "9": { - "description": "List of mandatory parameters of the blockchain config.", - "properties": { - "mandatory_params": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "required": [ - "mandatory_params" - ], - "type": "object" - }, - "raw": { - "description": "config boc in hex format", - "format": "cell", - "type": "string" - } - }, - "required": [ - "raw", - "0", - "1", - "2", - "4", - "44" - ], - "type": "object" - }, - "BlockchainRawAccount": { - "properties": { - "address": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "balance": { - "example": 123456789, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "code": { - "example": "b5ee9c72410104010087000114ff00f4a413f4a0f2c80b0102012002030002d200dfa5ffff76a268698fe9ffe8e42c5267858f90e785ffe4f6aa6467c444ffb365ffc10802faf0807d014035e7a064b87d804077e7857fc10803dfd2407d014035e7a064b86467cd8903a32b9ba4410803ade68afd014035e7a045ea432b6363796103bb7b9363210c678b64b87d807d8040c249b3e4", - "format": "cell", - "type": "string" - }, - "data": { - "example": "b5ee9c7241010101002600004811fd096c0000000000000000000000000000000000000000000000000000000000000000cb78264d", - "format": "cell", - "type": "string" - }, - "extra_balance": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "frozen_hash": { - "example": "088b436a846d92281734236967970612f87fbd64a2cd3573107948379e8e4161", - "type": "string" - }, - "last_transaction_hash": { - "example": "088b436a846d92281734236967970612f87fbd64a2cd3573107948379e8e4161", - "type": "string" - }, - "last_transaction_lt": { - "example": 123456789, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "libraries": { - "items": { - "properties": { - "public": { - "example": true, - "type": "boolean" - }, - "root": { - "format": "cell", - "type": "string" - } - }, - "required": [ - "public", - "root" - ], - "type": "object" - }, - "type": "array" - }, - "status": { - "$ref": "#/components/schemas/AccountStatus" - }, - "storage": { - "$ref": "#/components/schemas/AccountStorageInfo" - } - }, - "required": [ - "address", - "balance", - "status", - "last_transaction_lt", - "storage" - ], - "type": "object" - }, - "BouncePhaseType": { - "enum": [ - "TrPhaseBounceNegfunds", - "TrPhaseBounceNofunds", - "TrPhaseBounceOk" - ], - "example": "cskip_no_state", - "type": "string" - }, - "ChartPoints": { - "additionalItems": false, - "example": [ - 1668436763, - 97.21323234 - ], - "items": [ - { - "description": "Unix timestamp of the data point", - "format": "int64", - "type": "integer" - }, - { - "description": "Decimal price of the token in the requested currency", - "type": "number" - } - ], - "type": "array" - }, - "ComputePhase": { - "properties": { - "exit_code": { - "example": 0, - "format": "int32", - "type": "integer" - }, - "exit_code_description": { - "type": "string" - }, - "gas_fees": { - "example": 1000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "gas_used": { - "example": 10000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "skip_reason": { - "$ref": "#/components/schemas/ComputeSkipReason" - }, - "skipped": { - "example": true, - "type": "boolean" - }, - "success": { - "example": true, - "type": "boolean" - }, - "vm_steps": { - "example": 5, - "format": "int32", - "type": "integer" - } - }, - "required": [ - "skipped" - ], - "type": "object" - }, - "ComputeSkipReason": { - "enum": [ - "cskip_no_state", - "cskip_bad_state", - "cskip_no_gas" - ], - "example": "cskip_no_state", - "type": "string" - }, - "ConfigProposalSetup": { - "properties": { - "bit_price": { - "example": 1, - "format": "int64", - "type": "integer" - }, - "cell_price": { - "example": 500, - "format": "int64", - "type": "integer" - }, - "max_losses": { - "example": 6, - "type": "integer" - }, - "max_store_sec": { - "example": 10000000, - "format": "int64", - "type": "integer" - }, - "max_tot_rounds": { - "example": 6, - "type": "integer" - }, - "min_store_sec": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "min_tot_rounds": { - "example": 2, - "type": "integer" - }, - "min_wins": { - "example": 2, - "type": "integer" - } - }, - "required": [ - "min_tot_rounds", - "max_tot_rounds", - "min_wins", - "max_losses", - "min_store_sec", - "max_store_sec", - "bit_price", - "cell_price" - ], - "type": "object" - }, - "ContractDeployAction": { - "properties": { - "address": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "interfaces": { - "example": [ - "nft_item", - "nft_royalty" - ], - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "address", - "interfaces" - ], - "type": "object" - }, - "CreditPhase": { - "properties": { - "credit": { - "example": 1000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "fees_collected": { - "example": 100, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "fees_collected", - "credit" - ], - "type": "object" - }, - "DecodedMessage": { - "properties": { - "destination": { - "$ref": "#/components/schemas/AccountAddress" - }, - "destination_wallet_version": { - "example": "v3R2", - "type": "string" - }, - "ext_in_msg_decoded": { - "properties": { - "wallet_highload_v2": { - "properties": { - "bounded_query_id": { - "example": "34254528475294857", - "type": "string" - }, - "raw_messages": { - "items": { - "$ref": "#/components/schemas/DecodedRawMessage" - }, - "type": "array" - }, - "subwallet_id": { - "example": 1, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "subwallet_id", - "bounded_query_id", - "raw_messages" - ], - "type": "object" - }, - "wallet_v3": { - "properties": { - "raw_messages": { - "items": { - "$ref": "#/components/schemas/DecodedRawMessage" - }, - "type": "array" - }, - "seqno": { - "example": 1, - "format": "int64", - "type": "integer" - }, - "subwallet_id": { - "example": 1, - "format": "int64", - "type": "integer" - }, - "valid_until": { - "example": 1, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "subwallet_id", - "valid_until", - "seqno", - "op", - "raw_messages" - ], - "type": "object" - }, - "wallet_v4": { - "properties": { - "op": { - "example": 1, - "format": "int32", - "type": "integer" - }, - "raw_messages": { - "items": { - "$ref": "#/components/schemas/DecodedRawMessage" - }, - "type": "array" - }, - "seqno": { - "example": 1, - "format": "int64", - "type": "integer" - }, - "subwallet_id": { - "example": 1, - "format": "int64", - "type": "integer" - }, - "valid_until": { - "example": 1, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "subwallet_id", - "valid_until", - "seqno", - "op", - "raw_messages" - ], - "type": "object" - }, - "wallet_v5": { - "properties": { - "raw_messages": { - "items": { - "$ref": "#/components/schemas/DecodedRawMessage" - }, - "type": "array" - }, - "valid_until": { - "example": 1, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "raw_messages", - "valid_until" - ], - "type": "object" - } - }, - "type": "object" - } - }, - "required": [ - "destination", - "destination_wallet_version" - ], - "type": "object" - }, - "DecodedRawMessage": { - "properties": { - "message": { - "properties": { - "boc": { - "format": "cell", - "type": "string" - }, - "decoded_body": {}, - "decoded_op_name": { - "example": "nft_transfer", - "type": "string" - }, - "op_code": { - "example": "0xdeadbeaf", - "type": "string", - "x-js-format": "bigint" - } - }, - "required": [ - "boc" - ], - "type": "object" - }, - "mode": { - "example": 2, - "type": "integer" - } - }, - "required": [ - "message", - "mode" - ], - "type": "object" - }, - "DepositStakeAction": { - "description": "validator's participation in elections", - "properties": { - "amount": { - "example": 1660050553, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "implementation": { - "$ref": "#/components/schemas/PoolImplementationType" - }, - "pool": { - "$ref": "#/components/schemas/AccountAddress" - }, - "staker": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "amount", - "staker", - "pool", - "implementation" - ], - "type": "object" - }, - "DnsExpiring": { - "properties": { - "items": { - "items": { - "properties": { - "dns_item": { - "$ref": "#/components/schemas/NftItem" - }, - "expiring_at": { - "example": 1678275313, - "format": "int64", - "type": "integer" - }, - "name": { - "example": "blah_blah.ton", - "type": "string" - } - }, - "required": [ - "expiring_at", - "name" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "items" - ], - "type": "object" - }, - "DnsRecord": { - "properties": { - "next_resolver": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "sites": { - "items": { - "example": "http://12234.ton", - "type": "string" - }, - "type": "array" - }, - "storage": { - "description": "tonstorage bag id", - "example": "da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "type": "string" - }, - "wallet": { - "$ref": "#/components/schemas/WalletDNS" - } - }, - "required": [ - "sites" - ], - "type": "object" - }, - "DomainBid": { - "properties": { - "bidder": { - "$ref": "#/components/schemas/AccountAddress" - }, - "success": { - "default": false, - "example": true, - "type": "boolean" - }, - "txHash": { - "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", - "type": "string" - }, - "txTime": { - "example": 1660050553, - "format": "int64", - "type": "integer" - }, - "value": { - "example": 1660050553, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "success", - "value", - "txTime", - "bidder", - "txHash" - ], - "type": "object" - }, - "DomainBids": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/DomainBid" - }, - "type": "array" - } - }, - "required": [ - "data" - ], - "type": "object" - }, - "DomainInfo": { - "properties": { - "expiring_at": { - "description": "date of expiring. optional. not all domain in ton has expiration date", - "format": "int64", - "type": "integer" - }, - "item": { - "$ref": "#/components/schemas/NftItem" - }, - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "DomainNames": { - "properties": { - "domains": { - "items": { - "example": "vasya.ton", - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "domains" - ], - "type": "object" - }, - "DomainRenewAction": { - "properties": { - "contract_address": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "domain": { - "example": "vasya.ton", - "type": "string" - }, - "renewer": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "domain", - "contract_address", - "renewer" - ], - "type": "object" - }, - "ElectionsDepositStakeAction": { - "properties": { - "amount": { - "example": 1660050553, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "staker": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "amount", - "staker" - ], - "type": "object" - }, - "ElectionsRecoverStakeAction": { - "properties": { - "amount": { - "example": 1660050553, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "staker": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "amount", - "staker" - ], - "type": "object" - }, - "EncryptedComment": { - "properties": { - "cipher_text": { - "example": "A6A0BD6608672B...CE3AF8DB", - "type": "string" - }, - "encryption_type": { - "example": "simple", - "type": "string" - } - }, - "required": [ - "encryption_type", - "cipher_text" - ], - "type": "object" - }, - "Error": { - "properties": { - "error": { - "example": "error description", - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - }, - "Event": { - "properties": { - "actions": { - "items": { - "$ref": "#/components/schemas/Action" - }, - "type": "array" - }, - "event_id": { - "example": "e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e", - "type": "string" - }, - "in_progress": { - "description": "Event is not finished yet. Transactions still happening", - "example": false, - "type": "boolean" - }, - "is_scam": { - "description": "scam", - "example": false, - "type": "boolean" - }, - "lt": { - "example": 25713146000001, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "timestamp": { - "example": 1234567890, - "format": "int64", - "type": "integer" - }, - "value_flow": { - "items": { - "$ref": "#/components/schemas/ValueFlow" - }, - "type": "array" - } - }, - "required": [ - "event_id", - "timestamp", - "actions", - "value_flow", - "is_scam", - "lt", - "in_progress" - ], - "type": "object" - }, - "FoundAccounts": { - "properties": { - "addresses": { - "items": { - "properties": { - "address": { - "format": "address", - "type": "string" - }, - "name": { - "example": "blah_blah.ton", - "type": "string" - }, - "preview": { - "example": "https://cache.tonapi.io/images/media.jpg", - "type": "string" - } - }, - "required": [ - "address", - "name", - "preview" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "addresses" - ], - "type": "object" - }, - "GasLimitPrices": { - "properties": { - "block_gas_limit": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "delete_due_limit": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "flat_gas_limit": { - "format": "int64", - "type": "integer" - }, - "flat_gas_price": { - "format": "int64", - "type": "integer" - }, - "freeze_due_limit": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "gas_credit": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "gas_limit": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "gas_price": { - "example": 1, - "format": "int64", - "type": "integer" - }, - "special_gas_limit": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "gas_price", - "gas_limit", - "gas_credit", - "block_gas_limit", - "freeze_due_limit", - "delete_due_limit" - ], - "type": "object" - }, - "GaslessConfig": { - "properties": { - "gas_jettons": { - "description": "list of jettons, any of them can be used to pay for gas", - "items": { - "properties": { - "master_id": { - "format": "address", - "type": "string" - } - }, - "required": [ - "master_id" - ], - "type": "object" - }, - "type": "array" - }, - "relay_address": { - "description": "sending excess to this address decreases the commission of a gasless transfer", - "example": "0:dfbd5be8497fdc0c9fcbdfc676864840ddf8ad6423d6d5657d9b0e8270d6c8ac", - "format": "address", - "type": "string" - } - }, - "required": [ - "gas_jettons", - "relay_address" - ], - "type": "object" - }, - "ImagePreview": { - "properties": { - "resolution": { - "example": "100x100", - "type": "string" - }, - "url": { - "example": "https://site.com/pic1.jpg", - "type": "string" - } - }, - "required": [ - "resolution", - "url" - ], - "type": "object" - }, - "InitStateRaw": { - "properties": { - "file_hash": { - "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", - "type": "string" - }, - "root_hash": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "workchain": { - "example": 4294967295, - "format": "int32", - "type": "integer" - } - }, - "required": [ - "workchain", - "root_hash", - "file_hash" - ], - "type": "object" - }, - "InscriptionBalance": { - "properties": { - "balance": { - "example": "1000000000", - "type": "string", - "x-js-format": "bigint" - }, - "decimals": { - "example": 9, - "type": "integer" - }, - "ticker": { - "example": "nano", - "type": "string" - }, - "type": { - "enum": [ - "ton20", - "gram20" - ], - "example": "ton20", - "type": "string" - } - }, - "required": [ - "type", - "ticker", - "balance", - "decimals" - ], - "type": "object" - }, - "InscriptionBalances": { - "properties": { - "inscriptions": { - "items": { - "$ref": "#/components/schemas/InscriptionBalance" - }, - "type": "array" - } - }, - "required": [ - "inscriptions" - ], - "type": "object" - }, - "InscriptionMintAction": { - "properties": { - "amount": { - "description": "amount in minimal particles", - "example": "123456789", - "type": "string", - "x-js-format": "bigint" - }, - "decimals": { - "example": 9, - "type": "integer" - }, - "recipient": { - "$ref": "#/components/schemas/AccountAddress" - }, - "ticker": { - "example": "nano", - "type": "string" - }, - "type": { - "enum": [ - "ton20", - "gram20" - ], - "example": "ton20", - "type": "string" - } - }, - "required": [ - "type", - "ticker", - "recipient", - "amount", - "decimals" - ], - "type": "object" - }, - "InscriptionTransferAction": { - "properties": { - "amount": { - "description": "amount in minimal particles", - "example": "123456789", - "type": "string", - "x-js-format": "bigint" - }, - "comment": { - "example": "Hi! This is your salary. \nFrom accounting with love.", - "type": "string" - }, - "decimals": { - "example": 9, - "type": "integer" - }, - "recipient": { - "$ref": "#/components/schemas/AccountAddress" - }, - "sender": { - "$ref": "#/components/schemas/AccountAddress" - }, - "ticker": { - "example": "nano", - "type": "string" - }, - "type": { - "enum": [ - "ton20", - "gram20" - ], - "example": "ton20", - "type": "string" - } - }, - "required": [ - "sender", - "recipient", - "amount", - "type", - "ticker", - "decimals" - ], - "type": "object" - }, - "JettonBalance": { - "properties": { - "balance": { - "example": "597968399", - "type": "string", - "x-js-format": "bigint" - }, - "extensions": { - "example": [ - "custom_payload", - "non_transferable" - ], - "items": { - "type": "string" - }, - "type": "array" - }, - "jetton": { - "$ref": "#/components/schemas/JettonPreview" - }, - "lock": { - "properties": { - "amount": { - "example": "597968399", - "type": "string", - "x-js-format": "bigint" - }, - "till": { - "example": 1678223064, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "amount", - "till" - ], - "type": "object" - }, - "price": { - "$ref": "#/components/schemas/TokenRates" - }, - "wallet_address": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "balance", - "wallet_address", - "jetton" - ], - "type": "object" - }, - "JettonBridgeParams": { - "properties": { - "bridge_address": { - "format": "address", - "type": "string" - }, - "burn_bridge_fee": { - "format": "int64", - "type": "integer" - }, - "external_chain_address": { - "type": "string" - }, - "oracles": { - "items": { - "$ref": "#/components/schemas/Oracle" - }, - "type": "array" - }, - "oracles_address": { - "format": "address", - "type": "string" - }, - "prices": { - "$ref": "#/components/schemas/JettonBridgePrices" - }, - "state_flags": { - "type": "integer" - } - }, - "required": [ - "bridge_address", - "oracles_address", - "state_flags", - "oracles" - ], - "type": "object" - }, - "JettonBridgePrices": { - "properties": { - "bridge_burn_fee": { - "format": "int64", - "type": "integer" - }, - "bridge_mint_fee": { - "format": "int64", - "type": "integer" - }, - "discover_gas_consumption": { - "format": "int64", - "type": "integer" - }, - "minter_min_tons_for_storage": { - "format": "int64", - "type": "integer" - }, - "wallet_gas_consumption": { - "format": "int64", - "type": "integer" - }, - "wallet_min_tons_for_storage": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "bridge_burn_fee", - "bridge_mint_fee", - "wallet_min_tons_for_storage", - "wallet_gas_consumption", - "minter_min_tons_for_storage", - "discover_gas_consumption" - ], - "type": "object" - }, - "JettonBurnAction": { - "properties": { - "amount": { - "description": "amount in quanta of tokens", - "example": "1000000000", - "type": "string", - "x-js-format": "bigint" - }, - "jetton": { - "$ref": "#/components/schemas/JettonPreview" - }, - "sender": { - "$ref": "#/components/schemas/AccountAddress" - }, - "senders_wallet": { - "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", - "format": "address", - "type": "string" - } - }, - "required": [ - "amount", - "jetton", - "sender", - "senders_wallet" - ], - "type": "object" - }, - "JettonHolders": { - "properties": { - "addresses": { - "items": { - "properties": { - "address": { - "example": "0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365", - "format": "address", - "type": "string" - }, - "balance": { - "description": "balance in the smallest jetton's units", - "example": "168856200518084", - "type": "string", - "x-js-format": "bigint" - }, - "owner": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "address", - "owner", - "balance" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "description": "total number of holders", - "example": 2000, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "addresses", - "total" - ], - "type": "object" - }, - "JettonInfo": { - "properties": { - "admin": { - "$ref": "#/components/schemas/AccountAddress" - }, - "holders_count": { - "example": 2000, - "format": "int32", - "type": "integer" - }, - "metadata": { - "$ref": "#/components/schemas/JettonMetadata" - }, - "mintable": { - "example": true, - "type": "boolean" - }, - "preview": { - "example": "https://cache.tonapi.io/images/jetton.jpg", - "type": "string" - }, - "total_supply": { - "example": "5887105890579978", - "type": "string", - "x-js-format": "bigint" - }, - "verification": { - "$ref": "#/components/schemas/JettonVerificationType" - } - }, - "required": [ - "mintable", - "total_supply", - "metadata", - "verification", - "holders_count", - "preview" - ], - "type": "object" - }, - "JettonMetadata": { - "properties": { - "address": { - "example": "0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0", - "format": "address", - "type": "string" - }, - "catalogs": { - "items": { - "example": [ - "https://coinmarketcap.com/currencies/drv/", - "https://www.coingecko.com/en/coins/durov" - ], - "type": "string" - }, - "type": "array" - }, - "custom_payload_api_uri": { - "example": "https://claim-api.tonapi.io/jettons/TESTMINT", - "type": "string" - }, - "decimals": { - "example": "9", - "type": "string" - }, - "description": { - "example": "Wrapped Toncoin", - "type": "string" - }, - "image": { - "description": "this field currently returns a cached image URL (e.g., \"https://cache.tonapi.io/images/jetton.jpg\"). In the future, this will be replaced with the original URL from the metadata. The cached image is already available in the `preview` field of `JettonInfo` and will remain there.", - "example": "https://bitcoincash-example.github.io/website/logo.png", - "type": "string" - }, - "name": { - "example": "Wrapped TON", - "type": "string" - }, - "social": { - "items": { - "example": [ - "https://t.me/durov_coin", - "https://twitter.com/durov_coin" - ], - "type": "string" - }, - "type": "array" - }, - "symbol": { - "example": "WTON", - "type": "string" - }, - "websites": { - "items": { - "example": [ - "https://durov.coin", - "ton://durov-coin.ton" - ], - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "address", - "name", - "symbol", - "decimals" - ], - "type": "object" - }, - "JettonMintAction": { - "properties": { - "amount": { - "description": "amount in quanta of tokens", - "example": "1000000000", - "type": "string", - "x-js-format": "bigint" - }, - "jetton": { - "$ref": "#/components/schemas/JettonPreview" - }, - "recipient": { - "$ref": "#/components/schemas/AccountAddress" - }, - "recipients_wallet": { - "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", - "format": "address", - "type": "string" - } - }, - "required": [ - "amount", - "jetton", - "recipient", - "recipients_wallet" - ], - "type": "object" - }, - "JettonPreview": { - "properties": { - "address": { - "example": "0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0", - "format": "address", - "type": "string" - }, - "custom_payload_api_uri": { - "type": "string" - }, - "decimals": { - "example": 9, - "type": "integer" - }, - "image": { - "example": "https://cache.tonapi.io/images/jetton.jpg", - "type": "string" - }, - "name": { - "example": "Wrapped TON", - "type": "string" - }, - "symbol": { - "example": "WTON", - "type": "string" - }, - "verification": { - "$ref": "#/components/schemas/JettonVerificationType" - } - }, - "required": [ - "address", - "name", - "symbol", - "decimals", - "verification", - "image" - ], - "type": "object" - }, - "JettonQuantity": { - "properties": { - "jetton": { - "$ref": "#/components/schemas/JettonPreview" - }, - "quantity": { - "example": "597968399", - "type": "string", - "x-js-format": "bigint" - }, - "wallet_address": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "quantity", - "wallet_address", - "jetton" - ], - "type": "object" - }, - "JettonSwapAction": { - "properties": { - "amount_in": { - "example": "1660050553", - "type": "string", - "x-js-format": "bigint" - }, - "amount_out": { - "example": "1660050553", - "type": "string", - "x-js-format": "bigint" - }, - "dex": { - "enum": [ - "stonfi", - "dedust", - "megatonfi" - ], - "type": "string" - }, - "jetton_master_in": { - "$ref": "#/components/schemas/JettonPreview" - }, - "jetton_master_out": { - "$ref": "#/components/schemas/JettonPreview" - }, - "router": { - "$ref": "#/components/schemas/AccountAddress" - }, - "ton_in": { - "example": 1000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "ton_out": { - "example": 2000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "user_wallet": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "dex", - "amount_in", - "amount_out", - "user_wallet", - "router" - ], - "type": "object" - }, - "JettonTransferAction": { - "properties": { - "amount": { - "description": "amount in quanta of tokens", - "example": "1000000000", - "type": "string", - "x-js-format": "bigint" - }, - "comment": { - "example": "Hi! This is your salary. \nFrom accounting with love.", - "type": "string" - }, - "encrypted_comment": { - "$ref": "#/components/schemas/EncryptedComment" - }, - "jetton": { - "$ref": "#/components/schemas/JettonPreview" - }, - "recipient": { - "$ref": "#/components/schemas/AccountAddress" - }, - "recipients_wallet": { - "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", - "format": "address", - "type": "string" - }, - "refund": { - "$ref": "#/components/schemas/Refund" - }, - "sender": { - "$ref": "#/components/schemas/AccountAddress" - }, - "senders_wallet": { - "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", - "format": "address", - "type": "string" - } - }, - "required": [ - "amount", - "jetton", - "senders_wallet", - "recipients_wallet" - ], - "type": "object" - }, - "JettonTransferPayload": { - "properties": { - "custom_payload": { - "description": "hex-encoded BoC", - "example": "b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d", - "type": "string" - }, - "state_init": { - "description": "hex-encoded BoC", - "example": "b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d", - "type": "string" - } - }, - "required": [ - "payload" - ], - "type": "object" - }, - "JettonVerificationType": { - "enum": [ - "whitelist", - "blacklist", - "none" - ], - "type": "string" - }, - "Jettons": { - "properties": { - "jettons": { - "items": { - "$ref": "#/components/schemas/JettonInfo" - }, - "type": "array" - } - }, - "required": [ - "jettons" - ], - "type": "object" - }, - "JettonsBalances": { - "properties": { - "balances": { - "items": { - "$ref": "#/components/schemas/JettonBalance" - }, - "type": "array" - } - }, - "required": [ - "balances" - ], - "type": "object" - }, - "MarketTonRates": { - "properties": { - "last_date_update": { - "example": 1668436763, - "format": "int64", - "type": "integer" - }, - "market": { - "example": "OKX", - "type": "string" - }, - "usd_price": { - "example": 5.2, - "type": "number" - } - }, - "required": [ - "market", - "usd_price", - "last_date_update" - ], - "type": "object" - }, - "Message": { - "properties": { - "bounce": { - "example": true, - "type": "boolean" - }, - "bounced": { - "example": true, - "type": "boolean" - }, - "created_at": { - "example": 5681002, - "format": "int64", - "type": "integer" - }, - "created_lt": { - "example": 25713146000001, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "decoded_body": {}, - "decoded_op_name": { - "example": "nft_transfer", - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/AccountAddress" - }, - "fwd_fee": { - "example": 5681002, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "hash": { - "example": "1219de582369ac80ee1afe12147930f458a54ff1eea612611a8bc6bd31581a6c", - "type": "string" - }, - "ihr_disabled": { - "example": true, - "type": "boolean" - }, - "ihr_fee": { - "example": 5681002, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "import_fee": { - "example": 5681002, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "init": { - "$ref": "#/components/schemas/StateInit" - }, - "msg_type": { - "enum": [ - "int_msg", - "ext_in_msg", - "ext_out_msg" - ], - "example": "int_msg", - "type": "string" - }, - "op_code": { - "example": "0xdeadbeaf", - "type": "string", - "x-js-format": "bigint" - }, - "raw_body": { - "description": "hex-encoded BoC with raw message body", - "example": "B5EE9C7201010101001100001D00048656C6C6F2C20776F726C64218", - "format": "cell", - "type": "string" - }, - "source": { - "$ref": "#/components/schemas/AccountAddress" - }, - "value": { - "example": 60000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "msg_type", - "created_lt", - "ihr_disabled", - "bounce", - "bounced", - "value", - "fwd_fee", - "ihr_fee", - "import_fee", - "created_at", - "hash" - ], - "type": "object" - }, - "MessageConsequences": { - "properties": { - "event": { - "$ref": "#/components/schemas/AccountEvent" - }, - "risk": { - "$ref": "#/components/schemas/Risk" - }, - "trace": { - "$ref": "#/components/schemas/Trace" - } - }, - "required": [ - "trace", - "risk", - "event" - ], - "type": "object" - }, - "MethodExecutionResult": { - "properties": { - "decoded": {}, - "exit_code": { - "description": "tvm exit code", - "example": 0, - "type": "integer" - }, - "stack": { - "items": { - "$ref": "#/components/schemas/TvmStackRecord" - }, - "type": "array" - }, - "success": { - "example": true, - "type": "boolean" - } - }, - "required": [ - "success", - "exit_code", - "stack" - ], - "type": "object" - }, - "MisbehaviourPunishmentConfig": { - "properties": { - "default_flat_fine": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "default_proportional_fine": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "long_flat_mult": { - "example": 1000000, - "type": "integer" - }, - "long_interval": { - "example": 1000000, - "type": "integer" - }, - "long_proportional_mult": { - "example": 1000000, - "type": "integer" - }, - "medium_flat_mult": { - "example": 1000000, - "type": "integer" - }, - "medium_interval": { - "example": 1000000, - "type": "integer" - }, - "medium_proportional_mult": { - "example": 1000000, - "type": "integer" - }, - "severity_flat_mult": { - "example": 1000000, - "type": "integer" - }, - "severity_proportional_mult": { - "example": 1000000, - "type": "integer" - }, - "unpunishable_interval": { - "example": 1000000, - "type": "integer" - } - }, - "required": [ - "default_flat_fine", - "default_proportional_fine", - "severity_flat_mult", - "severity_proportional_mult", - "unpunishable_interval", - "long_interval", - "long_flat_mult", - "long_proportional_mult", - "medium_interval", - "medium_flat_mult", - "medium_proportional_mult" - ], - "type": "object" - }, - "MsgForwardPrices": { - "properties": { - "bit_price": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "cell_price": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "first_frac": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "ihr_price_factor": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "lump_price": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "next_frac": { - "example": 1000000, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "lump_price", - "bit_price", - "cell_price", - "ihr_price_factor", - "first_frac", - "next_frac" - ], - "type": "object" - }, - "Multisig": { - "properties": { - "address": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "orders": { - "items": { - "$ref": "#/components/schemas/MultisigOrder" - }, - "type": "array" - }, - "proposers": { - "items": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "type": "array" - }, - "seqno": { - "example": 1, - "format": "int64", - "type": "integer" - }, - "signers": { - "items": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "type": "array" - }, - "threshold": { - "format": "int32", - "type": "integer" - } - }, - "required": [ - "address", - "seqno", - "threshold", - "signers", - "proposers", - "orders" - ], - "type": "object" - }, - "MultisigOrder": { - "properties": { - "address": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "approvals_num": { - "format": "int32", - "type": "integer" - }, - "creation_date": { - "format": "int64", - "type": "integer" - }, - "expiration_date": { - "format": "int64", - "type": "integer" - }, - "order_seqno": { - "example": 1, - "format": "int64", - "type": "integer" - }, - "risk": { - "$ref": "#/components/schemas/Risk" - }, - "sent_for_execution": { - "example": false, - "type": "boolean" - }, - "signed_by": { - "items": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "type": "array" - }, - "signers": { - "items": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "type": "array" - }, - "threshold": { - "format": "int32", - "type": "integer" - } - }, - "required": [ - "address", - "order_seqno", - "threshold", - "sent_for_execution", - "signers", - "approvals_num", - "expiration_date", - "risk", - "creation_date", - "signed_by" - ], - "type": "object" - }, - "Multisigs": { - "properties": { - "multisigs": { - "items": { - "$ref": "#/components/schemas/Multisig" - }, - "type": "array" - } - }, - "required": [ - "multisigs" - ], - "type": "object" - }, - "NftApprovedBy": { - "items": { - "enum": [ - "getgems", - "tonkeeper" - ], - "example": "getgems", - "type": "string" - }, - "type": "array" - }, - "NftCollection": { - "properties": { - "address": { - "example": "0:FD595F36B4C1535BEC8461490D38EBB9AE3C38DD6ACE17CA63ABE2C6608BE159", - "format": "address", - "type": "string" - }, - "approved_by": { - "$ref": "#/components/schemas/NftApprovedBy" - }, - "metadata": { - "additionalProperties": true, - "example": {}, - "type": "object" - }, - "next_item_index": { - "example": 1, - "format": "int64", - "type": "integer" - }, - "owner": { - "$ref": "#/components/schemas/AccountAddress" - }, - "previews": { - "items": { - "$ref": "#/components/schemas/ImagePreview" - }, - "type": "array" - }, - "raw_collection_content": { - "format": "cell", - "type": "string" - } - }, - "required": [ - "address", - "next_item_index", - "raw_collection_content", - "approved_by" - ], - "type": "object" - }, - "NftCollections": { - "properties": { - "nft_collections": { - "items": { - "$ref": "#/components/schemas/NftCollection" - }, - "type": "array" - } - }, - "required": [ - "nft_collections" - ], - "type": "object" - }, - "NftItem": { - "properties": { - "address": { - "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", - "format": "address", - "type": "string" - }, - "approved_by": { - "$ref": "#/components/schemas/NftApprovedBy", - "deprecated": true, - "description": "please use trust field" - }, - "collection": { - "properties": { - "address": { - "example": "0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B", - "format": "address", - "type": "string" - }, - "description": { - "example": "Best collection in TON network", - "type": "string" - }, - "name": { - "example": "TON Diamonds", - "type": "string" - } - }, - "required": [ - "address", - "name", - "description" - ], - "type": "object" - }, - "dns": { - "example": "crypto.ton", - "type": "string" - }, - "include_cnft": { - "example": false, - "type": "boolean" - }, - "index": { - "example": 58, - "format": "int64", - "type": "integer" - }, - "metadata": { - "additionalProperties": true, - "example": {}, - "type": "object" - }, - "owner": { - "$ref": "#/components/schemas/AccountAddress" - }, - "previews": { - "items": { - "$ref": "#/components/schemas/ImagePreview" - }, - "type": "array" - }, - "sale": { - "$ref": "#/components/schemas/Sale" - }, - "trust": { - "$ref": "#/components/schemas/TrustType" - }, - "verified": { - "description": "Collection master contract confirmed that this item is part of collection", - "example": true, - "type": "boolean" - } - }, - "required": [ - "address", - "index", - "verified", - "metadata", - "approved_by", - "trust" - ], - "type": "object" - }, - "NftItemTransferAction": { - "properties": { - "comment": { - "example": "Hi! This is your salary. \nFrom accounting with love.", - "type": "string" - }, - "encrypted_comment": { - "$ref": "#/components/schemas/EncryptedComment" - }, - "nft": { - "example": "", - "type": "string" - }, - "payload": { - "description": "raw hex encoded payload", - "example": "0234de3e21d21b3ee21f3", - "type": "string" - }, - "recipient": { - "$ref": "#/components/schemas/AccountAddress" - }, - "refund": { - "$ref": "#/components/schemas/Refund" - }, - "sender": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "nft" - ], - "type": "object" - }, - "NftItems": { - "properties": { - "nft_items": { - "items": { - "$ref": "#/components/schemas/NftItem" - }, - "type": "array" - } - }, - "required": [ - "nft_items" - ], - "type": "object" - }, - "NftPurchaseAction": { - "properties": { - "amount": { - "$ref": "#/components/schemas/Price" - }, - "auction_type": { - "enum": [ - "DNS.ton", - "DNS.tg", - "NUMBER.tg", - "getgems" - ], - "type": "string" - }, - "buyer": { - "$ref": "#/components/schemas/AccountAddress" - }, - "nft": { - "$ref": "#/components/schemas/NftItem" - }, - "seller": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "amount", - "seller", - "buyer", - "auction_type", - "nft" - ], - "type": "object" - }, - "Oracle": { - "properties": { - "address": { - "example": "0:55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", - "format": "address", - "type": "string" - }, - "secp_pubkey": { - "example": "00000000000000000000000017dcab1b1481610f6c7a7a98cf0370dc0ec704a6", - "type": "string" - } - }, - "required": [ - "address", - "secp_pubkey" - ], - "type": "object" - }, - "OracleBridgeParams": { - "properties": { - "bridge_addr": { - "format": "address", - "type": "string" - }, - "external_chain_address": { - "type": "string" - }, - "oracle_multisig_address": { - "format": "address", - "type": "string" - }, - "oracles": { - "items": { - "$ref": "#/components/schemas/Oracle" - }, - "type": "array" - } - }, - "required": [ - "bridge_addr", - "oracle_multisig_address", - "external_chain_address", - "oracles" - ], - "type": "object" - }, - "PoolImplementation": { - "properties": { - "description": { - "example": "Oldest pool with minimal staking amount 50 TON", - "type": "string" - }, - "name": { - "example": "TON Whales", - "type": "string" - }, - "socials": { - "items": { - "example": "https://t.me/tonwhales", - "type": "string" - }, - "type": "array" - }, - "url": { - "example": "https://tonvalidators.org/", - "type": "string" - } - }, - "required": [ - "name", - "description", - "url", - "socials" - ], - "type": "object" - }, - "PoolImplementationType": { - "enum": [ - "whales", - "tf", - "liquidTF" - ], - "type": "string" - }, - "PoolInfo": { - "properties": { - "address": { - "example": "0:48fb0195a7fc7454512377b9bd704503ded27f6e7c4c4a9d136fdab3ef9ec04c", - "format": "address", - "type": "string" - }, - "apy": { - "description": "APY in percent", - "example": 5.31, - "type": "number" - }, - "current_nominators": { - "description": "current number of nominators", - "example": 10, - "type": "integer" - }, - "cycle_end": { - "description": "current nomination cycle ending timestamp", - "example": 1678223064, - "format": "int64", - "type": "integer" - }, - "cycle_length": { - "format": "int64", - "type": "integer" - }, - "cycle_start": { - "description": "current nomination cycle beginning timestamp", - "example": 1678223064, - "format": "int64", - "type": "integer" - }, - "implementation": { - "$ref": "#/components/schemas/PoolImplementationType" - }, - "liquid_jetton_master": { - "description": "for liquid staking master account of jetton", - "example": "0:4a91d32d0289bda9813ae00ff7640e6c38fdce76e4583dd6afc463b70c7d767c", - "format": "address", - "type": "string" - }, - "max_nominators": { - "description": "maximum number of nominators", - "example": 100, - "type": "integer" - }, - "min_stake": { - "example": 5000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "name": { - "example": "Tonkeeper pool", - "type": "string" - }, - "nominators_stake": { - "description": "total stake of all nominators", - "example": 5000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "total_amount": { - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "validator_stake": { - "description": "stake of validator", - "example": 5000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "verified": { - "description": "this pool has verified source code or managed by trusted company", - "example": true, - "type": "boolean" - } - }, - "required": [ - "address", - "total_amount", - "implementation", - "apy", - "name", - "min_stake", - "cycle_start", - "cycle_end", - "verified", - "current_nominators", - "max_nominators", - "nominators_stake", - "validator_stake" - ], - "type": "object" - }, - "Price": { - "properties": { - "token_name": { - "example": "TON", - "type": "string" - }, - "value": { - "example": "123000000000", - "type": "string", - "x-js-format": "bigint" - } - }, - "required": [ - "value", - "token_name" - ], - "type": "object" - }, - "RawBlockchainConfig": { - "properties": { - "config": { - "additionalProperties": true, - "example": {}, - "type": "object" - } - }, - "required": [ - "config" - ], - "type": "object" - }, - "ReducedBlock": { - "properties": { - "master_ref": { - "example": "(-1,4234234,8000000000000000)", - "type": "string" - }, - "parent": { - "items": { - "example": "[ (0,21734018,8000000000000000) ]", - "type": "string" - }, - "type": "array" - }, - "seqno": { - "example": 21734019, - "format": "int32", - "type": "integer" - }, - "shard": { - "example": "8000000000000000", - "type": "string" - }, - "shards_blocks": { - "items": { - "example": "[ (0,4234235,8000000000000000) ]", - "type": "string" - }, - "type": "array" - }, - "tx_quantity": { - "example": 130, - "type": "integer" - }, - "utime": { - "example": 23814011000000, - "format": "int64", - "type": "integer" - }, - "workchain_id": { - "example": 0, - "format": "int32", - "type": "integer" - } - }, - "required": [ - "workchain_id", - "shard", - "seqno", - "tx_quantity", - "utime", - "shards_blocks", - "parent" - ], - "type": "object" - }, - "ReducedBlocks": { - "properties": { - "blocks": { - "items": { - "$ref": "#/components/schemas/ReducedBlock" - }, - "type": "array" - } - }, - "required": [ - "blocks" - ], - "type": "object" - }, - "Refund": { - "properties": { - "origin": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "type": "string" - }, - "type": { - "enum": [ - "DNS.ton", - "DNS.tg", - "GetGems" - ], - "example": "DNS.ton", - "type": "string" - } - }, - "required": [ - "type", - "origin" - ], - "type": "object" - }, - "Risk": { - "description": "Risk specifies assets that could be lost if a message would be sent to a malicious smart contract. It makes sense to understand the risk BEFORE sending a message to the blockchain.", - "properties": { - "jettons": { - "items": { - "$ref": "#/components/schemas/JettonQuantity" - }, - "type": "array" - }, - "nfts": { - "items": { - "$ref": "#/components/schemas/NftItem" - }, - "type": "array" - }, - "ton": { - "example": 500, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "transfer_all_remaining_balance": { - "description": "transfer all the remaining balance of the wallet.", - "example": true, - "type": "boolean" - } - }, - "required": [ - "transfer_all_remaining_balance", - "ton", - "jettons", - "nfts" - ], - "type": "object" - }, - "Sale": { - "properties": { - "address": { - "example": "0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365", - "format": "address", - "type": "string" - }, - "market": { - "$ref": "#/components/schemas/AccountAddress" - }, - "owner": { - "$ref": "#/components/schemas/AccountAddress" - }, - "price": { - "$ref": "#/components/schemas/Price" - } - }, - "required": [ - "address", - "market", - "price" - ], - "type": "object" - }, - "Seqno": { - "properties": { - "seqno": { - "format": "int32", - "type": "integer" - } - }, - "required": [ - "seqno" - ], - "type": "object" - }, - "ServiceStatus": { - "properties": { - "indexing_latency": { - "example": 100, - "type": "integer" - }, - "last_known_masterchain_seqno": { - "example": 123456, - "format": "int32", - "type": "integer" - }, - "rest_online": { - "default": true, - "type": "boolean" - } - }, - "required": [ - "indexing_latency", - "rest_online", - "last_known_masterchain_seqno" - ], - "type": "object" - }, - "SignRawMessage": { - "properties": { - "address": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "amount": { - "description": "Number of nanocoins to send. Decimal string.", - "type": "string" - }, - "payload": { - "description": "Raw one-cell BoC encoded in hex.", - "format": "cell", - "type": "string" - }, - "stateInit": { - "description": "Raw once-cell BoC encoded in hex.", - "format": "cell", - "type": "string" - } - }, - "required": [ - "address", - "amount" - ], - "type": "object" - }, - "SignRawParams": { - "properties": { - "commission": { - "description": "Commission for the transaction. In nanocoins.", - "example": "1000000", - "type": "string", - "x-js-format": "bigint" - }, - "from": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "messages": { - "items": { - "$ref": "#/components/schemas/SignRawMessage" - }, - "type": "array" - }, - "relay_address": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "valid_until": { - "example": 1717397217, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "messages", - "relay_address", - "commission", - "from", - "valid_until" - ], - "type": "object" - }, - "SizeLimitsConfig": { - "properties": { - "max_acc_state_bits": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "max_acc_state_cells": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "max_ext_msg_depth": { - "example": 1000000, - "format": "int", - "type": "integer" - }, - "max_ext_msg_size": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "max_library_cells": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "max_msg_bits": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "max_msg_cells": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "max_vm_data_depth": { - "example": 1000000, - "format": "int", - "type": "integer" - } - }, - "required": [ - "max_msg_bits", - "max_msg_cells", - "max_library_cells", - "max_vm_data_depth", - "max_ext_msg_size", - "max_ext_msg_depth" - ], - "type": "object" - }, - "SmartContractAction": { - "properties": { - "contract": { - "$ref": "#/components/schemas/AccountAddress" - }, - "executor": { - "$ref": "#/components/schemas/AccountAddress" - }, - "operation": { - "example": "NftTransfer or 0x35d95a12", - "type": "string" - }, - "payload": { - "type": "string" - }, - "refund": { - "$ref": "#/components/schemas/Refund" - }, - "ton_attached": { - "description": "amount in nanotons", - "example": 123456789, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "executor", - "contract", - "ton_attached", - "operation" - ], - "type": "object" - }, - "StateInit": { - "properties": { - "boc": { - "example": "b5ee9c72010106010044000114ff00f4a413f4bcf2c80b01020120020302014804050004f2300038d06c21d31f30ed44d0d33f3001c00197a4c8cb3fc9ed549330f206e20011a13431da89a1a67e61", - "format": "cell", - "type": "string" - }, - "interfaces": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "boc", - "interfaces" - ], - "type": "object" - }, - "StoragePhase": { - "properties": { - "fees_collected": { - "example": 25713146000001, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "fees_due": { - "example": 25713146000001, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "status_change": { - "$ref": "#/components/schemas/AccStatusChange" - } - }, - "required": [ - "fees_collected", - "status_change" - ], - "type": "object" - }, - "StorageProvider": { - "properties": { - "accept_new_contracts": { - "example": true, - "type": "boolean" - }, - "address": { - "example": "0:FD595F36B4C1535BEC8461490D38EBB9AE3C38DD6ACE17CA63ABE2C6608BE159", - "format": "address", - "type": "string" - }, - "max_span": { - "example": 604800, - "format": "int64", - "type": "integer" - }, - "maximal_file_size": { - "example": 10485760, - "format": "int64", - "type": "integer" - }, - "minimal_file_size": { - "example": 64, - "format": "int64", - "type": "integer" - }, - "rate_per_mb_day": { - "example": 50000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "address", - "accept_new_contracts", - "rate_per_mb_day", - "max_span", - "minimal_file_size", - "maximal_file_size" - ], - "type": "object" - }, - "Subscription": { - "properties": { - "address": { - "example": "0:dea8f638b789172ce36d10a20318125e52c649aa84893cd77858224fe2b9b0ee", - "format": "address", - "type": "string" - }, - "amount": { - "example": 1000000000, - "format": "int64", - "type": "integer" - }, - "beneficiary_address": { - "example": "0:c704dadfabac88eab58e340de03080df81ff76636431f48624ad6e26fb2da0a4", - "format": "address", - "type": "string" - }, - "failed_attempts": { - "example": 0, - "format": "int32", - "type": "integer" - }, - "last_payment_time": { - "example": 1653996834, - "format": "int64", - "type": "integer" - }, - "last_request_time": { - "example": 0, - "format": "int64", - "type": "integer" - }, - "period": { - "example": 2592000, - "format": "int64", - "type": "integer" - }, - "start_time": { - "example": 1653996832, - "format": "int64", - "type": "integer" - }, - "subscription_id": { - "example": 217477, - "format": "int64", - "type": "integer" - }, - "timeout": { - "example": 10800, - "format": "int64", - "type": "integer" - }, - "wallet_address": { - "example": "0:567DE86AF2B6A557D7085807CF7C26338124987A5179344F0D0FA2657EB710F1", - "format": "address", - "type": "string" - } - }, - "required": [ - "address", - "wallet_address", - "beneficiary_address", - "amount", - "period", - "start_time", - "timeout", - "last_payment_time", - "last_request_time", - "subscription_id", - "failed_attempts" - ], - "type": "object" - }, - "SubscriptionAction": { - "properties": { - "amount": { - "example": 1000000000, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "beneficiary": { - "$ref": "#/components/schemas/AccountAddress" - }, - "initial": { - "example": false, - "type": "boolean" - }, - "subscriber": { - "$ref": "#/components/schemas/AccountAddress" - }, - "subscription": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - } - }, - "required": [ - "subscriber", - "subscription", - "beneficiary", - "amount", - "initial" - ], - "type": "object" - }, - "Subscriptions": { - "properties": { - "subscriptions": { - "items": { - "$ref": "#/components/schemas/Subscription" - }, - "type": "array" - } - }, - "required": [ - "subscriptions" - ], - "type": "object" - }, - "TokenRates": { - "properties": { - "diff_24h": { - "additionalProperties": { - "type": "string" - }, - "example": { - "TON": "-1.28%" - }, - "type": "object" - }, - "diff_30d": { - "additionalProperties": { - "type": "string" - }, - "example": { - "TON": "-0.56%" - }, - "type": "object" - }, - "diff_7d": { - "additionalProperties": { - "type": "string" - }, - "example": { - "TON": "-2.74%" - }, - "type": "object" - }, - "prices": { - "additionalProperties": { - "type": "number" - }, - "example": { - "TON": 1.3710752873163712 - }, - "type": "object" - } - }, - "type": "object" - }, - "TonTransferAction": { - "properties": { - "amount": { - "description": "amount in nanotons", - "example": 123456789, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "comment": { - "example": "Hi! This is your salary. \nFrom accounting with love.", - "type": "string" - }, - "encrypted_comment": { - "$ref": "#/components/schemas/EncryptedComment" - }, - "recipient": { - "$ref": "#/components/schemas/AccountAddress" - }, - "refund": { - "$ref": "#/components/schemas/Refund" - }, - "sender": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "sender", - "recipient", - "amount" - ], - "type": "object" - }, - "Trace": { - "properties": { - "children": { - "items": { - "$ref": "#/components/schemas/Trace" - }, - "type": "array" - }, - "emulated": { - "example": false, - "type": "boolean" - }, - "interfaces": { - "example": [ - "wallet", - "tep62_item" - ], - "items": { - "type": "string" - }, - "type": "array" - }, - "transaction": { - "$ref": "#/components/schemas/Transaction" - } - }, - "required": [ - "transaction", - "interfaces" - ], - "type": "object" - }, - "TraceID": { - "properties": { - "id": { - "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", - "type": "string" - }, - "utime": { - "example": 1645544908, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "id", - "utime" - ], - "type": "object" - }, - "TraceIDs": { - "properties": { - "traces": { - "items": { - "$ref": "#/components/schemas/TraceID" - }, - "type": "array" - } - }, - "required": [ - "traces" - ], - "type": "object" - }, - "Transaction": { - "properties": { - "aborted": { - "example": true, - "type": "boolean" - }, - "account": { - "$ref": "#/components/schemas/AccountAddress" - }, - "action_phase": { - "$ref": "#/components/schemas/ActionPhase" - }, - "block": { - "example": "(-1,4234234,8000000000000000)", - "type": "string" - }, - "bounce_phase": { - "$ref": "#/components/schemas/BouncePhaseType" - }, - "compute_phase": { - "$ref": "#/components/schemas/ComputePhase" - }, - "credit_phase": { - "$ref": "#/components/schemas/CreditPhase" - }, - "destroyed": { - "example": true, - "type": "boolean" - }, - "end_balance": { - "example": 25713146000001, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "end_status": { - "$ref": "#/components/schemas/AccountStatus" - }, - "hash": { - "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", - "type": "string" - }, - "in_msg": { - "$ref": "#/components/schemas/Message" - }, - "lt": { - "example": 25713146000001, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "orig_status": { - "$ref": "#/components/schemas/AccountStatus" - }, - "out_msgs": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array" - }, - "prev_trans_hash": { - "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", - "type": "string" - }, - "prev_trans_lt": { - "example": 25713146000001, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "raw": { - "description": "hex encoded boc with raw transaction", - "example": "b5ee9c72410206010001380003b372cf3b5b8c891e517c9addbda1c0386a09ccacbb0e3faf630b51cfc8152325acb00002ac5795c0e41fdf79135cb7da03cc623b165d614b562a51eeccd8a5e097f405abf6b37f4e73000002ac5629732c1666887ed000144030480102030101a004008272abc8f2971aa4404ac6da1597720f348b2e1247b1ad9f55cbd3b6812f0a5f08b269bb65039fb1f6074d00f794e857f6dfd01131d299df456af10a8a4943d4d165000d0c80608840492001ab48015581f575c3b8c6ab3d6", - "format": "cell", - "type": "string" - }, - "state_update_new": { - "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", - "type": "string" - }, - "state_update_old": { - "example": "55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", - "type": "string" - }, - "storage_phase": { - "$ref": "#/components/schemas/StoragePhase" - }, - "success": { - "example": true, - "type": "boolean" - }, - "total_fees": { - "example": 25713146000001, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "transaction_type": { - "$ref": "#/components/schemas/TransactionType" - }, - "utime": { - "example": 1645544908, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "hash", - "lt", - "account", - "end_balance", - "success", - "utime", - "orig_status", - "end_status", - "total_fees", - "transaction_type", - "state_update_old", - "state_update_new", - "out_msgs", - "block", - "aborted", - "destroyed", - "raw" - ], - "type": "object" - }, - "TransactionType": { - "enum": [ - "TransOrd", - "TransTickTock", - "TransSplitPrepare", - "TransSplitInstall", - "TransMergePrepare", - "TransMergeInstall", - "TransStorage" - ], - "example": "TransOrd", - "type": "string" - }, - "Transactions": { - "properties": { - "transactions": { - "items": { - "$ref": "#/components/schemas/Transaction" - }, - "type": "array" - } - }, - "required": [ - "transactions" - ], - "type": "object" - }, - "TrustType": { - "enum": [ - "whitelist", - "graylist", - "blacklist", - "none" - ], - "example": "whitelist", - "type": "string" - }, - "TvmStackRecord": { - "format": "tuple-item", - "properties": { - "cell": { - "format": "cell", - "type": "string" - }, - "num": { - "example": "", - "type": "string" - }, - "slice": { - "format": "cell", - "type": "string" - }, - "tuple": { - "example": [], - "items": { - "$ref": "#/components/schemas/TvmStackRecord" - }, - "type": "array" - }, - "type": { - "enum": [ - "cell", - "num", - "nan", - "null", - "tuple" - ], - "example": "cell", - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "UnSubscriptionAction": { - "properties": { - "beneficiary": { - "$ref": "#/components/schemas/AccountAddress" - }, - "subscriber": { - "$ref": "#/components/schemas/AccountAddress" - }, - "subscription": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - } - }, - "required": [ - "subscriber", - "subscription", - "beneficiary" - ], - "type": "object" - }, - "Validator": { - "properties": { - "address": { - "example": "0:55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122", - "format": "address", - "type": "string" - }, - "adnl_address": { - "example": "10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365", - "type": "string" - }, - "max_factor": { - "example": 123456789, - "format": "int64", - "type": "integer" - }, - "stake": { - "example": 123456789, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "address", - "adnl_address", - "stake", - "max_factor" - ], - "type": "object" - }, - "Validators": { - "properties": { - "elect_at": { - "example": 123456789, - "format": "int64", - "type": "integer" - }, - "elect_close": { - "example": 123456789, - "format": "int64", - "type": "integer" - }, - "min_stake": { - "example": 123456789, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "total_stake": { - "example": 123456789, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "validators": { - "items": { - "$ref": "#/components/schemas/Validator" - }, - "type": "array" - } - }, - "required": [ - "validators", - "elect_at", - "elect_close", - "min_stake", - "total_stake" - ], - "type": "object" - }, - "ValidatorsSet": { - "properties": { - "list": { - "items": { - "properties": { - "adnl_addr": { - "example": "45061C1D4EC44A937D0318589E13C73D151D1CEF5D3C0E53AFBCF56A6C2FE2BD", - "type": "string" - }, - "public_key": { - "type": "string" - }, - "weight": { - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "public_key", - "weight" - ], - "type": "object" - }, - "type": "array" - }, - "main": { - "type": "integer" - }, - "total": { - "type": "integer" - }, - "total_weight": { - "example": "1152921504606846800", - "type": "string", - "x-js-format": "bigint" - }, - "utime_since": { - "type": "integer" - }, - "utime_until": { - "type": "integer" - } - }, - "required": [ - "utime_since", - "utime_until", - "total", - "main", - "list" - ], - "type": "object" - }, - "ValueFlow": { - "properties": { - "account": { - "$ref": "#/components/schemas/AccountAddress" - }, - "fees": { - "example": 10, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "jettons": { - "items": { - "properties": { - "account": { - "$ref": "#/components/schemas/AccountAddress" - }, - "jetton": { - "$ref": "#/components/schemas/JettonPreview" - }, - "quantity": { - "example": 10, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "account", - "quantity", - "jetton" - ], - "type": "object" - }, - "type": "array" - }, - "ton": { - "example": 80, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - "required": [ - "account", - "ton", - "fees" - ], - "type": "object" - }, - "WalletDNS": { - "properties": { - "account": { - "$ref": "#/components/schemas/AccountAddress" - }, - "address": { - "example": "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf", - "format": "address", - "type": "string" - }, - "has_method_pubkey": { - "example": true, - "type": "boolean" - }, - "has_method_seqno": { - "example": true, - "type": "boolean" - }, - "is_wallet": { - "example": true, - "type": "boolean" - }, - "names": { - "items": { - "example": "name", - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "address", - "is_wallet", - "has_method_pubkey", - "has_method_seqno", - "names", - "account" - ], - "type": "object" - }, - "WithdrawStakeAction": { - "description": "validator's participation in elections", - "properties": { - "amount": { - "example": 1660050553, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "implementation": { - "$ref": "#/components/schemas/PoolImplementationType" - }, - "pool": { - "$ref": "#/components/schemas/AccountAddress" - }, - "staker": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "amount", - "staker", - "pool", - "implementation" - ], - "type": "object" - }, - "WithdrawStakeRequestAction": { - "description": "validator's participation in elections", - "properties": { - "amount": { - "example": 1660050553, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "implementation": { - "$ref": "#/components/schemas/PoolImplementationType" - }, - "pool": { - "$ref": "#/components/schemas/AccountAddress" - }, - "staker": { - "$ref": "#/components/schemas/AccountAddress" - } - }, - "required": [ - "staker", - "pool", - "implementation" - ], - "type": "object" - }, - "WorkchainDescr": { - "properties": { - "accept_msgs": { - "example": true, - "type": "boolean" - }, - "active": { - "example": true, - "type": "boolean" - }, - "actual_min_split": { - "example": 1000000, - "format": "int", - "type": "integer" - }, - "basic": { - "example": 1000000, - "type": "integer" - }, - "enabled_since": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "flags": { - "example": 1000000, - "format": "int", - "type": "integer" - }, - "max_split": { - "example": 1000000, - "format": "int", - "type": "integer" - }, - "min_split": { - "example": 1000000, - "format": "int", - "type": "integer" - }, - "version": { - "example": 1000000, - "format": "int64", - "type": "integer" - }, - "workchain": { - "example": 0, - "format": "int", - "type": "integer" - }, - "zerostate_file_hash": { - "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", - "type": "string" - }, - "zerostate_root_hash": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - } - }, - "required": [ - "workchain", - "enabled_since", - "actual_min_split", - "min_split", - "max_split", - "basic", - "active", - "accept_msgs", - "flags", - "zerostate_root_hash", - "zerostate_file_hash", - "version" - ], - "type": "object" - } - } - }, - "info": { - "contact": { - "email": "support@tonkeeper.com", - "name": "Support" - }, - "description": "Provide access to indexed TON blockchain", - "title": "REST api to TON blockchain explorer", - "version": "2.0.0" - }, - "openapi": "3.1.0", - "paths": { - "/v2/accounts/_bulk": { - "post": { - "description": "Get human-friendly information about several accounts without low-level details.", - "operationId": "getAccounts", - "parameters": [ - { - "$ref": "#/components/parameters/currencyQuery" - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/AccountIDs" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Accounts" - } - } - }, - "description": "a list of accounts" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/search": { - "get": { - "description": "Search by account domain name", - "operationId": "searchAccounts", - "parameters": [ - { - "in": "query", - "name": "name", - "required": true, - "schema": { - "maxLength": 15, - "minLength": 3, - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FoundAccounts" - } - } - }, - "description": "found accounts" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}": { - "get": { - "description": "Get human-friendly information about an account without low-level details.", - "operationId": "getAccount", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Account" - } - } - }, - "description": "account" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/diff": { - "get": { - "description": "Get account's balance change", - "operationId": "getAccountDiff", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "in": "query", - "name": "start_date", - "required": true, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - }, - { - "in": "query", - "name": "end_date", - "required": true, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "balance_change": { - "example": 1000000000, - "format": "int64", - "type": "integer" - } - }, - "required": [ - "balance_change" - ], - "type": "object" - } - } - }, - "description": "account's balance change" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/dns/backresolve": { - "get": { - "description": "Get account's domains", - "operationId": "accountDnsBackResolve", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DomainNames" - } - } - }, - "description": "account's domains" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/dns/expiring": { - "get": { - "description": "Get expiring account .ton dns", - "operationId": "getAccountDnsExpiring", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/periodQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DnsExpiring" - } - } - }, - "description": "account's expiring .ton dns" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/events": { - "get": { - "description": "Get events for an account. Each event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time.", - "operationId": "getAccountEvents", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/i18n" - }, - { - "$ref": "#/components/parameters/initiatorQuery" - }, - { - "description": "filter actions where requested account is not real subject (for example sender or receiver jettons)", - "in": "query", - "name": "subject_only", - "required": false, - "schema": { - "default": false, - "type": "boolean" - } - }, - { - "description": "omit this parameter to get last events", - "in": "query", - "name": "before_lt", - "required": false, - "schema": { - "example": 25758317000002, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - { - "in": "query", - "name": "limit", - "required": true, - "schema": { - "example": 20, - "maximum": 100, - "minimum": 1, - "type": "integer" - } - }, - { - "in": "query", - "name": "start_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - }, - { - "in": "query", - "name": "end_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountEvents" - } - } - }, - "description": "account's events" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/events/emulate": { - "post": { - "description": "Emulate sending message to blockchain", - "operationId": "emulateMessageToAccountEvent", - "parameters": [ - { - "$ref": "#/components/parameters/i18n" - }, - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "in": "query", - "name": "ignore_signature_check", - "required": false, - "schema": { - "type": "boolean" - } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Boc" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountEvent" - } - } - }, - "description": "emulated message to account" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Emulation", - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/events/{event_id}": { - "get": { - "description": "Get event for an account by event_id", - "operationId": "getAccountEvent", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/eventIDParameter" - }, - { - "$ref": "#/components/parameters/i18n" - }, - { - "description": "filter actions where requested account is not real subject (for example sender or receiver jettons)", - "in": "query", - "name": "subject_only", - "required": false, - "schema": { - "default": false, - "type": "boolean" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountEvent" - } - } - }, - "description": "account's event" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/jettons": { - "get": { - "description": "Get all Jettons balances by owner address", - "operationId": "getAccountJettonsBalances", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/currenciesQuery" - }, - { - "$ref": "#/components/parameters/supportedExtensions" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JettonsBalances" - } - } - }, - "description": "account jettons balances" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/jettons/history": { - "get": { - "description": "Get the transfer jettons history for account", - "operationId": "getAccountJettonsHistory", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/i18n" - }, - { - "description": "omit this parameter to get last events", - "in": "query", - "name": "before_lt", - "required": false, - "schema": { - "example": 25758317000002, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - { - "in": "query", - "name": "limit", - "required": true, - "schema": { - "example": 100, - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - }, - { - "in": "query", - "name": "start_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - }, - { - "in": "query", - "name": "end_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountEvents" - } - } - }, - "description": "account jettons history" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/jettons/{jetton_id}": { - "get": { - "description": "Get Jetton balance by owner address", - "operationId": "getAccountJettonBalance", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/jettonIDParameter" - }, - { - "$ref": "#/components/parameters/currenciesQuery" - }, - { - "$ref": "#/components/parameters/supportedExtensions" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JettonBalance" - } - } - }, - "description": "account jetton balance" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/jettons/{jetton_id}/history": { - "get": { - "description": "Get the transfer jetton history for account and jetton", - "operationId": "getAccountJettonHistoryByID", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/jettonIDParameter" - }, - { - "$ref": "#/components/parameters/i18n" - }, - { - "description": "omit this parameter to get last events", - "in": "query", - "name": "before_lt", - "required": false, - "schema": { - "example": 25758317000002, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - { - "in": "query", - "name": "limit", - "required": true, - "schema": { - "example": 100, - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - }, - { - "in": "query", - "name": "start_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - }, - { - "in": "query", - "name": "end_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountEvents" - } - } - }, - "description": "account jetton history" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/multisigs": { - "get": { - "description": "Get account's multisigs", - "operationId": "getAccountMultisigs", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Multisigs" - } - } - }, - "description": "account's multisigs" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/nfts": { - "get": { - "description": "Get all NFT items by owner address", - "operationId": "getAccountNftItems", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/collectionQuery" - }, - { - "$ref": "#/components/parameters/limitQuery" - }, - { - "$ref": "#/components/parameters/offsetQuery" - }, - { - "description": "Selling nft items in ton implemented usually via transfer items to special selling account. This option enables including items which owned not directly.", - "in": "query", - "name": "indirect_ownership", - "required": false, - "schema": { - "default": false, - "type": "boolean" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NftItems" - } - } - }, - "description": "account nft items" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/nfts/history": { - "get": { - "description": "Get the transfer nft history", - "operationId": "getAccountNftHistory", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/i18n" - }, - { - "description": "omit this parameter to get last events", - "in": "query", - "name": "before_lt", - "required": false, - "schema": { - "example": 25758317000002, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - { - "in": "query", - "name": "limit", - "required": true, - "schema": { - "example": 100, - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - }, - { - "in": "query", - "name": "start_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - }, - { - "in": "query", - "name": "end_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountEvents" - } - } - }, - "description": "nft history" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "NFT" - ], - "x-question": "duplicate of getNftHistoryByID ?" - } - }, - "/v2/accounts/{account_id}/publickey": { - "get": { - "description": "Get public key by account id", - "operationId": "getAccountPublicKey", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "public_key": { - "example": "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3...", - "type": "string" - } - }, - "required": [ - "public_key" - ], - "type": "object" - } - } - }, - "description": "account's public key" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/reindex": { - "post": { - "description": "Update internal cache for a particular account", - "operationId": "reindexAccount", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "description": "success" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/subscriptions": { - "get": { - "description": "Get all subscriptions by wallet address", - "operationId": "getAccountSubscriptions", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscriptions" - } - } - }, - "description": "account's subscriptions" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/accounts/{account_id}/traces": { - "get": { - "description": "Get traces for account", - "operationId": "getAccountTraces", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "description": "omit this parameter to get last events", - "in": "query", - "name": "before_lt", - "required": false, - "schema": { - "example": 25758317000002, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - { - "in": "query", - "name": "limit", - "schema": { - "default": 100, - "example": 100, - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TraceIDs" - } - } - }, - "description": "account's traces" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Accounts" - ] - } - }, - "/v2/address/{account_id}/parse": { - "get": { - "description": "parse address and display in all formats", - "operationId": "addressParse", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "bounceable": { - "properties": { - "b64": { - "type": "string" - }, - "b64url": { - "type": "string" - } - }, - "required": [ - "b64", - "b64url" - ], - "type": "object" - }, - "given_type": { - "type": "string" - }, - "non_bounceable": { - "properties": { - "b64": { - "type": "string" - }, - "b64url": { - "type": "string" - } - }, - "required": [ - "b64", - "b64url" - ], - "type": "object" - }, - "raw_form": { - "example": "0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e", - "format": "address", - "type": "string" - }, - "test_only": { - "type": "boolean" - } - }, - "required": [ - "raw_form", - "bounceable", - "non_bounceable", - "given_type", - "test_only" - ], - "type": "object" - } - } - }, - "description": "all forms and info" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Utilities" - ] - } - }, - "/v2/blockchain/accounts/{account_id}": { - "get": { - "description": "Get low-level information about an account taken directly from the blockchain.", - "operationId": "getBlockchainRawAccount", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BlockchainRawAccount" - } - } - }, - "description": "raw account" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/accounts/{account_id}/inspect": { - "get": { - "description": "Blockchain account inspect", - "operationId": "blockchainAccountInspect", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BlockchainAccountInspect" - } - } - }, - "description": "blockchain account inspect" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/accounts/{account_id}/methods/{method_name}": { - "get": { - "description": "Execute get method for account", - "operationId": "execGetMethodForBlockchainAccount", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/methodNameParameter" - }, - { - "in": "query", - "name": "args", - "required": false, - "schema": { - "description": "Supported values:\n\"NaN\" for NaN type, \n\"Null\" for Null type, \n10-base digits for tiny int type (Example: 100500), \n0x-prefixed hex digits for int257 (Example: 0xfa01d78381ae32), \nall forms of addresses for slice type (Example: 0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e), \nsingle-root base64-encoded BOC for cell (Example: \"te6ccgEBAQEAAgAAAA==\"),\nsingle-root hex-encoded BOC for slice (Example: b5ee9c72010101010002000000)", - "example": [ - "0:9a33970f617bcd71acf2cd28357c067aa31859c02820d8f01d74c88063a8f4d8" - ], - "items": { - "type": "string" - }, - "type": "array" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MethodExecutionResult" - } - } - }, - "description": "method execution result" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/accounts/{account_id}/transactions": { - "get": { - "description": "Get account transactions", - "operationId": "getBlockchainAccountTransactions", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "description": "omit this parameter to get last transactions", - "in": "query", - "name": "after_lt", - "schema": { - "example": 39787624000003, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - { - "description": "omit this parameter to get last transactions", - "in": "query", - "name": "before_lt", - "schema": { - "example": 39787624000003, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - { - "in": "query", - "name": "limit", - "schema": { - "default": 100, - "example": 100, - "format": "int32", - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - }, - { - "in": "query", - "name": "sort_order", - "schema": { - "default": "desc", - "description": "used to sort the result-set in ascending or descending order by lt.", - "enum": [ - "desc", - "asc" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Transactions" - } - } - }, - "description": "blockchain account transactions" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/blocks/{block_id}": { - "get": { - "description": "Get blockchain block data", - "operationId": "getBlockchainBlock", - "parameters": [ - { - "$ref": "#/components/parameters/blockchainBlockIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BlockchainBlock" - } - } - }, - "description": "blockchain block" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/blocks/{block_id}/transactions": { - "get": { - "description": "Get transactions from block", - "operationId": "getBlockchainBlockTransactions", - "parameters": [ - { - "$ref": "#/components/parameters/blockchainBlockIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Transactions" - } - } - }, - "description": "blockchain block transactions" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/config": { - "get": { - "description": "Get blockchain config", - "operationId": "getBlockchainConfig", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BlockchainConfig" - } - } - }, - "description": "blockchain config" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/config/raw": { - "get": { - "description": "Get raw blockchain config", - "operationId": "getRawBlockchainConfig", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RawBlockchainConfig" - } - } - }, - "description": "blockchain config" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/masterchain-head": { - "get": { - "description": "Get last known masterchain block", - "operationId": "getBlockchainMasterchainHead", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BlockchainBlock" - } - } - }, - "description": "blockchain masterchain head" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/masterchain/{masterchain_seqno}/blocks": { - "get": { - "description": "Get all blocks in all shards and workchains between target and previous masterchain block according to shards last blocks snapshot in masterchain. We don't recommend to build your app around this method because it has problem with scalability and will work very slow in the future.", - "operationId": "getBlockchainMasterchainBlocks", - "parameters": [ - { - "$ref": "#/components/parameters/masterchainSeqno" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BlockchainBlocks" - } - } - }, - "description": "blockchain blocks" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/masterchain/{masterchain_seqno}/config": { - "get": { - "description": "Get blockchain config from a specific block, if present.", - "operationId": "getBlockchainConfigFromBlock", - "parameters": [ - { - "$ref": "#/components/parameters/masterchainSeqno" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BlockchainConfig" - } - } - }, - "description": "blockchain config" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/masterchain/{masterchain_seqno}/config/raw": { - "get": { - "description": "Get raw blockchain config from a specific block, if present.", - "operationId": "getRawBlockchainConfigFromBlock", - "parameters": [ - { - "$ref": "#/components/parameters/masterchainSeqno" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RawBlockchainConfig" - } - } - }, - "description": "blockchain config" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/masterchain/{masterchain_seqno}/shards": { - "get": { - "description": "Get blockchain block shards", - "operationId": "getBlockchainMasterchainShards", - "parameters": [ - { - "$ref": "#/components/parameters/masterchainSeqno" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BlockchainBlockShards" - } - } - }, - "description": "blockchain block shards" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/masterchain/{masterchain_seqno}/transactions": { - "get": { - "description": "Get all transactions in all shards and workchains between target and previous masterchain block according to shards last blocks snapshot in masterchain. We don't recommend to build your app around this method because it has problem with scalability and will work very slow in the future.", - "operationId": "getBlockchainMasterchainTransactions", - "parameters": [ - { - "$ref": "#/components/parameters/masterchainSeqno" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Transactions" - } - } - }, - "description": "blockchain transactions" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/message": { - "post": { - "description": "Send message to blockchain", - "operationId": "sendBlockchainMessage", - "requestBody": { - "$ref": "#/components/requestBodies/BatchBoc" - }, - "responses": { - "200": { - "description": "the message has been sent" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/messages/{msg_id}/transaction": { - "get": { - "description": "Get transaction data by message hash", - "operationId": "getBlockchainTransactionByMessageHash", - "parameters": [ - { - "$ref": "#/components/parameters/messageIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Transaction" - } - } - }, - "description": "transaction by message hash" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/reduced/blocks": { - "get": { - "description": "Get reduced blockchain blocks data", - "operationId": "getReducedBlockchainBlocks", - "parameters": [ - { - "$ref": "#/components/parameters/fromQuery" - }, - { - "$ref": "#/components/parameters/toQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReducedBlocks" - } - } - }, - "description": "blockchain reduced blocks" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/transactions/{transaction_id}": { - "get": { - "description": "Get transaction data", - "operationId": "getBlockchainTransaction", - "parameters": [ - { - "$ref": "#/components/parameters/transactionIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Transaction" - } - } - }, - "description": "blockchain transaction" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/blockchain/validators": { - "get": { - "description": "Get blockchain validators", - "operationId": "getBlockchainValidators", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Validators" - } - } - }, - "description": "blockchain validators" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Blockchain" - ] - } - }, - "/v2/dns/auctions": { - "get": { - "description": "Get all auctions", - "operationId": "getAllAuctions", - "parameters": [ - { - "$ref": "#/components/parameters/domainFilterQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Auctions" - } - } - }, - "description": "auctions" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "DNS" - ] - } - }, - "/v2/dns/{domain_name}": { - "get": { - "description": "Get full information about domain name", - "operationId": "getDnsInfo", - "parameters": [ - { - "$ref": "#/components/parameters/domainNameParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DomainInfo" - } - } - }, - "description": "domain info" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "DNS" - ] - } - }, - "/v2/dns/{domain_name}/bids": { - "get": { - "description": "Get domain bids", - "operationId": "getDomainBids", - "parameters": [ - { - "$ref": "#/components/parameters/domainNameParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DomainBids" - } - } - }, - "description": "domain bids" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "DNS" - ] - } - }, - "/v2/dns/{domain_name}/resolve": { - "get": { - "description": "DNS resolve for domain name", - "operationId": "dnsResolve", - "parameters": [ - { - "$ref": "#/components/parameters/domainNameParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DnsRecord" - } - } - }, - "description": "dns record" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "DNS" - ] - } - }, - "/v2/events/emulate": { - "post": { - "description": "Emulate sending message to blockchain", - "operationId": "emulateMessageToEvent", - "parameters": [ - { - "$ref": "#/components/parameters/i18n" - }, - { - "in": "query", - "name": "ignore_signature_check", - "required": false, - "schema": { - "type": "boolean" - } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Boc" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Event" - } - } - }, - "description": "emulated event" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Emulation", - "Events" - ] - } - }, - "/v2/events/{event_id}": { - "get": { - "description": "Get an event either by event ID or a hash of any transaction in a trace. An event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time.", - "operationId": "getEvent", - "parameters": [ - { - "$ref": "#/components/parameters/eventIDParameter" - }, - { - "$ref": "#/components/parameters/i18n" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Event" - } - } - }, - "description": "event" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Events" - ] - } - }, - "/v2/events/{event_id}/jettons": { - "get": { - "description": "Get only jetton transfers in the event", - "operationId": "getJettonsEvents", - "parameters": [ - { - "$ref": "#/components/parameters/eventIDParameter" - }, - { - "$ref": "#/components/parameters/i18n" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Event" - } - } - }, - "description": "events" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Jettons" - ] - } - }, - "/v2/experimental/accounts/{account_id}/inscriptions": { - "get": { - "description": "Get all inscriptions by owner address. It's experimental API and can be dropped in the future.", - "operationId": "getAccountInscriptions", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/limitQuery" - }, - { - "$ref": "#/components/parameters/offsetQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InscriptionBalances" - } - } - }, - "description": "account inscriptions" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Inscriptions" - ] - } - }, - "/v2/experimental/accounts/{account_id}/inscriptions/history": { - "get": { - "description": "Get the transfer inscriptions history for account. It's experimental API and can be dropped in the future.", - "operationId": "getAccountInscriptionsHistory", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/i18n" - }, - { - "description": "omit this parameter to get last events", - "in": "query", - "name": "before_lt", - "required": false, - "schema": { - "example": 25758317000002, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - { - "in": "query", - "name": "limit", - "required": false, - "schema": { - "default": 100, - "example": 100, - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountEvents" - } - } - }, - "description": "account inscriptions history" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Inscriptions" - ] - } - }, - "/v2/experimental/accounts/{account_id}/inscriptions/{ticker}/history": { - "get": { - "description": "Get the transfer inscriptions history for account. It's experimental API and can be dropped in the future.", - "operationId": "getAccountInscriptionsHistoryByTicker", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/i18n" - }, - { - "in": "path", - "name": "ticker", - "required": true, - "schema": { - "example": "nano", - "type": "string" - } - }, - { - "description": "omit this parameter to get last events", - "in": "query", - "name": "before_lt", - "required": false, - "schema": { - "example": 25758317000002, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - { - "in": "query", - "name": "limit", - "required": false, - "schema": { - "default": 100, - "example": 100, - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountEvents" - } - } - }, - "description": "account inscriptions history" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Inscriptions" - ] - } - }, - "/v2/experimental/inscriptions/op-template": { - "get": { - "description": "return comment for making operation with inscription. please don't use it if you don't know what you are doing", - "operationId": "getInscriptionOpTemplate", - "parameters": [ - { - "in": "query", - "name": "type", - "required": true, - "schema": { - "enum": [ - "ton20", - "gram20" - ], - "example": "ton20", - "type": "string" - } - }, - { - "in": "query", - "name": "destination", - "required": false, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "comment", - "required": false, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "operation", - "required": true, - "schema": { - "enum": [ - "transfer" - ], - "example": "transfer", - "type": "string" - } - }, - { - "in": "query", - "name": "amount", - "required": true, - "schema": { - "example": "1000000000", - "type": "string", - "x-js-format": "bigint" - } - }, - { - "in": "query", - "name": "ticker", - "required": true, - "schema": { - "example": "nano", - "type": "string" - } - }, - { - "in": "query", - "name": "who", - "required": true, - "schema": { - "example": "UQAs87W4yJHlF8mt29ocA4agnMrLsOP69jC1HPyBUjJay7Mg", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "comment": { - "example": "comment", - "type": "string" - }, - "destination": { - "example": "0:0000000000000", - "type": "string" - } - }, - "required": [ - "comment", - "destination" - ], - "type": "object" - } - } - }, - "description": "inscription op template" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Inscriptions" - ] - } - }, - "/v2/gasless/config": { - "get": { - "description": "Returns configuration of gasless transfers", - "operationId": "gaslessConfig", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GaslessConfig" - } - } - }, - "description": "gasless config" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Gasless" - ] - } - }, - "/v2/gasless/estimate/{master_id}": { - "post": { - "description": "Estimates the cost of the given messages and returns a payload to sign", - "operationId": "gaslessEstimate", - "parameters": [ - { - "description": "jetton to pay commission", - "in": "path", - "name": "master_id", - "required": true, - "schema": { - "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", - "format": "address", - "type": "string" - } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/InternalMessages" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SignRawParams" - } - } - }, - "description": "payload to sign" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Gasless" - ] - } - }, - "/v2/gasless/send": { - "post": { - "description": "Submits the signed gasless transaction message to the network", - "operationId": "gaslessSend", - "requestBody": { - "$ref": "#/components/requestBodies/GaslessSend" - }, - "responses": { - "200": { - "description": "the message has been sent" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Gasless" - ] - } - }, - "/v2/jettons": { - "get": { - "description": "Get a list of all indexed jetton masters in the blockchain.", - "operationId": "getJettons", - "parameters": [ - { - "in": "query", - "name": "limit", - "schema": { - "default": 100, - "example": 15, - "format": "int32", - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - }, - { - "in": "query", - "name": "offset", - "schema": { - "default": 0, - "example": 10, - "format": "int32", - "minimum": 0, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Jettons" - } - } - }, - "description": "a list of jettons" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Jettons" - ] - } - }, - "/v2/jettons/_bulk": { - "post": { - "description": "Get jetton metadata items by jetton master addresses", - "operationId": "getJettonInfosByAddresses", - "requestBody": { - "$ref": "#/components/requestBodies/AccountIDs" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Jettons" - } - } - }, - "description": "a list of jettons" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Jettons" - ] - } - }, - "/v2/jettons/{account_id}": { - "get": { - "description": "Get jetton metadata by jetton master address", - "operationId": "getJettonInfo", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JettonInfo" - } - } - }, - "description": "jetton info" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Jettons" - ] - } - }, - "/v2/jettons/{account_id}/holders": { - "get": { - "description": "Get jetton's holders", - "operationId": "getJettonHolders", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/limitQuery" - }, - { - "$ref": "#/components/parameters/offsetQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JettonHolders" - } - } - }, - "description": "jetton's holders" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Jettons" - ] - } - }, - "/v2/jettons/{jetton_id}/transfer/{account_id}/payload": { - "get": { - "description": "Get jetton's custom payload and state init required for transfer", - "operationId": "getJettonTransferPayload", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/jettonIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JettonTransferPayload" - } - } - }, - "description": "jetton's custom payload" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Jettons" - ] - } - }, - "/v2/liteserver/get_account_state/{account_id}": { - "get": { - "description": "Get raw account state", - "operationId": "getRawAccountState", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/targetBlockIDExtQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "id": { - "$ref": "#/components/schemas/BlockRaw" - }, - "proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "shard_proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "shardblk": { - "$ref": "#/components/schemas/BlockRaw" - }, - "state": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - } - }, - "required": [ - "id", - "shardblk", - "shard_proof", - "proof", - "state" - ], - "type": "object" - } - } - }, - "description": "raw account state" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_all_shards_info/{block_id}": { - "get": { - "description": "Get all raw shards info", - "operationId": "getAllRawShardsInfo", - "parameters": [ - { - "$ref": "#/components/parameters/blockchainBlockIDExtParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/BlockRaw" - }, - "proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - } - }, - "required": [ - "id", - "proof", - "data" - ], - "type": "object" - } - } - }, - "description": "all raw shards info" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_block/{block_id}": { - "get": { - "description": "Get raw blockchain block", - "operationId": "getRawBlockchainBlock", - "parameters": [ - { - "$ref": "#/components/parameters/blockchainBlockIDExtParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/BlockRaw" - } - }, - "required": [ - "id", - "data" - ], - "type": "object" - } - } - }, - "description": "raw blockchain block" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_block_header/{block_id}": { - "get": { - "description": "Get raw blockchain block header", - "operationId": "getRawBlockchainBlockHeader", - "parameters": [ - { - "$ref": "#/components/parameters/blockchainBlockIDExtParameter" - }, - { - "$ref": "#/components/parameters/modeQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "header_proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/BlockRaw" - }, - "mode": { - "example": 0, - "format": "int32", - "type": "integer" - } - }, - "required": [ - "id", - "mode", - "header_proof" - ], - "type": "object" - } - } - }, - "description": "raw blockchain block header" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_block_proof": { - "get": { - "description": "Get raw block proof", - "operationId": "getRawBlockProof", - "parameters": [ - { - "$ref": "#/components/parameters/knownBlockIDExtQuery" - }, - { - "$ref": "#/components/parameters/targetBlockIDExtQuery" - }, - { - "$ref": "#/components/parameters/modeQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "complete": { - "example": true, - "type": "boolean" - }, - "from": { - "$ref": "#/components/schemas/BlockRaw" - }, - "steps": { - "items": { - "properties": { - "lite_server_block_link_back": { - "properties": { - "dest_proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "from": { - "$ref": "#/components/schemas/BlockRaw" - }, - "proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "state_proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "to": { - "$ref": "#/components/schemas/BlockRaw" - }, - "to_key_block": { - "example": false, - "type": "boolean" - } - }, - "required": [ - "to_key_block", - "from", - "to", - "dest_proof", - "proof", - "state_proof" - ], - "type": "object" - }, - "lite_server_block_link_forward": { - "properties": { - "config_proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "dest_proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "from": { - "$ref": "#/components/schemas/BlockRaw" - }, - "signatures": { - "properties": { - "catchain_seqno": { - "format": "int32", - "type": "integer" - }, - "signatures": { - "items": { - "properties": { - "node_id_short": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "signature": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - } - }, - "required": [ - "node_id_short", - "signature" - ], - "type": "object" - }, - "type": "array" - }, - "validator_set_hash": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "validator_set_hash", - "catchain_seqno", - "signatures" - ], - "type": "object" - }, - "to": { - "$ref": "#/components/schemas/BlockRaw" - }, - "to_key_block": { - "example": false, - "type": "boolean" - } - }, - "required": [ - "to_key_block", - "from", - "to", - "dest_proof", - "config_proof", - "signatures" - ], - "type": "object" - } - }, - "required": [ - "lite_server_block_link_back", - "lite_server_block_link_forward" - ], - "type": "object" - }, - "type": "array" - }, - "to": { - "$ref": "#/components/schemas/BlockRaw" - } - }, - "required": [ - "complete", - "from", - "to", - "steps" - ], - "type": "object" - } - } - }, - "description": "raw block proof" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_config_all/{block_id}": { - "get": { - "description": "Get raw config", - "operationId": "getRawConfig", - "parameters": [ - { - "$ref": "#/components/parameters/blockchainBlockIDExtParameter" - }, - { - "$ref": "#/components/parameters/modeQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "config_proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/BlockRaw" - }, - "mode": { - "example": 0, - "format": "int32", - "type": "integer" - }, - "state_proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - } - }, - "required": [ - "mode", - "id", - "state_proof", - "config_proof" - ], - "type": "object" - } - } - }, - "description": "raw config" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_masterchain_info": { - "get": { - "description": "Get raw masterchain info", - "operationId": "getRawMasterchainInfo", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "init": { - "$ref": "#/components/schemas/InitStateRaw" - }, - "last": { - "$ref": "#/components/schemas/BlockRaw" - }, - "state_root_hash": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - } - }, - "required": [ - "last", - "state_root_hash", - "init" - ], - "type": "object" - } - } - }, - "description": "raw masterchain info" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_masterchain_info_ext": { - "get": { - "description": "Get raw masterchain info ext", - "operationId": "getRawMasterchainInfoExt", - "parameters": [ - { - "$ref": "#/components/parameters/modeQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "capabilities": { - "example": 7, - "format": "int64", - "type": "integer" - }, - "init": { - "$ref": "#/components/schemas/InitStateRaw" - }, - "last": { - "$ref": "#/components/schemas/BlockRaw" - }, - "last_utime": { - "example": 1687938199, - "format": "int32", - "type": "integer" - }, - "mode": { - "example": 0, - "format": "int32", - "type": "integer" - }, - "now": { - "example": 1687938204, - "format": "int32", - "type": "integer" - }, - "state_root_hash": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "version": { - "example": 257, - "format": "int32", - "type": "integer" - } - }, - "required": [ - "mode", - "version", - "capabilities", - "last", - "last_utime", - "now", - "state_root_hash", - "init" - ], - "type": "object" - } - } - }, - "description": "raw masterchain info ext" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_out_msg_queue_sizes": { - "get": { - "description": "Get out msg queue sizes", - "operationId": "getOutMsgQueueSizes", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "ext_msg_queue_size_limit": { - "format": "uint32", - "type": "integer" - }, - "shards": { - "items": { - "properties": { - "id": { - "$ref": "#/components/schemas/BlockRaw" - }, - "size": { - "format": "uint32", - "type": "integer" - } - }, - "required": [ - "id", - "size" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "ext_msg_queue_size_limit", - "shards" - ], - "type": "object" - } - } - }, - "description": "out msg queue sizes" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_shard_block_proof/{block_id}": { - "get": { - "description": "Get raw shard block proof", - "operationId": "getRawShardBlockProof", - "parameters": [ - { - "$ref": "#/components/parameters/blockchainBlockIDExtParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "links": { - "items": { - "properties": { - "id": { - "$ref": "#/components/schemas/BlockRaw" - }, - "proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - } - }, - "required": [ - "id", - "proof" - ], - "type": "object" - }, - "type": "array" - }, - "masterchain_id": { - "$ref": "#/components/schemas/BlockRaw" - } - }, - "required": [ - "masterchain_id", - "links" - ], - "type": "object" - } - } - }, - "description": "raw shard block proof" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_shard_info/{block_id}": { - "get": { - "description": "Get raw shard info", - "operationId": "getRawShardInfo", - "parameters": [ - { - "$ref": "#/components/parameters/blockchainBlockIDExtParameter" - }, - { - "$ref": "#/components/parameters/workchainQuery" - }, - { - "$ref": "#/components/parameters/shardQuery" - }, - { - "$ref": "#/components/parameters/exactQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "id": { - "$ref": "#/components/schemas/BlockRaw" - }, - "shard_descr": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "shard_proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "shardblk": { - "$ref": "#/components/schemas/BlockRaw" - } - }, - "required": [ - "id", - "shardblk", - "shard_proof", - "shard_descr" - ], - "type": "object" - } - } - }, - "description": "raw shard info" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_state/{block_id}": { - "get": { - "description": "Get raw blockchain block state", - "operationId": "getRawBlockchainBlockState", - "parameters": [ - { - "$ref": "#/components/parameters/blockchainBlockIDExtParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "file_hash": { - "example": "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB", - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/BlockRaw" - }, - "root_hash": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - } - }, - "required": [ - "id", - "root_hash", - "file_hash", - "data" - ], - "type": "object" - } - } - }, - "description": "raw blockchain block state" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_time": { - "get": { - "description": "Get raw time", - "operationId": "getRawTime", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "time": { - "example": 1687146728, - "format": "int32", - "type": "integer" - } - }, - "required": [ - "time" - ], - "type": "object" - } - } - }, - "description": "raw time" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/get_transactions/{account_id}": { - "get": { - "description": "Get raw transactions", - "operationId": "getRawTransactions", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/countQuery" - }, - { - "$ref": "#/components/parameters/ltMustQuery" - }, - { - "$ref": "#/components/parameters/hashQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "ids": { - "items": { - "$ref": "#/components/schemas/BlockRaw" - }, - "type": "array" - }, - "transactions": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - } - }, - "required": [ - "ids", - "transactions" - ], - "type": "object" - } - } - }, - "description": "raw transactions" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/list_block_transactions/{block_id}": { - "get": { - "description": "Get raw list block transactions", - "operationId": "getRawListBlockTransactions", - "parameters": [ - { - "$ref": "#/components/parameters/blockchainBlockIDExtParameter" - }, - { - "$ref": "#/components/parameters/modeQuery" - }, - { - "$ref": "#/components/parameters/countQuery" - }, - { - "$ref": "#/components/parameters/accountIDQuery" - }, - { - "$ref": "#/components/parameters/ltQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "id": { - "$ref": "#/components/schemas/BlockRaw" - }, - "ids": { - "items": { - "properties": { - "account": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "hash": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "lt": { - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - }, - "mode": { - "example": 0, - "format": "int32", - "type": "integer" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - "type": "array" - }, - "incomplete": { - "example": true, - "type": "boolean" - }, - "proof": { - "example": "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85", - "type": "string" - }, - "req_count": { - "example": 100, - "format": "int32", - "type": "integer" - } - }, - "required": [ - "id", - "req_count", - "incomplete", - "ids", - "proof" - ], - "type": "object" - } - } - }, - "description": "a list of raw block transactions" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/liteserver/send_message": { - "post": { - "description": "Send raw message to blockchain", - "operationId": "sendRawMessage", - "requestBody": { - "$ref": "#/components/requestBodies/LiteServerSendMessageRequest" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "code": { - "example": 200, - "format": "int32", - "type": "integer" - } - }, - "required": [ - "code" - ], - "type": "object" - } - } - }, - "description": "code" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Lite Server" - ] - } - }, - "/v2/message/decode": { - "post": { - "description": "Decode a given message. Only external incoming messages can be decoded currently.", - "operationId": "decodeMessage", - "requestBody": { - "$ref": "#/components/requestBodies/Boc" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DecodedMessage" - } - } - }, - "description": "decoded message" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Emulation" - ] - } - }, - "/v2/multisig/{account_id}": { - "get": { - "description": "Get multisig account info", - "operationId": "getMultisigAccount", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Multisig" - } - } - }, - "description": "multisig account" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Multisig" - ] - } - }, - "/v2/nfts/_bulk": { - "post": { - "description": "Get NFT items by their addresses", - "operationId": "getNftItemsByAddresses", - "requestBody": { - "$ref": "#/components/requestBodies/AccountIDs" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NftItems" - } - } - }, - "description": "nft items" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "NFT" - ] - } - }, - "/v2/nfts/collections": { - "get": { - "description": "Get NFT collections", - "operationId": "getNftCollections", - "parameters": [ - { - "in": "query", - "name": "limit", - "schema": { - "default": 100, - "example": 15, - "format": "int32", - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - }, - { - "in": "query", - "name": "offset", - "schema": { - "default": 0, - "example": 10, - "format": "int32", - "minimum": 0, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NftCollections" - } - } - }, - "description": "nft collections" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "NFT" - ] - } - }, - "/v2/nfts/collections/_bulk": { - "post": { - "description": "Get NFT collection items by their addresses", - "operationId": "getNftCollectionItemsByAddresses", - "requestBody": { - "$ref": "#/components/requestBodies/AccountIDs" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NftCollections" - } - } - }, - "description": "nft collections" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "NFT" - ] - } - }, - "/v2/nfts/collections/{account_id}": { - "get": { - "description": "Get NFT collection by collection address", - "operationId": "getNftCollection", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NftCollection" - } - } - }, - "description": "nft collection" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "NFT" - ] - } - }, - "/v2/nfts/collections/{account_id}/items": { - "get": { - "description": "Get NFT items from collection by collection address", - "operationId": "getItemsFromCollection", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/limitQuery" - }, - { - "$ref": "#/components/parameters/offsetQuery" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NftItems" - } - } - }, - "description": "nft items" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "NFT" - ] - } - }, - "/v2/nfts/{account_id}": { - "get": { - "description": "Get NFT item by its address", - "operationId": "getNftItemByAddress", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NftItem" - } - } - }, - "description": "nft item" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "NFT" - ] - } - }, - "/v2/nfts/{account_id}/history": { - "get": { - "description": "Get the transfer nfts history for account", - "operationId": "getNftHistoryByID", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/i18n" - }, - { - "description": "omit this parameter to get last events", - "in": "query", - "name": "before_lt", - "required": false, - "schema": { - "example": 25758317000002, - "format": "int64", - "type": "integer", - "x-js-format": "bigint" - } - }, - { - "in": "query", - "name": "limit", - "required": true, - "schema": { - "example": 100, - "maximum": 1000, - "minimum": 1, - "type": "integer" - } - }, - { - "in": "query", - "name": "start_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - }, - { - "in": "query", - "name": "end_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountEvents" - } - } - }, - "description": "nft history" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "NFT" - ] - } - }, - "/v2/openapi.json": { - "get": { - "description": "Get the openapi.json file", - "operationId": "getOpenapiJson", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - } - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Openapi" - ] - } - }, - "/v2/openapi.yml": { - "get": { - "description": "Get the openapi.yml file", - "operationId": "getOpenapiYml", - "responses": { - "200": { - "content": { - "application/x-yaml": { - "schema": { - "format": "binary", - "type": "string" - } - } - } - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Openapi" - ] - } - }, - "/v2/pubkeys/{public_key}/wallets": { - "get": { - "description": "Get wallets by public key", - "operationId": "getWalletsByPublicKey", - "parameters": [ - { - "$ref": "#/components/parameters/publicKeyParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Accounts" - } - } - }, - "description": "a list of wallets" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Wallet" - ] - } - }, - "/v2/rates": { - "get": { - "description": "Get the token price in the chosen currency for display only. Don’t use this for financial transactions.", - "operationId": "getRates", - "parameters": [ - { - "description": "accept ton and jetton master addresses, separated by commas", - "explode": false, - "in": "query", - "name": "tokens", - "required": true, - "schema": { - "example": [ - "ton" - ], - "items": { - "type": "string" - }, - "maxItems": 100, - "type": "array" - } - }, - { - "description": "accept ton and all possible fiat currencies, separated by commas", - "explode": false, - "in": "query", - "name": "currencies", - "required": true, - "schema": { - "example": [ - "ton", - "usd", - "rub" - ], - "items": { - "type": "string" - }, - "maxItems": 50, - "type": "array" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "rates": { - "additionalProperties": { - "$ref": "#/components/schemas/TokenRates" - }, - "type": "object" - } - }, - "required": [ - "rates" - ], - "type": "object" - } - } - }, - "description": "tokens rates" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Rates" - ] - } - }, - "/v2/rates/chart": { - "get": { - "description": "Get chart by token", - "operationId": "getChartRates", - "parameters": [ - { - "description": "accept jetton master address", - "in": "query", - "name": "token", - "required": true, - "schema": { - "format": "address", - "type": "string" - } - }, - { - "in": "query", - "name": "currency", - "required": false, - "schema": { - "example": "usd", - "type": "string" - } - }, - { - "in": "query", - "name": "start_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - }, - { - "in": "query", - "name": "end_date", - "required": false, - "schema": { - "example": 1668436763, - "format": "int64", - "maximum": 2114380800, - "type": "integer" - } - }, - { - "in": "query", - "name": "points_count", - "required": false, - "schema": { - "default": 200, - "format": "int", - "maximum": 200, - "minimum": 0, - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "points": { - "items": { - "$ref": "#/components/schemas/ChartPoints" - }, - "type": "array" - } - }, - "required": [ - "points" - ], - "type": "object" - } - } - }, - "description": "token chart" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Rates" - ] - } - }, - "/v2/rates/markets": { - "get": { - "description": "Get the TON price from markets", - "operationId": "getMarketsRates", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "markets": { - "items": { - "$ref": "#/components/schemas/MarketTonRates" - }, - "type": "array" - } - }, - "required": [ - "markets" - ], - "type": "object" - } - } - }, - "description": "markets rates" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Rates" - ] - } - }, - "/v2/staking/nominator/{account_id}/pools": { - "get": { - "description": "All pools where account participates", - "operationId": "getAccountNominatorsPools", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountStaking" - } - } - }, - "description": "account's pools" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Staking" - ] - } - }, - "/v2/staking/pool/{account_id}": { - "get": { - "description": "Stacking pool info", - "operationId": "getStakingPoolInfo", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - }, - { - "$ref": "#/components/parameters/i18n" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "implementation": { - "$ref": "#/components/schemas/PoolImplementation" - }, - "pool": { - "$ref": "#/components/schemas/PoolInfo" - } - }, - "required": [ - "implementation", - "pool" - ], - "type": "object" - } - } - }, - "description": "stacking pool info" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Staking" - ] - } - }, - "/v2/staking/pool/{account_id}/history": { - "get": { - "description": "Pool history", - "operationId": "getStakingPoolHistory", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "apy": { - "items": { - "$ref": "#/components/schemas/ApyHistory" - }, - "type": "array" - } - }, - "required": [ - "apy" - ], - "type": "object" - } - } - }, - "description": "pool history" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Staking" - ] - } - }, - "/v2/staking/pools": { - "get": { - "description": "All pools available in network", - "operationId": "getStakingPools", - "parameters": [ - { - "description": "account ID", - "in": "query", - "name": "available_for", - "required": false, - "schema": { - "example": "0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621", - "format": "address", - "type": "string" - } - }, - { - "description": "return also pools not from white list - just compatible by interfaces (maybe dangerous!)", - "in": "query", - "name": "include_unverified", - "required": false, - "schema": { - "example": false, - "type": "boolean" - } - }, - { - "$ref": "#/components/parameters/i18n" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "implementations": { - "additionalProperties": { - "$ref": "#/components/schemas/PoolImplementation" - }, - "type": "object" - }, - "pools": { - "items": { - "$ref": "#/components/schemas/PoolInfo" - }, - "type": "array" - } - }, - "required": [ - "pools", - "implementations" - ], - "type": "object" - } - } - }, - "description": "a list of pools" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Staking" - ] - } - }, - "/v2/status": { - "get": { - "description": "Status", - "operationId": "status", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceStatus" - } - } - }, - "description": "status" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Utilities" - ] - } - }, - "/v2/storage/providers": { - "get": { - "description": "Get TON storage providers deployed to the blockchain.", - "operationId": "getStorageProviders", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "providers": { - "items": { - "$ref": "#/components/schemas/StorageProvider" - }, - "type": "array" - } - }, - "required": [ - "providers" - ], - "type": "object" - } - } - }, - "description": "a list of storage providers" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Storage" - ] - } - }, - "/v2/tonconnect/payload": { - "get": { - "description": "Get a payload for further token receipt", - "operationId": "getTonConnectPayload", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "payload": { - "example": "84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa", - "type": "string" - } - }, - "required": [ - "payload" - ], - "type": "object" - } - } - }, - "description": "payload" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Connect" - ] - } - }, - "/v2/tonconnect/stateinit": { - "post": { - "description": "Get account info by state init", - "operationId": "getAccountInfoByStateInit", - "requestBody": { - "$ref": "#/components/requestBodies/TonConnectStateInit" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountInfoByStateInit" - } - } - }, - "description": "account info" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Connect" - ] - } - }, - "/v2/traces/emulate": { - "post": { - "description": "Emulate sending message to blockchain", - "operationId": "emulateMessageToTrace", - "parameters": [ - { - "in": "query", - "name": "ignore_signature_check", - "required": false, - "schema": { - "type": "boolean" - } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Boc" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Trace" - } - } - }, - "description": "emulated trace" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Emulation", - "Traces" - ] - } - }, - "/v2/traces/{trace_id}": { - "get": { - "description": "Get the trace by trace ID or hash of any transaction in trace", - "operationId": "getTrace", - "parameters": [ - { - "$ref": "#/components/parameters/traceIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Trace" - } - } - }, - "description": "trace" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Traces" - ] - } - }, - "/v2/wallet/auth/proof": { - "post": { - "description": "Account verification and token issuance", - "operationId": "tonConnectProof", - "requestBody": { - "$ref": "#/components/requestBodies/TonConnectProof" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "token": { - "example": "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3...", - "type": "string" - } - }, - "required": [ - "token" - ], - "type": "object" - } - } - }, - "description": "auth token" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Wallet" - ] - } - }, - "/v2/wallet/emulate": { - "post": { - "description": "Emulate sending message to blockchain", - "operationId": "emulateMessageToWallet", - "parameters": [ - { - "$ref": "#/components/parameters/i18n" - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/EmulationBoc" - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageConsequences" - } - } - }, - "description": "emulated message" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Emulation", - "Wallet" - ] - } - }, - "/v2/wallet/{account_id}/seqno": { - "get": { - "description": "Get account seqno", - "operationId": "getAccountSeqno", - "parameters": [ - { - "$ref": "#/components/parameters/accountIDParameter" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Seqno" - } - } - }, - "description": "account seqno" - }, - "default": { - "$ref": "#/components/responses/Error" - } - }, - "tags": [ - "Wallet" - ] - } - } - }, - "servers": [ - { - "url": "https://tonapi.io" - }, - { - "url": "https://testnet.tonapi.io" - }, - { - "url": "http://localhost:8081" - } - ], - "tags": [ - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/accounts" - }, - "name": "Accounts" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/nft" - }, - "name": "NFT" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/jettons" - }, - "name": "Jettons" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/dns" - }, - "name": "DNS" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/wallet" - }, - "name": "Wallet" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/rates" - }, - "name": "Rates" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/staking" - }, - "name": "Staking" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/traces" - }, - "name": "Traces" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/events" - }, - "name": "Events" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/storage" - }, - "name": "Storage" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/connect" - }, - "name": "Connect" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/gasless" - }, - "name": "Gasless" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/multisig" - }, - "name": "Multisig" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/blockchain" - }, - "name": "Blockchain" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/liteserver" - }, - "name": "Lite Server" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/emulation" - }, - "name": "Emulation" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/inscriptions" - }, - "name": "Inscriptions" - }, - { - "externalDocs": { - "description": "Additional documentation", - "url": "https://docs.tonconsole.com/tonapi/rest-api/utilities" - }, - "name": "Utilities" - } - ] -} diff --git a/pkg/api/openapi/openapi.yml b/pkg/api/openapi/openapi.yml deleted file mode 100644 index 587399f5..00000000 --- a/pkg/api/openapi/openapi.yml +++ /dev/null @@ -1,7424 +0,0 @@ -openapi: 3.1.0 -info: - title: REST api to TON blockchain explorer - version: 2.0.0 - description: Provide access to indexed TON blockchain - contact: - name: Support - email: support@tonkeeper.com -servers: - - url: "https://tonapi.io" - - url: "https://testnet.tonapi.io" - - url: "http://localhost:8081" - -tags: - - name: Accounts - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/accounts - - name: NFT - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/nft - - name: Jettons - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/jettons - - name: DNS - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/dns - - name: Wallet - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/wallet - - name: Rates - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/rates - - name: Staking - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/staking - - name: Traces - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/traces - - name: Events - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/events - - name: Storage - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/storage - - name: Connect - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/connect - - name: Gasless - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/gasless - - name: Multisig - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/multisig - - name: Blockchain - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/blockchain - - name: Lite Server - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/liteserver - - name: Emulation - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/emulation - - name: Inscriptions - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/inscriptions - - name: Utilities - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/utilities - -paths: - /v2/openapi.json: - get: - description: Get the openapi.json file - operationId: getOpenapiJson - tags: - - Openapi - responses: - '200': - content: - application/json: - schema: { } # Free-form JSON value - 'default': - $ref: '#/components/responses/Error' - /v2/openapi.yml: - get: - description: Get the openapi.yml file - operationId: getOpenapiYml - tags: - - Openapi - responses: - '200': - content: - application/x-yaml: - schema: - type: string - format: binary - 'default': - $ref: '#/components/responses/Error' - /v2/status: - get: - description: Status - operationId: status - tags: - - Utilities - responses: - '200': - description: status - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceStatus' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/reduced/blocks: - get: - description: Get reduced blockchain blocks data - operationId: getReducedBlockchainBlocks - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/fromQuery' - - $ref: '#/components/parameters/toQuery' - responses: - '200': - description: blockchain reduced blocks - content: - application/json: - schema: - $ref: '#/components/schemas/ReducedBlocks' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/blocks/{block_id}: - get: - description: Get blockchain block data - operationId: getBlockchainBlock - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/blockchainBlockIDParameter' - responses: - '200': - description: blockchain block - content: - application/json: - schema: - $ref: '#/components/schemas/BlockchainBlock' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/masterchain/{masterchain_seqno}/shards: - get: - description: Get blockchain block shards - operationId: getBlockchainMasterchainShards - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/masterchainSeqno' - responses: - '200': - description: blockchain block shards - content: - application/json: - schema: - $ref: '#/components/schemas/BlockchainBlockShards' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/masterchain/{masterchain_seqno}/blocks: - get: - description: Get all blocks in all shards and workchains between target and previous masterchain block according to shards last blocks snapshot in masterchain. We don't recommend to build your app around this method because it has problem with scalability and will work very slow in the future. - operationId: getBlockchainMasterchainBlocks - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/masterchainSeqno' - responses: - '200': - description: blockchain blocks - content: - application/json: - schema: - $ref: '#/components/schemas/BlockchainBlocks' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/masterchain/{masterchain_seqno}/transactions: - get: - description: Get all transactions in all shards and workchains between target and previous masterchain block according to shards last blocks snapshot in masterchain. We don't recommend to build your app around this method because it has problem with scalability and will work very slow in the future. - operationId: getBlockchainMasterchainTransactions - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/masterchainSeqno' - responses: - '200': - description: blockchain transactions - content: - application/json: - schema: - $ref: '#/components/schemas/Transactions' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/masterchain/{masterchain_seqno}/config: - get: - description: Get blockchain config from a specific block, if present. - operationId: getBlockchainConfigFromBlock - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/masterchainSeqno' - responses: - '200': - description: blockchain config - content: - application/json: - schema: - $ref: '#/components/schemas/BlockchainConfig' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/masterchain/{masterchain_seqno}/config/raw: - get: - description: Get raw blockchain config from a specific block, if present. - operationId: getRawBlockchainConfigFromBlock - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/masterchainSeqno' - responses: - '200': - description: blockchain config - content: - application/json: - schema: - $ref: '#/components/schemas/RawBlockchainConfig' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/blocks/{block_id}/transactions: - get: - description: Get transactions from block - operationId: getBlockchainBlockTransactions - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/blockchainBlockIDParameter' - responses: - '200': - description: blockchain block transactions - content: - application/json: - schema: - $ref: '#/components/schemas/Transactions' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/transactions/{transaction_id}: - get: - description: Get transaction data - operationId: getBlockchainTransaction - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/transactionIDParameter' - responses: - '200': - description: blockchain transaction - content: - application/json: - schema: - $ref: '#/components/schemas/Transaction' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/messages/{msg_id}/transaction: - get: - description: Get transaction data by message hash - operationId: getBlockchainTransactionByMessageHash - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/messageIDParameter' - responses: - '200': - description: transaction by message hash - content: - application/json: - schema: - $ref: '#/components/schemas/Transaction' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/validators: - get: - description: Get blockchain validators - operationId: getBlockchainValidators - tags: - - Blockchain - responses: - '200': - description: blockchain validators - content: - application/json: - schema: - $ref: '#/components/schemas/Validators' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/masterchain-head: - get: - description: Get last known masterchain block - operationId: getBlockchainMasterchainHead - tags: - - Blockchain - responses: - '200': - description: blockchain masterchain head - content: - application/json: - schema: - $ref: '#/components/schemas/BlockchainBlock' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/accounts/{account_id}: - get: - description: Get low-level information about an account taken directly from the blockchain. - operationId: getBlockchainRawAccount - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: raw account - content: - application/json: - schema: - $ref: '#/components/schemas/BlockchainRawAccount' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/accounts/{account_id}/transactions: - get: - description: Get account transactions - operationId: getBlockchainAccountTransactions - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - name: after_lt - in: query - description: "omit this parameter to get last transactions" - schema: - type: integer - format: int64 - example: 39787624000003 - x-js-format: bigint - - name: before_lt - in: query - description: "omit this parameter to get last transactions" - schema: - type: integer - format: int64 - example: 39787624000003 - x-js-format: bigint - - name: limit - in: query - schema: - type: integer - format: int32 - maximum: 1000 - default: 100 - example: 100 - minimum: 1 - - name: sort_order - in: query - schema: - type: string - description: "used to sort the result-set in ascending or descending order by lt." - default: "desc" - enum: - - desc - - asc - responses: - '200': - description: blockchain account transactions - content: - application/json: - schema: - $ref: '#/components/schemas/Transactions' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/accounts/{account_id}/methods/{method_name}: - get: - description: Execute get method for account - operationId: execGetMethodForBlockchainAccount - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/methodNameParameter' - - name: args - in: query - required: false - schema: - type: array - description: |- - Supported values: - "NaN" for NaN type, - "Null" for Null type, - 10-base digits for tiny int type (Example: 100500), - 0x-prefixed hex digits for int257 (Example: 0xfa01d78381ae32), - all forms of addresses for slice type (Example: 0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e), - single-root base64-encoded BOC for cell (Example: "te6ccgEBAQEAAgAAAA=="), - single-root hex-encoded BOC for slice (Example: b5ee9c72010101010002000000) - items: - type: string - example: [ "0:9a33970f617bcd71acf2cd28357c067aa31859c02820d8f01d74c88063a8f4d8" ] - responses: - '200': - description: method execution result - content: - application/json: - schema: - $ref: '#/components/schemas/MethodExecutionResult' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/message: - post: - description: Send message to blockchain - operationId: sendBlockchainMessage - tags: - - Blockchain - requestBody: - $ref: "#/components/requestBodies/BatchBoc" - responses: - '200': - description: the message has been sent - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/config: - get: - description: Get blockchain config - operationId: getBlockchainConfig - tags: - - Blockchain - responses: - '200': - description: blockchain config - content: - application/json: - schema: - $ref: '#/components/schemas/BlockchainConfig' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/config/raw: - get: - description: Get raw blockchain config - operationId: getRawBlockchainConfig - tags: - - Blockchain - responses: - '200': - description: blockchain config - content: - application/json: - schema: - $ref: '#/components/schemas/RawBlockchainConfig' - 'default': - $ref: '#/components/responses/Error' - /v2/blockchain/accounts/{account_id}/inspect: - get: - description: Blockchain account inspect - operationId: blockchainAccountInspect - tags: - - Blockchain - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: blockchain account inspect - content: - application/json: - schema: - $ref: '#/components/schemas/BlockchainAccountInspect' - 'default': - $ref: '#/components/responses/Error' - /v2/address/{account_id}/parse: - get: - description: parse address and display in all formats - operationId: addressParse - tags: - - Utilities - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: all forms and info - content: - application/json: - schema: - type: object - required: - - raw_form - - bounceable - - non_bounceable - - given_type - - test_only - properties: - raw_form: - type: string - format: address - example: "0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e" - bounceable: - required: - - b64 - - b64url - type: object - properties: - b64: - type: string - b64url: - type: string - non_bounceable: - required: - - b64 - - b64url - type: object - properties: - b64: - type: string - b64url: - type: string - given_type: - type: string - test_only: - type: boolean - default: - $ref: '#/components/responses/Error' - /v2/accounts/_bulk: - post: - description: Get human-friendly information about several accounts without low-level details. - operationId: getAccounts - tags: - - Accounts - parameters: - - $ref: "#/components/parameters/currencyQuery" - requestBody: - $ref: "#/components/requestBodies/AccountIDs" - responses: - '200': - description: a list of accounts - content: - application/json: - schema: - $ref: '#/components/schemas/Accounts' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}: - get: - description: Get human-friendly information about an account without low-level details. - operationId: getAccount - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: account - content: - application/json: - schema: - $ref: '#/components/schemas/Account' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/dns/backresolve: - get: - description: Get account's domains - operationId: accountDnsBackResolve - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: account's domains - content: - application/json: - schema: - $ref: '#/components/schemas/DomainNames' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/jettons: - get: - description: Get all Jettons balances by owner address - operationId: getAccountJettonsBalances - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/currenciesQuery' - - $ref: '#/components/parameters/supportedExtensions' - responses: - '200': - description: account jettons balances - content: - application/json: - schema: - $ref: '#/components/schemas/JettonsBalances' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/jettons/{jetton_id}: - get: - description: Get Jetton balance by owner address - operationId: getAccountJettonBalance - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/jettonIDParameter' - - $ref: '#/components/parameters/currenciesQuery' - - $ref: '#/components/parameters/supportedExtensions' - responses: - '200': - description: account jetton balance - content: - application/json: - schema: - $ref: '#/components/schemas/JettonBalance' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/jettons/history: - get: - description: Get the transfer jettons history for account - operationId: getAccountJettonsHistory - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/i18n' - - name: before_lt - in: query - description: "omit this parameter to get last events" - required: false - schema: - type: integer - format: int64 - example: 25758317000002 - x-js-format: bigint - - name: limit - in: query - required: true - schema: - type: integer - example: 100 - maximum: 1000 - minimum: 1 - - name: start_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - - name: end_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - responses: - '200': - description: account jettons history - content: - application/json: - schema: - $ref: '#/components/schemas/AccountEvents' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/jettons/{jetton_id}/history: - get: - description: Get the transfer jetton history for account and jetton - operationId: getAccountJettonHistoryByID - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/jettonIDParameter' - - $ref: '#/components/parameters/i18n' - - name: before_lt - in: query - description: "omit this parameter to get last events" - required: false - schema: - type: integer - format: int64 - example: 25758317000002 - x-js-format: bigint - - name: limit - in: query - required: true - schema: - type: integer - example: 100 - maximum: 1000 - minimum: 1 - - name: start_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - - name: end_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - responses: - '200': - description: account jetton history - content: - application/json: - schema: - $ref: '#/components/schemas/AccountEvents' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/nfts: - get: - description: Get all NFT items by owner address - operationId: getAccountNftItems - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/collectionQuery' - - $ref: '#/components/parameters/limitQuery' - - $ref: '#/components/parameters/offsetQuery' - - in: query - name: indirect_ownership - required: false - description: "Selling nft items in ton implemented usually via transfer items to special selling account. This option enables including items which owned not directly." - schema: - type: boolean - default: false - responses: - '200': - description: account nft items - content: - application/json: - schema: - $ref: '#/components/schemas/NftItems' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/nfts/history: - get: - x-question: duplicate of getNftHistoryByID ? - description: Get the transfer nft history - operationId: getAccountNftHistory - tags: - - NFT - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/i18n' - - name: before_lt - in: query - description: "omit this parameter to get last events" - required: false - schema: - type: integer - format: int64 - example: 25758317000002 - x-js-format: bigint - - name: limit - in: query - required: true - schema: - type: integer - example: 100 - maximum: 1000 - minimum: 1 - - name: start_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - - name: end_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - responses: - '200': - description: nft history - content: - application/json: - schema: - $ref: '#/components/schemas/AccountEvents' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/events: - get: - description: Get events for an account. Each event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time. - operationId: getAccountEvents - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/i18n' - - $ref: '#/components/parameters/initiatorQuery' - - name: subject_only - in: query - description: "filter actions where requested account is not real subject (for example sender or receiver jettons)" - schema: - type: boolean - default: false - required: false - - name: before_lt - in: query - description: "omit this parameter to get last events" - required: false - schema: - type: integer - format: int64 - example: 25758317000002 - x-js-format: bigint - - name: limit - in: query - required: true - schema: - type: integer - example: 20 - maximum: 100 - minimum: 1 - - name: start_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - - name: end_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - responses: - '200': - description: account's events - content: - application/json: - schema: - $ref: '#/components/schemas/AccountEvents' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/events/{event_id}: - get: - description: Get event for an account by event_id - operationId: getAccountEvent - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/eventIDParameter' - - $ref: '#/components/parameters/i18n' - - name: subject_only - in: query - description: "filter actions where requested account is not real subject (for example sender or receiver jettons)" - schema: - type: boolean - default: false - required: false - responses: - '200': - description: account's event - content: - application/json: - schema: - $ref: '#/components/schemas/AccountEvent' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/traces: - get: - description: Get traces for account - operationId: getAccountTraces - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - name: before_lt - in: query - description: "omit this parameter to get last events" - required: false - schema: - type: integer - format: int64 - example: 25758317000002 - x-js-format: bigint - - name: limit - in: query - schema: - type: integer - maximum: 1000 - default: 100 - example: 100 - minimum: 1 - responses: - '200': - description: account's traces - content: - application/json: - schema: - $ref: '#/components/schemas/TraceIDs' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/subscriptions: - get: - description: Get all subscriptions by wallet address - operationId: getAccountSubscriptions - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: account's subscriptions - content: - application/json: - schema: - $ref: '#/components/schemas/Subscriptions' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/reindex: - post: - description: Update internal cache for a particular account - operationId: reindexAccount - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: success - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/search: - get: - description: Search by account domain name - operationId: searchAccounts - tags: - - Accounts - parameters: - - name: name - in: query - required: true - schema: - type: string - minLength: 3 - maxLength: 15 - responses: - '200': - description: found accounts - content: - application/json: - schema: - $ref: '#/components/schemas/FoundAccounts' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/dns/expiring: - get: - description: Get expiring account .ton dns - operationId: getAccountDnsExpiring - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/periodQuery' - responses: - '200': - description: account's expiring .ton dns - content: - application/json: - schema: - $ref: '#/components/schemas/DnsExpiring' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/publickey: - get: - description: Get public key by account id - operationId: getAccountPublicKey - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: account's public key - content: - application/json: - schema: - type: object - required: - - public_key - properties: - public_key: - type: string - example: "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3..." - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/multisigs: - get: - description: Get account's multisigs - operationId: getAccountMultisigs - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: account's multisigs - content: - application/json: - schema: - $ref: '#/components/schemas/Multisigs' - 'default': - $ref: '#/components/responses/Error' - - /v2/accounts/{account_id}/diff: - get: - description: Get account's balance change - operationId: getAccountDiff - tags: - - Accounts - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - name: start_date - in: query - required: true - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - - name: end_date - in: query - required: true - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - responses: - '200': - description: account's balance change - content: - application/json: - schema: - type: object - required: - - balance_change - properties: - balance_change: - type: integer - format: int64 - example: 1000000000 - 'default': - $ref: '#/components/responses/Error' - - /v2/dns/{domain_name}: - get: - description: Get full information about domain name - operationId: getDnsInfo - tags: - - DNS - parameters: - - $ref: '#/components/parameters/domainNameParameter' - responses: - '200': - description: domain info - content: - application/json: - schema: - $ref: '#/components/schemas/DomainInfo' - 'default': - $ref: '#/components/responses/Error' - /v2/dns/{domain_name}/resolve: - get: - description: DNS resolve for domain name - operationId: dnsResolve - tags: - - DNS - parameters: - - $ref: '#/components/parameters/domainNameParameter' - responses: - '200': - description: dns record - content: - application/json: - schema: - $ref: '#/components/schemas/DnsRecord' - 'default': - $ref: '#/components/responses/Error' - /v2/dns/{domain_name}/bids: - get: - description: Get domain bids - operationId: getDomainBids - tags: - - DNS - parameters: - - $ref: '#/components/parameters/domainNameParameter' - responses: - '200': - description: domain bids - content: - application/json: - schema: - $ref: '#/components/schemas/DomainBids' - 'default': - $ref: '#/components/responses/Error' - /v2/dns/auctions: - get: - description: Get all auctions - operationId: getAllAuctions - tags: - - DNS - parameters: - - $ref: '#/components/parameters/domainFilterQuery' - responses: - '200': - description: auctions - content: - application/json: - schema: - $ref: '#/components/schemas/Auctions' - 'default': - $ref: '#/components/responses/Error' - - /v2/nfts/collections: - get: - description: Get NFT collections - operationId: getNftCollections - tags: - - NFT - parameters: - - name: limit - in: query - schema: - type: integer - format: int32 - maximum: 1000 - default: 100 - example: 15 - minimum: 1 - - name: offset - in: query - schema: - type: integer - format: int32 - default: 0 - example: 10 - minimum: 0 - responses: - '200': - description: nft collections - content: - application/json: - schema: - $ref: '#/components/schemas/NftCollections' - 'default': - $ref: '#/components/responses/Error' - /v2/nfts/collections/{account_id}: - get: - description: Get NFT collection by collection address - operationId: getNftCollection - tags: - - NFT - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: nft collection - content: - application/json: - schema: - $ref: '#/components/schemas/NftCollection' - 'default': - $ref: '#/components/responses/Error' - /v2/nfts/collections/_bulk: - post: - description: Get NFT collection items by their addresses - operationId: getNftCollectionItemsByAddresses - tags: - - NFT - requestBody: - $ref: "#/components/requestBodies/AccountIDs" - responses: - '200': - description: nft collections - content: - application/json: - schema: - $ref: '#/components/schemas/NftCollections' - 'default': - $ref: '#/components/responses/Error' - /v2/nfts/collections/{account_id}/items: - get: - description: Get NFT items from collection by collection address - operationId: getItemsFromCollection - tags: - - NFT - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/limitQuery' - - $ref: '#/components/parameters/offsetQuery' - responses: - '200': - description: nft items - content: - application/json: - schema: - $ref: '#/components/schemas/NftItems' - 'default': - $ref: '#/components/responses/Error' - /v2/nfts/_bulk: - post: - description: Get NFT items by their addresses - operationId: getNftItemsByAddresses - tags: - - NFT - requestBody: - $ref: "#/components/requestBodies/AccountIDs" - responses: - '200': - description: nft items - content: - application/json: - schema: - $ref: '#/components/schemas/NftItems' - 'default': - $ref: '#/components/responses/Error' - /v2/nfts/{account_id}: - get: - description: Get NFT item by its address - operationId: getNftItemByAddress - tags: - - NFT - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: nft item - content: - application/json: - schema: - $ref: '#/components/schemas/NftItem' - 'default': - $ref: '#/components/responses/Error' - /v2/nfts/{account_id}/history: - get: - description: Get the transfer nfts history for account - operationId: getNftHistoryByID - tags: - - NFT - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/i18n' - - name: before_lt - in: query - description: "omit this parameter to get last events" - required: false - schema: - type: integer - format: int64 - example: 25758317000002 - x-js-format: bigint - - name: limit - in: query - required: true - schema: - type: integer - example: 100 - maximum: 1000 - minimum: 1 - - name: start_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - - name: end_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - responses: - '200': - description: nft history - content: - application/json: - schema: - $ref: '#/components/schemas/AccountEvents' - 'default': - $ref: '#/components/responses/Error' - /v2/traces/{trace_id}: - get: - description: Get the trace by trace ID or hash of any transaction in trace - operationId: getTrace - tags: - - Traces - parameters: - - $ref: '#/components/parameters/traceIDParameter' - responses: - '200': - description: trace - content: - application/json: - schema: - $ref: '#/components/schemas/Trace' - 'default': - $ref: '#/components/responses/Error' - - /v2/events/{event_id}: - get: - description: Get an event either by event ID or a hash of any transaction in a trace. An event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time. - operationId: getEvent - tags: - - Events - parameters: - - $ref: '#/components/parameters/eventIDParameter' - - $ref: '#/components/parameters/i18n' - responses: - '200': - description: event - content: - application/json: - schema: - $ref: '#/components/schemas/Event' - 'default': - $ref: '#/components/responses/Error' - - /v2/experimental/accounts/{account_id}/inscriptions: - get: - description: Get all inscriptions by owner address. It's experimental API and can be dropped in the future. - operationId: getAccountInscriptions - tags: - - Inscriptions - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/limitQuery' - - $ref: '#/components/parameters/offsetQuery' - responses: - '200': - description: account inscriptions - content: - application/json: - schema: - $ref: '#/components/schemas/InscriptionBalances' - 'default': - $ref: '#/components/responses/Error' - /v2/experimental/accounts/{account_id}/inscriptions/history: - get: - description: Get the transfer inscriptions history for account. It's experimental API and can be dropped in the future. - operationId: getAccountInscriptionsHistory - tags: - - Inscriptions - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/i18n' - - name: before_lt - in: query - description: "omit this parameter to get last events" - required: false - schema: - type: integer - format: int64 - example: 25758317000002 - x-js-format: bigint - - name: limit - in: query - required: false - schema: - type: integer - example: 100 - default: 100 - maximum: 1000 - minimum: 1 - responses: - '200': - description: account inscriptions history - content: - application/json: - schema: - $ref: '#/components/schemas/AccountEvents' - 'default': - $ref: '#/components/responses/Error' - /v2/experimental/accounts/{account_id}/inscriptions/{ticker}/history: - get: - description: Get the transfer inscriptions history for account. It's experimental API and can be dropped in the future. - operationId: getAccountInscriptionsHistoryByTicker - tags: - - Inscriptions - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/i18n' - - name: ticker - in: path - required: true - schema: - type: string - example: "nano" - - name: before_lt - in: query - description: "omit this parameter to get last events" - required: false - schema: - type: integer - format: int64 - example: 25758317000002 - x-js-format: bigint - - name: limit - in: query - required: false - schema: - type: integer - example: 100 - default: 100 - maximum: 1000 - minimum: 1 - responses: - '200': - description: account inscriptions history - content: - application/json: - schema: - $ref: '#/components/schemas/AccountEvents' - 'default': - $ref: '#/components/responses/Error' - /v2/experimental/inscriptions/op-template: - get: - description: return comment for making operation with inscription. please don't use it if you don't know what you are doing - operationId: getInscriptionOpTemplate - tags: - - Inscriptions - parameters: - - in: query - name: type - required: true - schema: - type: string - enum: [ "ton20", "gram20" ] - example: "ton20" - - in: query - name: destination - required: false - schema: - type: string - - in: query - name: comment - required: false - schema: - type: string - - in: query - name: operation - required: true - schema: - type: string - enum: [ "transfer" ] - example: "transfer" - - in: query - name: amount - required: true - schema: - type: string - x-js-format: bigint - example: "1000000000" - - in: query - name: ticker - required: true - schema: - type: string - example: "nano" - - in: query - name: who - required: true - schema: - type: string - example: UQAs87W4yJHlF8mt29ocA4agnMrLsOP69jC1HPyBUjJay7Mg - responses: - '200': - description: inscription op template - content: - application/json: - schema: - type: object - required: - - comment - - destination - properties: - comment: - type: string - example: "comment" - destination: - type: string - example: "0:0000000000000" - 'default': - $ref: '#/components/responses/Error' - /v2/jettons: - get: - description: Get a list of all indexed jetton masters in the blockchain. - operationId: getJettons - tags: - - Jettons - parameters: - - name: limit - in: query - schema: - type: integer - format: int32 - maximum: 1000 - default: 100 - example: 15 - minimum: 1 - - name: offset - in: query - schema: - type: integer - format: int32 - default: 0 - example: 10 - minimum: 0 - responses: - '200': - description: a list of jettons - content: - application/json: - schema: - $ref: '#/components/schemas/Jettons' - 'default': - $ref: '#/components/responses/Error' - /v2/jettons/{account_id}: - get: - description: Get jetton metadata by jetton master address - operationId: getJettonInfo - tags: - - Jettons - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: jetton info - content: - application/json: - schema: - $ref: '#/components/schemas/JettonInfo' - 'default': - $ref: '#/components/responses/Error' - /v2/jettons/_bulk: - post: - description: Get jetton metadata items by jetton master addresses - operationId: getJettonInfosByAddresses - tags: - - Jettons - requestBody: - $ref: "#/components/requestBodies/AccountIDs" - responses: - '200': - description: a list of jettons - content: - application/json: - schema: - $ref: '#/components/schemas/Jettons' - 'default': - $ref: '#/components/responses/Error' - /v2/jettons/{account_id}/holders: - get: - description: Get jetton's holders - operationId: getJettonHolders - tags: - - Jettons - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/limitQuery' - - $ref: '#/components/parameters/offsetQuery' - responses: - '200': - description: jetton's holders - content: - application/json: - schema: - $ref: '#/components/schemas/JettonHolders' - 'default': - $ref: '#/components/responses/Error' - /v2/jettons/{jetton_id}/transfer/{account_id}/payload: - get: - description: Get jetton's custom payload and state init required for transfer - operationId: getJettonTransferPayload - tags: - - Jettons - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/jettonIDParameter' - responses: - '200': - description: jetton's custom payload - content: - application/json: - schema: - $ref: '#/components/schemas/JettonTransferPayload' - 'default': - $ref: '#/components/responses/Error' - /v2/events/{event_id}/jettons: - get: - description: "Get only jetton transfers in the event" - operationId: getJettonsEvents - tags: - - Jettons - parameters: - - $ref: '#/components/parameters/eventIDParameter' - - $ref: '#/components/parameters/i18n' - responses: - '200': - description: events - content: - application/json: - schema: - $ref: '#/components/schemas/Event' - 'default': - $ref: '#/components/responses/Error' - - /v2/staking/nominator/{account_id}/pools: - get: - description: All pools where account participates - operationId: getAccountNominatorsPools - tags: - - Staking - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: account's pools - content: - application/json: - schema: - $ref: '#/components/schemas/AccountStaking' - 'default': - $ref: '#/components/responses/Error' - /v2/staking/pool/{account_id}: - get: - description: Stacking pool info - operationId: getStakingPoolInfo - tags: - - Staking - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/i18n' - responses: - '200': - description: stacking pool info - content: - application/json: - schema: - type: object - required: - - implementation - - pool - properties: - implementation: - $ref: '#/components/schemas/PoolImplementation' - pool: - $ref: '#/components/schemas/PoolInfo' - 'default': - $ref: '#/components/responses/Error' - /v2/staking/pool/{account_id}/history: - get: - description: Pool history - operationId: getStakingPoolHistory - tags: - - Staking - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: pool history - content: - application/json: - schema: - type: object - required: - - apy - properties: - apy: - type: array - items: - $ref: '#/components/schemas/ApyHistory' - 'default': - $ref: '#/components/responses/Error' - /v2/staking/pools: - get: - description: All pools available in network - operationId: getStakingPools - tags: - - Staking - parameters: - - in: query - name: available_for - required: false - description: account ID - schema: - type: string - format: address - example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 - - in: query - name: include_unverified - required: false - description: "return also pools not from white list - just compatible by interfaces (maybe dangerous!)" - schema: - type: boolean - example: false - - $ref: '#/components/parameters/i18n' - responses: - '200': - description: a list of pools - content: - application/json: - schema: - type: object - required: - - pools - - implementations - properties: - pools: - type: array - items: - $ref: '#/components/schemas/PoolInfo' - implementations: - type: object - additionalProperties: - $ref: '#/components/schemas/PoolImplementation' - 'default': - $ref: '#/components/responses/Error' - - /v2/storage/providers: - get: - description: Get TON storage providers deployed to the blockchain. - operationId: getStorageProviders - tags: - - Storage - responses: - '200': - description: a list of storage providers - content: - application/json: - schema: - type: object - required: - - providers - properties: - providers: - type: array - items: - $ref: '#/components/schemas/StorageProvider' - 'default': - $ref: '#/components/responses/Error' - - /v2/rates: - get: - description: Get the token price in the chosen currency for display only. Don’t use this for financial transactions. - operationId: getRates - tags: - - Rates - parameters: - - in: query - name: tokens - description: accept ton and jetton master addresses, separated by commas - required: true - explode: false - schema: - type: array - maxItems: 100 - items: - type: string - example: [ "ton" ] - - in: query - name: currencies - description: accept ton and all possible fiat currencies, separated by commas - required: true - explode: false - schema: - type: array - maxItems: 50 - items: - type: string - example: [ "ton","usd","rub" ] - responses: - '200': - description: tokens rates - content: - application/json: - schema: - type: object - required: - - rates - properties: - rates: - type: object - additionalProperties: - $ref: '#/components/schemas/TokenRates' - 'default': - $ref: '#/components/responses/Error' - /v2/rates/chart: - get: - description: Get chart by token - operationId: getChartRates - tags: - - Rates - parameters: - - in: query - name: token - description: accept jetton master address - required: true - schema: - type: string - format: address - - in: query - name: currency - required: false - schema: - type: string - example: usd - - name: start_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - - name: end_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - - name: points_count - in: query - required: false - schema: - type: integer - format: int - maximum: 200 - minimum: 0 - default: 200 - responses: - '200': - description: token chart - content: - application/json: - schema: - type: object - required: - - points - properties: - points: - type: array - items: - $ref: '#/components/schemas/ChartPoints' - 'default': - $ref: '#/components/responses/Error' - /v2/rates/markets: - get: - description: Get the TON price from markets - operationId: getMarketsRates - tags: - - Rates - responses: - '200': - description: markets rates - content: - application/json: - schema: - type: object - required: - - markets - properties: - markets: - type: array - items: - $ref: '#/components/schemas/MarketTonRates' - 'default': - $ref: '#/components/responses/Error' - - /v2/tonconnect/payload: - get: - description: Get a payload for further token receipt - operationId: getTonConnectPayload - tags: - - Connect - responses: - '200': - description: payload - content: - application/json: - schema: - type: object - required: - - payload - properties: - payload: - type: string - example: "84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa" - 'default': - $ref: '#/components/responses/Error' - /v2/tonconnect/stateinit: - post: - description: Get account info by state init - operationId: getAccountInfoByStateInit - tags: - - Connect - requestBody: - $ref: "#/components/requestBodies/TonConnectStateInit" - responses: - '200': - description: account info - content: - application/json: - schema: - $ref: '#/components/schemas/AccountInfoByStateInit' - 'default': - $ref: '#/components/responses/Error' - /v2/wallet/auth/proof: - post: - description: Account verification and token issuance - operationId: tonConnectProof - tags: - - Wallet - requestBody: - $ref: "#/components/requestBodies/TonConnectProof" - responses: - '200': - description: auth token - content: - application/json: - schema: - type: object - required: - - token - properties: - token: - type: string - example: "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3..." - 'default': - $ref: '#/components/responses/Error' - /v2/wallet/{account_id}/seqno: - get: - description: Get account seqno - operationId: getAccountSeqno - tags: - - Wallet - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: account seqno - content: - application/json: - schema: - $ref: '#/components/schemas/Seqno' - 'default': - $ref: '#/components/responses/Error' - /v2/gasless/config: - get: - description: Returns configuration of gasless transfers - operationId: gaslessConfig - tags: - - Gasless - responses: - '200': - description: "gasless config" - content: - application/json: - schema: - $ref: '#/components/schemas/GaslessConfig' - 'default': - $ref: '#/components/responses/Error' - /v2/gasless/estimate/{master_id}: - post: - description: Estimates the cost of the given messages and returns a payload to sign - operationId: gaslessEstimate - parameters: - - name: master_id - in: path - required: true - description: jetton to pay commission - schema: - type: string - format: address - example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 - tags: - - Gasless - requestBody: - $ref: "#/components/requestBodies/InternalMessages" - responses: - '200': - description: "payload to sign" - content: - application/json: - schema: - $ref: '#/components/schemas/SignRawParams' - 'default': - $ref: '#/components/responses/Error' - /v2/gasless/send: - post: - description: Submits the signed gasless transaction message to the network - operationId: gaslessSend - tags: - - Gasless - requestBody: - $ref: "#/components/requestBodies/GaslessSend" - responses: - '200': - description: the message has been sent - 'default': - $ref: '#/components/responses/Error' - /v2/pubkeys/{public_key}/wallets: - get: - description: Get wallets by public key - operationId: getWalletsByPublicKey - tags: - - Wallet - parameters: - - $ref: '#/components/parameters/publicKeyParameter' - responses: - '200': - description: a list of wallets - content: - application/json: - schema: - $ref: '#/components/schemas/Accounts' - 'default': - $ref: '#/components/responses/Error' - - /v2/liteserver/get_masterchain_info: - get: - description: Get raw masterchain info - operationId: getRawMasterchainInfo - tags: - - Lite Server - responses: - '200': - description: raw masterchain info - content: - application/json: - schema: - type: object - required: - - last - - state_root_hash - - init - properties: - last: - $ref: '#/components/schemas/BlockRaw' - state_root_hash: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - init: - $ref: '#/components/schemas/InitStateRaw' - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_masterchain_info_ext: - get: - description: Get raw masterchain info ext - operationId: getRawMasterchainInfoExt - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/modeQuery' - responses: - '200': - description: raw masterchain info ext - content: - application/json: - schema: - type: object - required: - - mode - - version - - capabilities - - last - - last_utime - - now - - state_root_hash - - init - properties: - mode: - type: integer - format: int32 - example: 0 - version: - type: integer - format: int32 - example: 257 - capabilities: - type: integer - format: int64 - example: 7 - last: - $ref: '#/components/schemas/BlockRaw' - last_utime: - type: integer - format: int32 - example: 1687938199 - now: - type: integer - format: int32 - example: 1687938204 - state_root_hash: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - init: - $ref: '#/components/schemas/InitStateRaw' - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_time: - get: - description: Get raw time - operationId: getRawTime - tags: - - Lite Server - responses: - '200': - description: raw time - content: - application/json: - schema: - type: object - required: - - time - properties: - time: - type: integer - format: int32 - example: 1687146728 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_block/{block_id}: - get: - description: Get raw blockchain block - operationId: getRawBlockchainBlock - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/blockchainBlockIDExtParameter' - responses: - '200': - description: raw blockchain block - content: - application/json: - schema: - type: object - required: - - id - - data - properties: - id: - $ref: '#/components/schemas/BlockRaw' - data: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_state/{block_id}: - get: - description: Get raw blockchain block state - operationId: getRawBlockchainBlockState - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/blockchainBlockIDExtParameter' - responses: - '200': - description: raw blockchain block state - content: - application/json: - schema: - type: object - required: - - id - - root_hash - - file_hash - - data - properties: - id: - $ref: '#/components/schemas/BlockRaw' - root_hash: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - file_hash: - type: string - example: A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB - data: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_block_header/{block_id}: - get: - description: Get raw blockchain block header - operationId: getRawBlockchainBlockHeader - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/blockchainBlockIDExtParameter' - - $ref: '#/components/parameters/modeQuery' - responses: - '200': - description: raw blockchain block header - content: - application/json: - schema: - type: object - required: - - id - - mode - - header_proof - properties: - id: - $ref: '#/components/schemas/BlockRaw' - mode: - type: integer - format: int32 - example: 0 - header_proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/send_message: - post: - description: Send raw message to blockchain - operationId: sendRawMessage - tags: - - Lite Server - requestBody: - $ref: "#/components/requestBodies/LiteServerSendMessageRequest" - responses: - '200': - description: code - content: - application/json: - schema: - type: object - required: - - code - properties: - code: - type: integer - format: int32 - example: 200 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_account_state/{account_id}: - get: - description: Get raw account state - operationId: getRawAccountState - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/targetBlockIDExtQuery' - responses: - '200': - description: raw account state - content: - application/json: - schema: - type: object - required: - - id - - shardblk - - shard_proof - - proof - - state - properties: - id: - $ref: '#/components/schemas/BlockRaw' - shardblk: - $ref: '#/components/schemas/BlockRaw' - shard_proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - state: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_shard_info/{block_id}: - get: - description: Get raw shard info - operationId: getRawShardInfo - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/blockchainBlockIDExtParameter' - - $ref: '#/components/parameters/workchainQuery' - - $ref: '#/components/parameters/shardQuery' - - $ref: '#/components/parameters/exactQuery' - responses: - '200': - description: raw shard info - content: - application/json: - schema: - type: object - required: - - id - - shardblk - - shard_proof - - shard_descr - properties: - id: - $ref: '#/components/schemas/BlockRaw' - shardblk: - $ref: '#/components/schemas/BlockRaw' - shard_proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - shard_descr: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_all_shards_info/{block_id}: - get: - description: Get all raw shards info - operationId: getAllRawShardsInfo - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/blockchainBlockIDExtParameter' - responses: - '200': - description: all raw shards info - content: - application/json: - schema: - type: object - required: - - id - - proof - - data - properties: - id: - $ref: '#/components/schemas/BlockRaw' - proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - data: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_transactions/{account_id}: - get: - description: Get raw transactions - operationId: getRawTransactions - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/countQuery' - - $ref: '#/components/parameters/ltMustQuery' - - $ref: '#/components/parameters/hashQuery' - responses: - '200': - description: raw transactions - content: - application/json: - schema: - type: object - required: - - ids - - transactions - properties: - ids: - type: array - items: - $ref: '#/components/schemas/BlockRaw' - transactions: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/list_block_transactions/{block_id}: - get: - description: Get raw list block transactions - operationId: getRawListBlockTransactions - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/blockchainBlockIDExtParameter' - - $ref: '#/components/parameters/modeQuery' - - $ref: '#/components/parameters/countQuery' - - $ref: '#/components/parameters/accountIDQuery' - - $ref: '#/components/parameters/ltQuery' - responses: - '200': - description: a list of raw block transactions - content: - application/json: - schema: - type: object - required: - - id - - req_count - - incomplete - - ids - - proof - properties: - id: - $ref: '#/components/schemas/BlockRaw' - req_count: - type: integer - format: int32 - example: 100 - incomplete: - type: boolean - example: true - ids: - type: array - items: - type: object - required: - - mode - properties: - mode: - type: integer - format: int32 - example: 0 - account: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - lt: - type: integer - format: int64 - x-js-format: bigint - hash: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_block_proof: - get: - description: Get raw block proof - operationId: getRawBlockProof - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/knownBlockIDExtQuery' - - $ref: '#/components/parameters/targetBlockIDExtQuery' - - $ref: '#/components/parameters/modeQuery' - responses: - '200': - description: raw block proof - content: - application/json: - schema: - type: object - required: - - complete - - from - - to - - steps - properties: - complete: - type: boolean - example: true - from: - $ref: '#/components/schemas/BlockRaw' - to: - $ref: '#/components/schemas/BlockRaw' - steps: - type: array - items: - type: object - required: - - lite_server_block_link_back - - lite_server_block_link_forward - properties: - lite_server_block_link_back: - type: object - required: - - to_key_block - - from - - to - - dest_proof - - proof - - state_proof - properties: - to_key_block: - type: boolean - example: false - from: - $ref: '#/components/schemas/BlockRaw' - to: - $ref: '#/components/schemas/BlockRaw' - dest_proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - state_proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - lite_server_block_link_forward: - type: object - required: - - to_key_block - - from - - to - - dest_proof - - config_proof - - signatures - properties: - to_key_block: - type: boolean - example: false - from: - $ref: '#/components/schemas/BlockRaw' - to: - $ref: '#/components/schemas/BlockRaw' - dest_proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - config_proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - signatures: - type: object - required: - - validator_set_hash - - catchain_seqno - - signatures - properties: - validator_set_hash: - type: integer - format: int64 - catchain_seqno: - type: integer - format: int32 - signatures: - type: array - items: - type: object - required: - - node_id_short - - signature - properties: - node_id_short: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - signature: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_config_all/{block_id}: - get: - description: Get raw config - operationId: getRawConfig - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/blockchainBlockIDExtParameter' - - $ref: '#/components/parameters/modeQuery' - responses: - '200': - description: raw config - content: - application/json: - schema: - type: object - required: - - mode - - id - - state_proof - - config_proof - properties: - mode: - type: integer - format: int32 - example: 0 - id: - $ref: '#/components/schemas/BlockRaw' - state_proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - config_proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_shard_block_proof/{block_id}: - get: - description: Get raw shard block proof - operationId: getRawShardBlockProof - tags: - - Lite Server - parameters: - - $ref: '#/components/parameters/blockchainBlockIDExtParameter' - responses: - '200': - description: raw shard block proof - content: - application/json: - schema: - type: object - required: - - masterchain_id - - links - properties: - masterchain_id: - $ref: '#/components/schemas/BlockRaw' - links: - type: array - items: - type: object - required: - - id - - proof - properties: - id: - $ref: '#/components/schemas/BlockRaw' - proof: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': - $ref: '#/components/responses/Error' - /v2/liteserver/get_out_msg_queue_sizes: - get: - description: Get out msg queue sizes - operationId: getOutMsgQueueSizes - tags: - - Lite Server - responses: - '200': - description: out msg queue sizes - content: - application/json: - schema: - type: object - required: - - ext_msg_queue_size_limit - - shards - properties: - ext_msg_queue_size_limit: - type: integer - format: uint32 - shards: - type: array - items: - type: object - required: - - id - - size - properties: - id: - $ref: '#/components/schemas/BlockRaw' - size: - type: integer - format: uint32 - 'default': - $ref: '#/components/responses/Error' - - /v2/multisig/{account_id}: - get: - description: Get multisig account info - operationId: getMultisigAccount - tags: - - Multisig - parameters: - - $ref: '#/components/parameters/accountIDParameter' - responses: - '200': - description: multisig account - content: - application/json: - schema: - $ref: '#/components/schemas/Multisig' - 'default': - $ref: '#/components/responses/Error' - /v2/message/decode: - post: - description: Decode a given message. Only external incoming messages can be decoded currently. - operationId: decodeMessage - tags: - - Emulation - requestBody: - $ref: "#/components/requestBodies/Boc" - responses: - '200': - description: decoded message - content: - application/json: - schema: - $ref: '#/components/schemas/DecodedMessage' - 'default': - $ref: '#/components/responses/Error' - /v2/events/emulate: - post: - description: Emulate sending message to blockchain - operationId: emulateMessageToEvent - tags: - - Emulation - - Events - parameters: - - $ref: '#/components/parameters/i18n' - - name: ignore_signature_check - in: query - required: false - schema: - type: boolean - requestBody: - $ref: "#/components/requestBodies/Boc" - responses: - '200': - description: emulated event - content: - application/json: - schema: - $ref: '#/components/schemas/Event' - 'default': - $ref: '#/components/responses/Error' - /v2/traces/emulate: - post: - description: Emulate sending message to blockchain - operationId: emulateMessageToTrace - tags: - - Emulation - - Traces - parameters: - - name: ignore_signature_check - in: query - required: false - schema: - type: boolean - requestBody: - $ref: "#/components/requestBodies/Boc" - responses: - '200': - description: emulated trace - content: - application/json: - schema: - $ref: '#/components/schemas/Trace' - 'default': - $ref: '#/components/responses/Error' - /v2/wallet/emulate: - post: - description: Emulate sending message to blockchain - operationId: emulateMessageToWallet - tags: - - Emulation - - Wallet - parameters: - - $ref: '#/components/parameters/i18n' - requestBody: - $ref: "#/components/requestBodies/EmulationBoc" - responses: - '200': - description: emulated message - content: - application/json: - schema: - $ref: '#/components/schemas/MessageConsequences' - 'default': - $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/events/emulate: - post: - description: Emulate sending message to blockchain - operationId: emulateMessageToAccountEvent - tags: - - Emulation - - Accounts - parameters: - - $ref: '#/components/parameters/i18n' - - $ref: '#/components/parameters/accountIDParameter' - - name: ignore_signature_check - in: query - required: false - schema: - type: boolean - requestBody: - $ref: "#/components/requestBodies/Boc" - responses: - '200': - description: emulated message to account - content: - application/json: - schema: - $ref: '#/components/schemas/AccountEvent' - 'default': - $ref: '#/components/responses/Error' -components: - parameters: - masterchainSeqno: - in: path - name: masterchain_seqno - required: true - description: "masterchain block seqno" - schema: - type: integer - format: int32 - example: 123456 - blockchainBlockIDParameter: - in: path - name: block_id - required: true - description: block ID - schema: - type: string - example: (-1,8000000000000000,4234234) - blockchainBlockIDExtParameter: - in: path - name: block_id - required: true - description: "block ID: (workchain,shard,seqno,root_hash,file_hash)" - schema: - type: string - example: (-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29) - transactionIDParameter: - in: path - name: transaction_id - required: true - description: transaction ID - schema: - type: string - example: 97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 - messageIDParameter: - in: path - name: msg_id - required: true - description: message ID - schema: - type: string - example: 97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 - accountIDParameter: - in: path - name: account_id - required: true - description: account ID - schema: - type: string - format: address - example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 - accountIDParameters: - in: path - name: account_ids - required: true - description: account ID - explode: false - schema: - type: array - items: - type: string - format: address - example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 - jettonIDParameter: - in: path - name: jetton_id - required: true - description: jetton ID - schema: - type: string - format: address - example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 - methodNameParameter: - in: path - name: method_name - required: true - description: contract get method name - schema: - type: string - example: get_wallet_address - domainNameParameter: - in: path - name: domain_name - required: true - description: domain name with .ton or .t.me - schema: - type: string - example: wallet.ton - traceIDParameter: - in: path - name: trace_id - required: true - description: "trace ID or transaction hash in hex (without 0x) or base64url format" - schema: - type: string - example: 97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 - eventIDParameter: - in: path - name: event_id - required: true - description: "event ID or transaction hash in hex (without 0x) or base64url format" - schema: - type: string - example: 97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 - publicKeyParameter: - in: path - name: public_key - required: true - schema: - type: string - example: NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3... - i18n: - in: header - name: Accept-Language - required: false - schema: - type: string - example: "ru-RU,ru;q=0.5" - default: "en" - limitQuery: - in: query - name: limit - required: false - schema: - type: integer - default: 1000 - maximum: 1000 - minimum: 1 - offsetQuery: - in: query - name: offset - required: false - schema: - type: integer - default: 0 - minimum: 0 - domainFilterQuery: - in: query - name: tld - required: false - description: domain filter for current auctions "ton" or "t.me" - schema: - type: string - example: ton - periodQuery: - in: query - name: period - required: false - description: "number of days before expiration" - schema: - type: integer - minimum: 1 - maximum: 3660 - collectionQuery: - in: query - name: collection - required: false - description: "nft collection" - schema: - type: string - format: address - example: "0:06d811f426598591b32b2c49f29f66c821368e4acb1de16762b04e0174532465" - modeQuery: - in: query - name: mode - required: true - description: "mode" - schema: - type: integer - format: int32 - example: 0 - countQuery: - in: query - name: count - required: true - description: "count" - schema: - type: integer - format: int32 - example: 100 - knownBlockIDExtQuery: - in: query - name: known_block - required: true - description: "known block: (workchain,shard,seqno,root_hash,file_hash)" - schema: - type: string - example: (-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29) - targetBlockIDExtQuery: - in: query - name: target_block - required: false - description: "target block: (workchain,shard,seqno,root_hash,file_hash)" - schema: - type: string - example: (-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29) - ltMustQuery: - in: query - name: lt - required: true - description: "lt" - schema: - type: integer - format: int64 - example: 23814011000000 - ltQuery: - in: query - name: lt - description: "lt" - schema: - type: integer - format: int64 - example: 23814011000000 - hashQuery: - in: query - name: hash - required: true - description: "hash" - schema: - type: string - example: "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85" - workchainQuery: - in: query - name: workchain - required: true - description: "workchain" - schema: - type: integer - format: int32 - example: 1 - shardQuery: - in: query - name: shard - required: true - description: "shard" - schema: - type: integer - format: int64 - example: 1 - exactQuery: - in: query - name: exact - required: true - description: "exact" - schema: - type: boolean - example: false - accountIDQuery: - in: query - name: account_id - required: false - description: account ID - explode: false - schema: - type: string - format: address - example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 - initiatorQuery: - in: query - name: initiator - description: Show only events that are initiated by this account - explode: false - schema: - type: boolean - default: false - currenciesQuery: - in: query - name: currencies - description: accept ton and all possible fiat currencies, separated by commas - required: false - explode: false - schema: - type: array - items: - type: string - example: [ "ton", "usd", "rub" ] - supportedExtensions: - in: query - name: supported_extensions - description: "comma separated list supported extensions" - explode: false - required: false - schema: - type: array - items: - type: string - example: [ "custom_payload" ] - currencyQuery: - in: query - name: currency - required: false - schema: - type: string - example: "usd" - fromQuery: - in: query - name: from - required: true - schema: - type: integer - format: int64 - toQuery: - in: query - name: to - required: true - schema: - type: integer - format: int64 - - requestBodies: - MethodParameters: - description: input parameters for contract get method - content: - application/json: - schema: - type: object - BatchBoc: - description: both a single boc and a batch of boc serialized in base64/hex are accepted - required: true - content: - application/json: - schema: - type: object - properties: - boc: - type: string - format: cell - batch: - type: array - maxItems: 10 - items: - type: string - format: cell - EmulationBoc: - description: bag-of-cells serialized to base64/hex and additional parameters to configure emulation - required: true - content: - application/json: - schema: - type: object - required: - - boc - properties: - boc: - type: string - format: cell - params: - type: array - description: additional per account configuration - items: - type: object - required: - - address - properties: - address: - type: string - format: address - example: "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b" - balance: - type: integer - format: int64 - example: 10000000000 - x-js-format: bigint - InternalMessages: - description: bag-of-cells serialized to hex - required: true - content: - application/json: - schema: - type: object - required: - - messages - - wallet_address - - wallet_public_key - properties: - wallet_address: - type: string - format: address - wallet_public_key: - type: string - messages: - type: array - items: - type: object - required: - - boc - properties: - boc: - type: string - format: cell - GaslessSend: - description: bag-of-cells serialized to hex - required: true - content: - application/json: - schema: - type: object - required: - - boc - - wallet_public_key - properties: - wallet_public_key: - type: string - description: hex encoded public key - boc: - type: string - format: cell - Boc: - description: bag-of-cells serialized to hex - required: true - content: - application/json: - schema: - type: object - required: - - boc - properties: - boc: - type: string - format: cell - AccountIDs: - description: a list of account ids - content: - application/json: - schema: - type: object - required: - - account_ids - properties: - account_ids: - type: array - items: - type: string - format: address - example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 - TonConnectProof: - description: "Data that is expected from TON Connect" - required: true - content: - application/json: - schema: - type: object - required: - - address - - proof - properties: - address: - type: string - format: address - example: "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b" - proof: - type: object - required: - - timestamp - - domain - - signature - - payload - properties: - timestamp: - type: integer - format: int64 - example: "1678275313" - domain: - type: object - required: - - value - properties: - length_bytes: - type: integer - format: int32 - value: - type: string - signature: - type: string - payload: - type: string - example: "84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa" - state_init: - type: string - format: cell-base64 - TonConnectStateInit: - description: "Data that is expected" - required: true - content: - application/json: - schema: - type: object - required: - - state_init - properties: - state_init: - type: string - format: cell-base64 - LiteServerSendMessageRequest: - description: "Data that is expected" - required: true - content: - application/json: - schema: - type: object - required: - - body - properties: - body: - type: string - format: cell-base64 - - schemas: - Error: - type: object - required: - - error - properties: - error: - type: string - example: error description - AccountAddress: - type: object - required: - - address - - is_scam - - is_wallet - properties: - address: - type: string - format: address - example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365 - name: - type: string - example: Ton foundation - description: Display name. Data collected from different sources like moderation lists, dns, collections names and over. - is_scam: - type: boolean - example: true - description: Is this account was marked as part of scammers activity - icon: - type: string - example: https://ton.org/logo.png - is_wallet: - type: boolean - example: true - BlockCurrencyCollection: - type: object - required: - - grams - - other - properties: - grams: - type: integer - format: int64 - example: 10000000000 - x-js-format: bigint - other: - type: array - items: - type: object - required: - - id - - value - properties: - id: - type: integer - format: int64 - example: 13 - value: - type: string - x-js-format: bigint - example: "10000000000" - BlockValueFlow: - type: object - required: - - from_prev_blk - - to_next_blk - - imported - - exported - - fees_collected - - fees_imported - - recovered - - created - - minted - properties: - from_prev_blk: - $ref: '#/components/schemas/BlockCurrencyCollection' - to_next_blk: - $ref: '#/components/schemas/BlockCurrencyCollection' - imported: - $ref: '#/components/schemas/BlockCurrencyCollection' - exported: - $ref: '#/components/schemas/BlockCurrencyCollection' - fees_collected: - $ref: '#/components/schemas/BlockCurrencyCollection' - burned: - $ref: '#/components/schemas/BlockCurrencyCollection' - fees_imported: - $ref: '#/components/schemas/BlockCurrencyCollection' - recovered: - $ref: '#/components/schemas/BlockCurrencyCollection' - created: - $ref: '#/components/schemas/BlockCurrencyCollection' - minted: - $ref: '#/components/schemas/BlockCurrencyCollection' - ServiceStatus: - type: object - required: - - indexing_latency - - rest_online - - last_known_masterchain_seqno - properties: - rest_online: - type: boolean - default: true - indexing_latency: - type: integer - example: 100 - last_known_masterchain_seqno: - type: integer - example: 123456 - format: int32 - ReducedBlock: - type: object - required: - - workchain_id - - shard - - seqno - - tx_quantity - - utime - - shards_blocks - - parent - properties: - workchain_id: - type: integer - example: 0 - format: int32 - shard: - type: string - # x-js-format: bigint ??? - example: "8000000000000000" - seqno: - type: integer - example: 21734019 - format: int32 - master_ref: - type: string - example: (-1,4234234,8000000000000000) - tx_quantity: - type: integer - example: 130 - utime: - type: integer - format: int64 - example: 23814011000000 - shards_blocks: - type: array - items: - type: string - example: "[ (0,4234235,8000000000000000) ]" - parent: - type: array - items: - type: string - example: "[ (0,21734018,8000000000000000) ]" - BlockchainBlock: - type: object - required: - - workchain_id - - shard - - seqno - - root_hash - - file_hash - - global_id - - value_flow - - version - - after_merge - - before_split - - after_split - - want_split - - want_merge - - key_block - - gen_utime - - start_lt - - end_lt - - vert_seqno - - gen_catchain_seqno - - min_ref_mc_seqno - - prev_key_block_seqno - - prev_refs - - in_msg_descr_length - - out_msg_descr_length - - rand_seed - - created_by - - tx_quantity - properties: - tx_quantity: - type: integer - example: 130 - value_flow: - $ref: '#/components/schemas/BlockValueFlow' - workchain_id: - type: integer - example: 0 - format: int32 - shard: - type: string - # x-js-format: bigint ??? - example: "8000000000000000" - seqno: - type: integer - example: 21734019 - format: int32 - root_hash: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - file_hash: - type: string - example: A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB - global_id: - type: integer - example: -239 - format: int32 - version: - type: integer - example: 0 - format: int32 - after_merge: - type: boolean - example: true - before_split: - type: boolean - example: true - after_split: - type: boolean - example: true - want_split: - type: boolean - example: true - want_merge: - type: boolean - example: true - key_block: - type: boolean - example: true - gen_utime: - type: integer - format: int64 - example: 1674826775 - start_lt: - type: integer - format: int64 - example: 23814011000000 - x-js-format: bigint - end_lt: - type: integer - format: int64 - example: 23814011000001 - x-js-format: bigint - vert_seqno: - type: integer - example: 0 - format: int32 - gen_catchain_seqno: - type: integer - example: 0 - format: int32 - min_ref_mc_seqno: - type: integer - example: 0 - format: int32 - prev_key_block_seqno: - type: integer - example: 0 - format: int32 - gen_software_version: - type: integer - example: 0 - format: int32 - gen_software_capabilities: - type: integer - format: int64 - example: 0 - master_ref: - type: string - example: (-1,4234234,8000000000000000) - prev_refs: - type: array - items: - type: string - example: [ (-1,4234235,8000000000000000) ] - in_msg_descr_length: - type: integer - format: int64 - example: 0 - out_msg_descr_length: - type: integer - format: int64 - example: 0 - rand_seed: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - created_by: - type: string - example: A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB - BlockchainBlocks: - type: object - required: - - blocks - properties: - blocks: - type: array - items: - $ref: '#/components/schemas/BlockchainBlock' - ReducedBlocks: - type: object - required: - - blocks - properties: - blocks: - type: array - items: - $ref: '#/components/schemas/ReducedBlock' - BlockchainBlockShards: - type: object - required: - - shards - properties: - shards: - type: array - items: - type: object - required: - - last_known_block_id - - last_known_block - properties: - last_known_block_id: - type: string - example: (0,8000000000000000,4234234) - last_known_block: - $ref: '#/components/schemas/BlockchainBlock' - AccountStatus: - type: string - example: active - enum: - - nonexist - - uninit - - active - - frozen - StateInit: - type: object - required: - - boc - - interfaces - properties: - boc: - type: string - format: cell - example: b5ee9c72010106010044000114ff00f4a413f4bcf2c80b01020120020302014804050004f2300038d06c21d31f30ed44d0d33f3001c00197a4c8cb3fc9ed549330f206e20011a13431da89a1a67e61 - interfaces: - type: array - items: - type: string - Message: - type: object - required: - - msg_type - - created_lt - - ihr_disabled - - bounce - - bounced - - value - - fwd_fee - - ihr_fee - - import_fee - - created_at - - hash - properties: - msg_type: - type: string - example: int_msg - enum: - - int_msg - - ext_in_msg - - ext_out_msg - created_lt: - type: integer - format: int64 - example: 25713146000001 - x-js-format: bigint - ihr_disabled: - type: boolean - example: true - bounce: - type: boolean - example: true - bounced: - type: boolean - example: true - value: - type: integer - format: int64 - x-js-format: bigint - example: 60000000 - fwd_fee: - type: integer - format: int64 - x-js-format: bigint - example: 5681002 - ihr_fee: - type: integer - format: int64 - x-js-format: bigint - example: 5681002 - destination: - $ref: '#/components/schemas/AccountAddress' - source: - $ref: '#/components/schemas/AccountAddress' - import_fee: - type: integer - format: int64 - x-js-format: bigint - example: 5681002 - created_at: - type: integer - format: int64 - example: 5681002 - op_code: - type: string - x-js-format: bigint - example: "0xdeadbeaf" - init: - $ref: '#/components/schemas/StateInit' - hash: - type: string - example: "1219de582369ac80ee1afe12147930f458a54ff1eea612611a8bc6bd31581a6c" - raw_body: - type: string - format: cell - description: hex-encoded BoC with raw message body - example: "B5EE9C7201010101001100001D00048656C6C6F2C20776F726C64218" - decoded_op_name: - type: string - example: "nft_transfer" - decoded_body: { } # Free-form JSON value - TransactionType: - type: string - example: TransOrd - enum: - - TransOrd - - TransTickTock - - TransSplitPrepare - - TransSplitInstall - - TransMergePrepare - - TransMergeInstall - - TransStorage - AccStatusChange: - type: string - example: acst_unchanged - enum: - - acst_unchanged - - acst_frozen - - acst_deleted - ComputeSkipReason: - type: string - example: cskip_no_state - enum: - - cskip_no_state - - cskip_bad_state - - cskip_no_gas - BouncePhaseType: - type: string - example: cskip_no_state - enum: - - TrPhaseBounceNegfunds - - TrPhaseBounceNofunds - - TrPhaseBounceOk - ComputePhase: - type: object - required: - - skipped - properties: - skipped: - type: boolean - example: true - skip_reason: - $ref: '#/components/schemas/ComputeSkipReason' - success: - type: boolean - example: true - gas_fees: - type: integer - format: int64 - x-js-format: bigint - example: 1000 - gas_used: - type: integer - format: int64 - x-js-format: bigint - example: 10000 - vm_steps: - type: integer - format: int32 - example: 5 - exit_code: - type: integer - format: int32 - example: 0 - exit_code_description: - type: string - StoragePhase: - type: object - required: - - fees_collected - - status_change - properties: - fees_collected: - type: integer - format: int64 - x-js-format: bigint - example: 25713146000001 - fees_due: - type: integer - format: int64 - x-js-format: bigint - example: 25713146000001 - status_change: - $ref: '#/components/schemas/AccStatusChange' - CreditPhase: - type: object - required: - - fees_collected - - credit - properties: - fees_collected: - type: integer - format: int64 - x-js-format: bigint - example: 100 - credit: - type: integer - format: int64 - x-js-format: bigint - example: 1000 - ActionPhase: - type: object - required: - - success - - result_code - - total_actions - - skipped_actions - - fwd_fees - - total_fees - properties: - success: - type: boolean - example: true - result_code: - type: integer - format: int32 - example: 5 - total_actions: - type: integer - format: int32 - example: 5 - skipped_actions: - type: integer - format: int32 - example: 5 - fwd_fees: - type: integer - format: int64 - x-js-format: bigint - example: 1000 - total_fees: - type: integer - format: int64 - x-js-format: bigint - example: 1000 - result_code_description: - type: string - Transaction: - type: object - required: - - hash - - lt - - account - - end_balance - - success - - utime - - orig_status - - end_status - - total_fees - - transaction_type - - state_update_old - - state_update_new - - out_msgs - - block - - aborted - - destroyed - - raw - properties: - hash: - type: string - example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 - lt: - type: integer - format: int64 - example: 25713146000001 - x-js-format: bigint - account: - $ref: '#/components/schemas/AccountAddress' - success: - type: boolean - example: true - utime: - type: integer - format: int64 - example: 1645544908 - orig_status: - $ref: '#/components/schemas/AccountStatus' - end_status: - $ref: '#/components/schemas/AccountStatus' - total_fees: - type: integer - format: int64 - x-js-format: bigint - example: 25713146000001 - end_balance: - type: integer - format: int64 - x-js-format: bigint - example: 25713146000001 - transaction_type: - $ref: '#/components/schemas/TransactionType' - state_update_old: - type: string - example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 - state_update_new: - type: string - example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 - in_msg: - $ref: '#/components/schemas/Message' - out_msgs: - type: array - items: - $ref: '#/components/schemas/Message' - block: - type: string - example: (-1,4234234,8000000000000000) - prev_trans_hash: - type: string - example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 - prev_trans_lt: - type: integer - format: int64 - x-js-format: bigint - example: 25713146000001 - compute_phase: - $ref: '#/components/schemas/ComputePhase' - storage_phase: - $ref: '#/components/schemas/StoragePhase' - credit_phase: - $ref: '#/components/schemas/CreditPhase' - action_phase: - $ref: '#/components/schemas/ActionPhase' - bounce_phase: - $ref: '#/components/schemas/BouncePhaseType' - aborted: - type: boolean - example: true - destroyed: - type: boolean - example: true - raw: - type: string - format: cell - description: "hex encoded boc with raw transaction" - example: "b5ee9c72410206010001380003b372cf3b5b8c891e517c9addbda1c0386a09ccacbb0e3faf630b51cfc8152325acb00002ac5795c0e41fdf79135cb7da03cc623b165d614b562a51eeccd8a5e097f405abf6b37f4e73000002ac5629732c1666887ed000144030480102030101a004008272abc8f2971aa4404ac6da1597720f348b2e1247b1ad9f55cbd3b6812f0a5f08b269bb65039fb1f6074d00f794e857f6dfd01131d299df456af10a8a4943d4d165000d0c80608840492001ab48015581f575c3b8c6ab3d6" - Transactions: - type: object - required: - - transactions - properties: - transactions: - type: array - items: - $ref: '#/components/schemas/Transaction' - ConfigProposalSetup: - type: object - required: - - min_tot_rounds - - max_tot_rounds - - min_wins - - max_losses - - min_store_sec - - max_store_sec - - bit_price - - cell_price - properties: - min_tot_rounds: - type: integer - example: 2 - max_tot_rounds: - type: integer - example: 6 - min_wins: - type: integer - example: 2 - max_losses: - type: integer - example: 6 - min_store_sec: - type: integer - format: int64 - example: 1000000 - max_store_sec: - type: integer - format: int64 - example: 10000000 - bit_price: - type: integer - format: int64 - example: 1 - cell_price: - type: integer - format: int64 - example: 500 - GasLimitPrices: - type: object - required: - - gas_price - - gas_limit - - gas_credit - - block_gas_limit - - freeze_due_limit - - delete_due_limit - properties: - special_gas_limit: - type: integer - format: int64 - flat_gas_limit: - type: integer - format: int64 - flat_gas_price: - type: integer - format: int64 - gas_price: - type: integer - format: int64 - example: 1 - gas_limit: - type: integer - format: int64 - example: 1000000 - gas_credit: - type: integer - format: int64 - example: 1000000 - block_gas_limit: - type: integer - format: int64 - example: 1000000 - freeze_due_limit: - type: integer - format: int64 - example: 1000000 - delete_due_limit: - type: integer - format: int64 - example: 1000000 - BlockParamLimits: - type: object - required: - - underload - - soft_limit - - hard_limit - properties: - underload: - type: integer - format: int64 - example: 1000000 - soft_limit: - type: integer - format: int64 - example: 1000000 - hard_limit: - type: integer - format: int64 - example: 1000000 - BlockLimits: - type: object - required: - - bytes - - gas - - lt_delta - properties: - bytes: - $ref: '#/components/schemas/BlockParamLimits' - gas: - $ref: '#/components/schemas/BlockParamLimits' - lt_delta: - $ref: '#/components/schemas/BlockParamLimits' - MsgForwardPrices: - type: object - required: - - lump_price - - bit_price - - cell_price - - ihr_price_factor - - first_frac - - next_frac - properties: - lump_price: - type: integer - format: int64 - example: 1000000 - bit_price: - type: integer - format: int64 - example: 1000000 - cell_price: - type: integer - format: int64 - example: 1000000 - ihr_price_factor: - type: integer - format: int64 - example: 1000000 - first_frac: - type: integer - format: int64 - example: 1000000 - next_frac: - type: integer - format: int64 - example: 1000000 - WorkchainDescr: - type: object - required: - - workchain - - enabled_since - - actual_min_split - - min_split - - max_split - - basic - - active - - accept_msgs - - flags - - zerostate_root_hash - - zerostate_file_hash - - version - properties: - workchain: - type: integer - format: int - example: 0 - enabled_since: - type: integer - format: int64 - example: 1000000 - actual_min_split: - type: integer - format: int - example: 1000000 - min_split: - type: integer - format: int - example: 1000000 - max_split: - type: integer - format: int - example: 1000000 - basic: - type: integer - example: 1000000 - active: - type: boolean - example: true - accept_msgs: - type: boolean - example: true - flags: - type: integer - format: int - example: 1000000 - zerostate_root_hash: - type: string - example: "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85" - zerostate_file_hash: - type: string - example: "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB" - version: - type: integer - format: int64 - example: 1000000 - MisbehaviourPunishmentConfig: - type: object - required: - - default_flat_fine - - default_proportional_fine - - severity_flat_mult - - severity_proportional_mult - - unpunishable_interval - - long_interval - - long_flat_mult - - long_proportional_mult - - medium_interval - - medium_flat_mult - - medium_proportional_mult - properties: - default_flat_fine: - type: integer - format: int64 - example: 1000000 - default_proportional_fine: - type: integer - format: int64 - example: 1000000 - severity_flat_mult: - type: integer - example: 1000000 - severity_proportional_mult: - type: integer - example: 1000000 - unpunishable_interval: - type: integer - example: 1000000 - long_interval: - type: integer - example: 1000000 - long_flat_mult: - type: integer - example: 1000000 - long_proportional_mult: - type: integer - example: 1000000 - medium_interval: - type: integer - example: 1000000 - medium_flat_mult: - type: integer - example: 1000000 - medium_proportional_mult: - type: integer - example: 1000000 - - SizeLimitsConfig: - type: object - required: - - max_msg_bits - - max_msg_cells - - max_library_cells - - max_vm_data_depth - - max_ext_msg_size - - max_ext_msg_depth - properties: - max_msg_bits: - type: integer - format: int64 - example: 1000000 - max_msg_cells: - type: integer - format: int64 - example: 1000000 - max_library_cells: - type: integer - format: int64 - example: 1000000 - max_vm_data_depth: - type: integer - format: int - example: 1000000 - max_ext_msg_size: - type: integer - format: int64 - example: 1000000 - max_ext_msg_depth: - type: integer - format: int - example: 1000000 - max_acc_state_cells: - type: integer - format: int64 - example: 1000000 - max_acc_state_bits: - type: integer - format: int64 - example: 1000000 - ValidatorsSet: - type: object - required: - - utime_since - - utime_until - - total - - main - - list - properties: - utime_since: - type: integer - utime_until: - type: integer - total: - type: integer - main: - type: integer - total_weight: - type: string - x-js-format: bigint - example: "1152921504606846800" - list: - type: array - items: - type: object - required: - - public_key - - weight - properties: - public_key: - type: string - weight: - type: integer - format: int64 - x-js-format: bigint - adnl_addr: - type: string - example: "45061C1D4EC44A937D0318589E13C73D151D1CEF5D3C0E53AFBCF56A6C2FE2BD" - Oracle: - type: object - required: - - address - - secp_pubkey - properties: - address: - type: string - format: address - example: 0:55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 - secp_pubkey: - type: string - example: 00000000000000000000000017dcab1b1481610f6c7a7a98cf0370dc0ec704a6 - OracleBridgeParams: - type: object - required: - - bridge_addr - - oracle_multisig_address - - external_chain_address - - oracles - properties: - bridge_addr: - type: string - format: address - oracle_multisig_address: - type: string - format: address - external_chain_address: - type: string - oracles: - type: array - items: - $ref: '#/components/schemas/Oracle' - JettonBridgePrices: - type: object - required: - - bridge_burn_fee - - bridge_mint_fee - - wallet_min_tons_for_storage - - wallet_gas_consumption - - minter_min_tons_for_storage - - discover_gas_consumption - properties: - bridge_burn_fee: - type: integer - format: int64 - bridge_mint_fee: - type: integer - format: int64 - wallet_min_tons_for_storage: - type: integer - format: int64 - wallet_gas_consumption: - type: integer - format: int64 - minter_min_tons_for_storage: - type: integer - format: int64 - discover_gas_consumption: - type: integer - format: int64 - JettonBridgeParams: - type: object - required: - - bridge_address - - oracles_address - - state_flags - - oracles - properties: - bridge_address: - type: string - format: address - oracles_address: - type: string - format: address - state_flags: - type: integer - burn_bridge_fee: - type: integer - format: int64 - oracles: - type: array - items: - $ref: '#/components/schemas/Oracle' - external_chain_address: - type: string - prices: - $ref: '#/components/schemas/JettonBridgePrices' - Validator: - type: object - required: - - address - - adnl_address - - stake - - max_factor - properties: - address: - type: string - format: address - example: 0:55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 - adnl_address: - type: string - example: 10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365 - stake: - type: integer - format: int64 - example: 123456789 - x-js-format: bigint - max_factor: - type: integer - format: int64 - example: 123456789 - Validators: - type: object - required: - - validators - - elect_at - - elect_close - - min_stake - - total_stake - properties: - elect_at: - type: integer - format: int64 - example: 123456789 - elect_close: - type: integer - format: int64 - example: 123456789 - min_stake: - type: integer - format: int64 - x-js-format: bigint - example: 123456789 - total_stake: - type: integer - format: int64 - x-js-format: bigint - example: 123456789 - validators: - type: array - items: - $ref: '#/components/schemas/Validator' - AccountStorageInfo: - type: object - required: - - used_cells - - used_bits - - used_public_cells - - last_paid - - due_payment - properties: - used_cells: - type: integer - format: int64 - example: 567 - used_bits: - type: integer - format: int64 - example: 567 - used_public_cells: - type: integer - format: int64 - example: 567 - last_paid: - type: integer - format: int64 - description: time of the last payment - example: 1720860269 - due_payment: - type: integer - format: int64 - x-js-format: bigint - example: 567 - BlockchainRawAccount: - type: object - required: - - address - - balance - - status - - last_transaction_lt - - storage - properties: - address: - type: string - format: address - example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf - balance: - type: integer - format: int64 - x-js-format: bigint - example: 123456789 - extra_balance: - type: object - additionalProperties: - type: string - # x-js-format: bigint ??? - # example ??? - code: - type: string - format: cell - example: b5ee9c72410104010087000114ff00f4a413f4a0f2c80b0102012002030002d200dfa5ffff76a268698fe9ffe8e42c5267858f90e785ffe4f6aa6467c444ffb365ffc10802faf0807d014035e7a064b87d804077e7857fc10803dfd2407d014035e7a064b86467cd8903a32b9ba4410803ade68afd014035e7a045ea432b6363796103bb7b9363210c678b64b87d807d8040c249b3e4 - data: - type: string - format: cell - example: b5ee9c7241010101002600004811fd096c0000000000000000000000000000000000000000000000000000000000000000cb78264d - last_transaction_lt: - type: integer - format: int64 - x-js-format: bigint - example: 123456789 - last_transaction_hash: - type: string - example: 088b436a846d92281734236967970612f87fbd64a2cd3573107948379e8e4161 - frozen_hash: - type: string - example: 088b436a846d92281734236967970612f87fbd64a2cd3573107948379e8e4161 - status: - '$ref': '#/components/schemas/AccountStatus' - storage: - $ref: '#/components/schemas/AccountStorageInfo' - libraries: - type: array - items: - type: object - required: - - public - - root - properties: - public: - type: boolean - example: true - root: - type: string - format: cell - Account: - type: object - required: - - address - - balance - - status - - last_activity - - get_methods - - is_wallet - properties: - address: - type: string - format: address - example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf - balance: - type: integer - format: int64 - example: 123456789 - x-js-format: bigint - currencies_balance: - description: "{'USD': 1, 'IDR': 1000}" - type: object - additionalProperties: true - example: { } - last_activity: - type: integer - description: unix timestamp - format: int64 - example: 1720860269 - status: - '$ref': '#/components/schemas/AccountStatus' - interfaces: - type: array - items: - type: string - example: nft_sale - name: - type: string - example: "Ton foundation" - is_scam: - type: boolean - example: true - icon: - type: string - example: "https://ton.org/logo.png" - memo_required: - type: boolean - example: true - get_methods: - type: array - items: - type: string - example: [ 'get_item_data' ] - is_suspended: - type: boolean - is_wallet: - type: boolean - Accounts: - type: object - required: - - accounts - properties: - accounts: - type: array - items: - $ref: '#/components/schemas/Account' - GaslessConfig: - type: object - required: - - gas_jettons - - relay_address - properties: - relay_address: - type: string - format: address - description: "sending excess to this address decreases the commission of a gasless transfer" - example: 0:dfbd5be8497fdc0c9fcbdfc676864840ddf8ad6423d6d5657d9b0e8270d6c8ac - gas_jettons: - type: array - description: "list of jettons, any of them can be used to pay for gas" - items: - type: object - required: - - master_id - properties: - master_id: - type: string - format: address - SignRawMessage: - type: object - required: - - address - - amount - properties: - address: - type: string - format: address - example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf - amount: - type: string - # x-js-format: bigint - # example: "1000000" nanocoins or decimal ? - description: "Number of nanocoins to send. Decimal string." - payload: - type: string - format: cell - description: "Raw one-cell BoC encoded in hex." - stateInit: - type: string - format: cell - description: "Raw once-cell BoC encoded in hex." - SignRawParams: - type: object - required: - - messages - - relay_address - - commission - - from - - valid_until - properties: - relay_address: - type: string - format: address - example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf - commission: - type: string - x-js-format: bigint - example: "1000000" - description: "Commission for the transaction. In nanocoins." - from: - type: string - format: address - example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf - valid_until: - type: integer - format: int64 - example: 1717397217 - messages: - type: array - items: - $ref: '#/components/schemas/SignRawMessage' - MethodExecutionResult: - type: object - required: - - success - - exit_code - - stack - properties: - success: - type: boolean - example: true - exit_code: - type: integer - example: 0 - description: tvm exit code - stack: - type: array - items: - $ref: "#/components/schemas/TvmStackRecord" - decoded: { } # Free-form JSON value - TvmStackRecord: - type: object - format: tuple-item - required: - - type - properties: - type: - type: string - example: "cell" - enum: - - cell - - num - - nan - - "null" - - tuple - cell: - type: string - format: cell - slice: - type: string - format: cell - num: - type: string - example: "" - tuple: - type: array - example: [ ] - items: - $ref: '#/components/schemas/TvmStackRecord' - RawBlockchainConfig: - type: object - required: - - config - properties: - config: - type: object - additionalProperties: true - example: { } - - BlockchainConfig: - type: object - required: - - raw - - "0" - - "1" - - "2" - - "4" - - "44" - properties: - raw: - type: string - format: cell - description: config boc in hex format - "0": - type: string - format: address - description: "config address" - "1": - type: string - format: address - description: "elector address" - "2": - type: string - format: address - description: "minter address" - "3": - type: string - format: address - description: "The address of the transaction fee collector." - "4": - type: string - format: address - description: "dns root address" - "5": - type: object - required: - - fee_burn_nom - - fee_burn_denom - properties: - blackhole_addr: - type: string - format: address - fee_burn_nom: - type: integer - format: int64 - fee_burn_denom: - type: integer - format: int64 - "6": - type: object - description: Minting fees of new currencies. - required: - - mint_new_price - - mint_add_price - properties: - mint_new_price: - type: integer - format: int64 - mint_add_price: - type: integer - format: int64 - "7": - type: object - description: The volume of each of the additional currencies in circulation. - required: - - currencies - properties: - currencies: - type: array - items: - type: object - required: - - currency_id - - amount - properties: - currency_id: - type: integer - format: int64 - amount: - type: string - # x-js-format: bigint - # example: "1000000" - "8": - type: object - description: The network version and additional capabilities supported by the validators. - required: - - version - - capabilities - properties: - version: - type: integer - format: int64 - capabilities: - type: integer - format: int64 - "9": - type: object - description: List of mandatory parameters of the blockchain config. - required: - - mandatory_params - properties: - mandatory_params: - type: array - items: - type: integer - format: int32 - "10": - type: object - description: List of critical TON parameters, the change of which significantly affects the network, so more voting rounds are held. - required: - - critical_params - properties: - critical_params: - type: array - items: - type: integer - format: int32 - "11": - type: object - description: This parameter indicates under what conditions proposals to change the TON configuration are accepted. - required: - - normal_params - - critical_params - properties: - normal_params: - $ref: '#/components/schemas/ConfigProposalSetup' - critical_params: - $ref: '#/components/schemas/ConfigProposalSetup' - "12": - type: object - description: Workchains in the TON Blockchain - required: - - workchains - properties: - workchains: - type: array - items: - $ref: '#/components/schemas/WorkchainDescr' - "13": - type: object - description: The cost of filing complaints about incorrect operation of validators. - required: - - deposit - - bit_price - - cell_price - properties: - deposit: - type: integer - format: int64 - bit_price: - type: integer - format: int64 - cell_price: - type: integer - format: int64 - "14": - type: object - description: The reward in nanoTons for block creation in the TON blockchain. - required: - - masterchain_block_fee - - basechain_block_fee - properties: - masterchain_block_fee: - type: integer - format: int64 - basechain_block_fee: - type: integer - format: int64 - "15": - type: object - description: The reward in nanoTons for block creation in the TON blockchain. - required: - - validators_elected_for - - elections_start_before - - elections_end_before - - stake_held_for - properties: - validators_elected_for: - type: integer - format: int64 - example: 65536 - elections_start_before: - type: integer - format: int64 - example: 32768 - elections_end_before: - type: integer - format: int64 - example: 8192 - stake_held_for: - type: integer - format: int64 - example: 32768 - "16": - type: object - description: The limits on the number of validators in the TON blockchain. - required: - - max_validators - - max_main_validators - - min_validators - properties: - max_validators: - type: integer - example: 400 - max_main_validators: - type: integer - example: 100 - min_validators: - type: integer - example: 75 - "17": - type: object - description: The stake parameters configuration in the TON blockchain. - required: - - min_stake - - max_stake - - min_total_stake - - max_stake_factor - properties: - min_stake: - type: string - # x-js-format: bigint - # example: "1000000" - max_stake: - type: string - # x-js-format: bigint - # example: "1000000" - min_total_stake: - type: string - # x-js-format: bigint - # example: "1000000" - max_stake_factor: - type: integer - format: int64 - "18": - type: object - description: The prices for data storage. - required: - - storage_prices - properties: - storage_prices: - type: array - items: - type: object - required: - - utime_since - - bit_price_ps - - cell_price_ps - - mc_bit_price_ps - - mc_cell_price_ps - properties: - utime_since: - type: integer - format: int64 - example: 0 - bit_price_ps: - type: integer - format: int64 - example: 1 - cell_price_ps: - type: integer - format: int64 - example: 500 - mc_bit_price_ps: - type: integer - format: int64 - example: 1000 - mc_cell_price_ps: - type: integer - format: int64 - example: 500000 - "20": - type: object - description: The cost of computations in the masterchain. The complexity of any computation is estimated in gas units. - required: - - gas_limits_prices - properties: - gas_limits_prices: - $ref: '#/components/schemas/GasLimitPrices' - "21": - type: object - description: The cost of computations in the basechains. The complexity of any computation is estimated in gas units. - required: - - gas_limits_prices - properties: - gas_limits_prices: - $ref: '#/components/schemas/GasLimitPrices' - "22": - type: object - description: The limits on the block in the masterchain, upon reaching which the block is finalized and the callback of the remaining messages (if any) is carried over to the next block. - required: - - block_limits - properties: - block_limits: - $ref: '#/components/schemas/BlockLimits' - "23": - type: object - description: The limits on the block in the basechains, upon reaching which the block is finalized and the callback of the remaining messages (if any) is carried over to the next block. - required: - - block_limits - properties: - block_limits: - $ref: '#/components/schemas/BlockLimits' - "24": - type: object - description: The cost of sending messages in the masterchain of the TON blockchain. - required: - - msg_forward_prices - properties: - msg_forward_prices: - $ref: '#/components/schemas/MsgForwardPrices' - "25": - type: object - description: The cost of sending messages in the basechains of the TON blockchain. - required: - - msg_forward_prices - properties: - msg_forward_prices: - $ref: '#/components/schemas/MsgForwardPrices' - "28": - type: object - description: The configuration for the Catchain protocol. - required: - - mc_catchain_lifetime - - shard_catchain_lifetime - - shard_validators_lifetime - - shard_validators_num - properties: - mc_catchain_lifetime: - type: integer - format: int64 - example: 1000000 - shard_catchain_lifetime: - type: integer - format: int64 - example: 1000000 - shard_validators_lifetime: - type: integer - format: int64 - example: 1000000 - shard_validators_num: - type: integer - format: int64 - example: 1000000 - flags: - type: integer - format: int - example: 1000000 - shuffle_mc_validators: - type: boolean - "29": - type: object - description: The configuration for the consensus protocol above catchain. - required: - - round_candidates - - next_candidate_delay_ms - - consensus_timeout_ms - - fast_attempts - - attempt_duration - - catchain_max_deps - - max_block_bytes - - max_collated_bytes - properties: - flags: - type: integer - format: int - example: 0 - new_catchain_ids: - type: boolean - example: true - round_candidates: - type: integer - format: int64 - example: 3 - next_candidate_delay_ms: - type: integer - format: int64 - example: 2000 - consensus_timeout_ms: - type: integer - format: int64 - example: 16000 - fast_attempts: - type: integer - format: int64 - example: 3 - attempt_duration: - type: integer - format: int64 - example: 8 - catchain_max_deps: - type: integer - format: int64 - example: 4 - max_block_bytes: - type: integer - format: int64 - example: 2097152 - max_collated_bytes: - type: integer - format: int64 - example: 2097152 - proto_version: - type: integer - format: int64 - example: 2 - catchain_max_blocks_coeff: - type: integer - format: int64 - example: 10000 - "31": - type: object - description: The configuration for the consensus protocol above catchain. - required: - - fundamental_smc_addr - properties: - fundamental_smc_addr: - type: array - items: - type: string - format: address - example: -1:dd24c4a1f2b88f8b7053513b5cc6c5a31bc44b2a72dcb4d8c0338af0f0d37ec5 - "32": - $ref: '#/components/schemas/ValidatorsSet' - "33": - $ref: '#/components/schemas/ValidatorsSet' - "34": - $ref: '#/components/schemas/ValidatorsSet' - "35": - $ref: '#/components/schemas/ValidatorsSet' - "36": - $ref: '#/components/schemas/ValidatorsSet' - "37": - $ref: '#/components/schemas/ValidatorsSet' - "40": - type: object - description: The configuration for punishment for improper behavior (non-validation). In the absence of the parameter, the default fine size is 101 TON - required: - - misbehaviour_punishment_config - properties: - misbehaviour_punishment_config: - $ref: '#/components/schemas/MisbehaviourPunishmentConfig' - "43": - type: object - description: The size limits and some other characteristics of accounts and messages. - required: - - size_limits_config - properties: - size_limits_config: - $ref: '#/components/schemas/SizeLimitsConfig' - "44": - type: object - description: suspended accounts - required: - - accounts - - suspended_until - properties: - accounts: - type: array - items: - type: string - format: address - example: 0:0000000000000000000000000000000000000000000000000000000000000000 - suspended_until: - type: integer - - "45": - type: object - description: precompiled contracts - required: - - contracts - properties: - contracts: - type: array - items: - type: object - required: - - code_hash - - gas_usage - properties: - code_hash: - type: string - format: address - gas_usage: - type: integer - format: int64 - "71": - type: object - description: Bridge parameters for wrapping TON in other networks. - required: - - oracle_bridge_params - properties: - oracle_bridge_params: - $ref: '#/components/schemas/OracleBridgeParams' - "72": - type: object - description: Bridge parameters for wrapping TON in other networks. - required: - - oracle_bridge_params - properties: - oracle_bridge_params: - $ref: '#/components/schemas/OracleBridgeParams' - "73": - type: object - description: Bridge parameters for wrapping TON in other networks. - required: - - oracle_bridge_params - properties: - oracle_bridge_params: - $ref: '#/components/schemas/OracleBridgeParams' - "79": - type: object - description: Bridge parameters for wrapping tokens from other networks into tokens on the TON network. - required: - - jetton_bridge_params - properties: - jetton_bridge_params: - $ref: '#/components/schemas/JettonBridgeParams' - "81": - type: object - description: Bridge parameters for wrapping tokens from other networks into tokens on the TON network. - required: - - jetton_bridge_params - properties: - jetton_bridge_params: - $ref: '#/components/schemas/JettonBridgeParams' - "82": - type: object - description: Bridge parameters for wrapping tokens from other networks into tokens on the TON network. - required: - - jetton_bridge_params - properties: - jetton_bridge_params: - $ref: '#/components/schemas/JettonBridgeParams' - DomainNames: - type: object - required: - - domains - properties: - domains: - type: array - items: - type: string - example: vasya.ton - DomainBid: - type: object - required: - - success - - value - - txTime - - bidder - - txHash - properties: - success: - type: boolean - example: true - default: false - value: - type: integer - format: int64 - example: 1660050553 - txTime: - type: integer - format: int64 - example: 1660050553 - txHash: - type: string - example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 - bidder: - $ref: '#/components/schemas/AccountAddress' - DomainBids: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/DomainBid' - JettonVerificationType: - type: string - enum: - - whitelist - - blacklist - - none - JettonPreview: - type: object - required: - - address - - name - - symbol - - decimals - - verification - - image - properties: - address: - type: string - format: address - example: 0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0 - name: - type: string - example: Wrapped TON - symbol: - type: string - example: WTON - decimals: - type: integer - example: 9 - image: - type: string - example: https://cache.tonapi.io/images/jetton.jpg - verification: - $ref: '#/components/schemas/JettonVerificationType' - custom_payload_api_uri: # todo: maybe remove - type: string - JettonBalance: - type: object - required: - - balance - - wallet_address - - jetton - properties: - balance: - type: string - x-js-format: bigint - example: "597968399" - price: - $ref: '#/components/schemas/TokenRates' - wallet_address: - $ref: '#/components/schemas/AccountAddress' - jetton: - $ref: '#/components/schemas/JettonPreview' - extensions: - type: array - items: - type: string - example: - - custom_payload - - non_transferable - lock: - type: object - required: - - amount - - till - properties: - amount: - type: string - x-js-format: bigint - example: "597968399" - till: - type: integer - format: int64 - example: 1678223064 - JettonsBalances: - type: object - required: - - balances - properties: - balances: - type: array - items: - $ref: '#/components/schemas/JettonBalance' - Price: - type: object - required: - - value - - token_name - properties: - value: - type: string - x-js-format: bigint - example: "123000000000" - token_name: - type: string - example: TON - ImagePreview: - type: object - required: - - resolution - - url - properties: - resolution: - type: string - example: "100x100" - url: - type: string - example: "https://site.com/pic1.jpg" - NftApprovedBy: - type: array - items: - type: string - example: getgems - enum: - - getgems - - tonkeeper - TrustType: - type: string - example: whitelist - enum: - - whitelist - - graylist - - blacklist - - none - Sale: - type: object - required: - - address - - market - - price - properties: - address: - type: string - format: address - example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365 - market: - $ref: '#/components/schemas/AccountAddress' - owner: - $ref: '#/components/schemas/AccountAddress' - price: - $ref: '#/components/schemas/Price' - NftItem: - type: object - required: - - address - - index - - verified - - metadata - - approved_by - - trust - properties: - address: - type: string - format: address - example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B - index: - type: integer - format: int64 - example: 58 - owner: - $ref: '#/components/schemas/AccountAddress' - collection: - type: object - required: - - address - - name - - description - properties: - address: - type: string - format: address - example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B - name: - type: string - example: TON Diamonds - description: - type: string - example: "Best collection in TON network" - verified: - type: boolean - description: "Collection master contract confirmed that this item is part of collection" - example: true - metadata: - type: object - additionalProperties: true - example: { } - sale: - $ref: '#/components/schemas/Sale' - previews: - type: array - items: - $ref: '#/components/schemas/ImagePreview' - dns: - type: string - example: crypto.ton - approved_by: - deprecated: true - description: "please use trust field" - $ref: '#/components/schemas/NftApprovedBy' - include_cnft: - type: boolean - example: false - trust: - $ref: '#/components/schemas/TrustType' - NftItems: - type: object - required: - - nft_items - properties: - nft_items: - type: array - items: - $ref: '#/components/schemas/NftItem' - Multisigs: - type: object - required: - - multisigs - properties: - multisigs: - type: array - items: - $ref: '#/components/schemas/Multisig' - Multisig: - type: object - required: - - address - - seqno - - threshold - - signers - - proposers - - orders - properties: - address: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - seqno: - type: integer - format: int64 - example: 1 - threshold: - type: integer - format: int32 - signers: - type: array - items: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - proposers: - type: array - items: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - orders: - type: array - items: - $ref: '#/components/schemas/MultisigOrder' - MultisigOrder: - type: object - required: - - address - - order_seqno - - threshold - - sent_for_execution - - signers - - approvals_num - - expiration_date - - risk - - creation_date - - signed_by - properties: - address: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - order_seqno: - type: integer - format: int64 - example: 1 - threshold: - type: integer - format: int32 - sent_for_execution: - type: boolean - example: false - signers: - type: array - items: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - approvals_num: - type: integer - format: int32 - expiration_date: - type: integer - format: int64 - risk: - $ref: '#/components/schemas/Risk' - creation_date: - type: integer - format: int64 - signed_by: - type: array - items: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - Refund: - type: object - required: - - type - - origin - properties: - type: - type: string - example: DNS.ton - enum: - - DNS.ton - - DNS.tg - - GetGems - origin: - type: string - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - ValueFlow: - type: object - required: - - account - - ton - - fees - properties: - account: - $ref: '#/components/schemas/AccountAddress' - ton: - type: integer - format: int64 - x-js-format: bigint - example: 80 - fees: - type: integer - format: int64 - x-js-format: bigint - example: 10 - jettons: - type: array - items: - type: object - required: - - account - - quantity - - jetton - properties: - account: - $ref: '#/components/schemas/AccountAddress' - jetton: - $ref: '#/components/schemas/JettonPreview' - quantity: - type: integer - format: int64 - x-js-format: bigint - example: 10 - Action: - type: object - required: - - type - - status - - simple_preview - - base_transactions - properties: - type: - type: string - example: "TonTransfer" - enum: - - TonTransfer - - JettonTransfer - - JettonBurn - - JettonMint - - NftItemTransfer - - ContractDeploy - - Subscribe - - UnSubscribe - - AuctionBid - - NftPurchase - - DepositStake - - WithdrawStake - - WithdrawStakeRequest - - JettonSwap - - SmartContractExec - - ElectionsRecoverStake - - ElectionsDepositStake - - DomainRenew - - InscriptionTransfer - - InscriptionMint - - Unknown - status: - type: string - example: "ok" - enum: - - ok - - failed - TonTransfer: - $ref: '#/components/schemas/TonTransferAction' - ContractDeploy: - $ref: '#/components/schemas/ContractDeployAction' - JettonTransfer: - $ref: '#/components/schemas/JettonTransferAction' - JettonBurn: - $ref: '#/components/schemas/JettonBurnAction' - JettonMint: - $ref: '#/components/schemas/JettonMintAction' - NftItemTransfer: - $ref: '#/components/schemas/NftItemTransferAction' - Subscribe: - $ref: '#/components/schemas/SubscriptionAction' - UnSubscribe: - $ref: '#/components/schemas/UnSubscriptionAction' - AuctionBid: - $ref: '#/components/schemas/AuctionBidAction' - NftPurchase: - $ref: '#/components/schemas/NftPurchaseAction' - DepositStake: - $ref: '#/components/schemas/DepositStakeAction' - WithdrawStake: - $ref: '#/components/schemas/WithdrawStakeAction' - WithdrawStakeRequest: - $ref: '#/components/schemas/WithdrawStakeRequestAction' - ElectionsDepositStake: - $ref: '#/components/schemas/ElectionsDepositStakeAction' - ElectionsRecoverStake: - $ref: '#/components/schemas/ElectionsRecoverStakeAction' - JettonSwap: - $ref: '#/components/schemas/JettonSwapAction' - SmartContractExec: - $ref: '#/components/schemas/SmartContractAction' - DomainRenew: - $ref: '#/components/schemas/DomainRenewAction' - InscriptionTransfer: - $ref: '#/components/schemas/InscriptionTransferAction' - InscriptionMint: - $ref: '#/components/schemas/InscriptionMintAction' - simple_preview: - $ref: '#/components/schemas/ActionSimplePreview' - base_transactions: - type: array - items: - type: string - description: "transaction hash" - example: e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e - TonTransferAction: - type: object - required: - - sender - - recipient - - amount - properties: - sender: - $ref: '#/components/schemas/AccountAddress' - recipient: - $ref: '#/components/schemas/AccountAddress' - amount: - type: integer - description: amount in nanotons - format: int64 - example: 123456789 - x-js-format: bigint - comment: - type: string - example: "Hi! This is your salary. \nFrom accounting with love." - encrypted_comment: - $ref: '#/components/schemas/EncryptedComment' - refund: - $ref: '#/components/schemas/Refund' - SmartContractAction: - type: object - required: - - executor - - contract - - ton_attached - - operation - properties: - executor: - $ref: '#/components/schemas/AccountAddress' - contract: - $ref: '#/components/schemas/AccountAddress' - ton_attached: - type: integer - description: amount in nanotons - format: int64 - example: 123456789 - x-js-format: bigint - operation: - type: string - example: "NftTransfer or 0x35d95a12" - payload: - type: string - # example ??, maybe cell? - refund: - $ref: '#/components/schemas/Refund' - DomainRenewAction: - type: object - required: - - domain - - contract_address - - renewer - properties: - domain: - type: string - example: "vasya.ton" - contract_address: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - renewer: - $ref: '#/components/schemas/AccountAddress' - InscriptionMintAction: - type: object - required: - - type - - ticker - - recipient - - amount - - decimals - properties: - recipient: - $ref: '#/components/schemas/AccountAddress' - amount: - type: string - x-js-format: bigint - description: amount in minimal particles - example: "123456789" - type: - type: string - enum: - - ton20 - - gram20 - example: "ton20" - ticker: - type: string - example: "nano" - decimals: - type: integer - example: 9 - InscriptionTransferAction: - type: object - required: - - sender - - recipient - - amount - - type - - ticker - - decimals - properties: - sender: - $ref: '#/components/schemas/AccountAddress' - recipient: - $ref: '#/components/schemas/AccountAddress' - amount: - type: string - x-js-format: bigint - description: amount in minimal particles - example: "123456789" - comment: - type: string - example: "Hi! This is your salary. \nFrom accounting with love." - type: - type: string - enum: - - ton20 - - gram20 - example: "ton20" - ticker: - type: string - example: "nano" - decimals: - type: integer - example: 9 - NftItemTransferAction: - type: object - required: - - nft - properties: - sender: - $ref: '#/components/schemas/AccountAddress' - recipient: - $ref: '#/components/schemas/AccountAddress' - nft: - type: string - example: "" - comment: - type: string - example: "Hi! This is your salary. \nFrom accounting with love." - encrypted_comment: - $ref: '#/components/schemas/EncryptedComment' - payload: - type: string - description: raw hex encoded payload - example: '0234de3e21d21b3ee21f3' - refund: - $ref: '#/components/schemas/Refund' - JettonTransferAction: - type: object - required: - - amount - - jetton - - senders_wallet - - recipients_wallet - properties: - sender: - $ref: '#/components/schemas/AccountAddress' - recipient: - $ref: '#/components/schemas/AccountAddress' - senders_wallet: - type: string - format: address - example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B - recipients_wallet: - type: string - format: address - example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B - amount: - type: string - x-js-format: bigint - example: "1000000000" - description: amount in quanta of tokens - comment: - type: string - example: "Hi! This is your salary. \nFrom accounting with love." - encrypted_comment: - $ref: '#/components/schemas/EncryptedComment' - refund: - $ref: '#/components/schemas/Refund' - jetton: - $ref: '#/components/schemas/JettonPreview' - JettonBurnAction: - type: object - required: - - amount - - jetton - - sender - - senders_wallet - properties: - sender: - $ref: '#/components/schemas/AccountAddress' - senders_wallet: - type: string - format: address - example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B - amount: - type: string - x-js-format: bigint - example: "1000000000" - description: amount in quanta of tokens - jetton: - $ref: '#/components/schemas/JettonPreview' - JettonMintAction: - type: object - required: - - amount - - jetton - - recipient - - recipients_wallet - properties: - recipient: - $ref: '#/components/schemas/AccountAddress' - recipients_wallet: - type: string - format: address - example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B - amount: - type: string - x-js-format: bigint - example: "1000000000" - description: amount in quanta of tokens - jetton: - $ref: '#/components/schemas/JettonPreview' - ContractDeployAction: - type: object - required: - - address - - interfaces - properties: - address: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - interfaces: - type: array - items: - type: string - example: [ "nft_item", "nft_royalty" ] - SubscriptionAction: - type: object - required: - - subscriber - - subscription - - beneficiary - - amount - - initial - properties: - subscriber: - $ref: '#/components/schemas/AccountAddress' - subscription: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - beneficiary: - $ref: '#/components/schemas/AccountAddress' - amount: - type: integer - format: int64 - example: 1000000000 - x-js-format: bigint - initial: - type: boolean - example: false - UnSubscriptionAction: - type: object - required: - - subscriber - - subscription - - beneficiary - properties: - subscriber: - $ref: '#/components/schemas/AccountAddress' - subscription: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - beneficiary: - $ref: '#/components/schemas/AccountAddress' - AuctionBidAction: - type: object - required: - - amount - - bidder - - auction - - auction_type - properties: - auction_type: - type: string - enum: - - DNS.ton - - DNS.tg - - NUMBER.tg - - getgems - amount: - $ref: '#/components/schemas/Price' - nft: - $ref: '#/components/schemas/NftItem' - bidder: - $ref: '#/components/schemas/AccountAddress' - auction: - $ref: '#/components/schemas/AccountAddress' - DepositStakeAction: - description: "validator's participation in elections" - type: object - required: - - amount - - staker - - pool - - implementation - properties: - amount: - type: integer - format: int64 - x-js-format: bigint - example: 1660050553 - staker: - $ref: '#/components/schemas/AccountAddress' - pool: - $ref: '#/components/schemas/AccountAddress' - implementation: - $ref: '#/components/schemas/PoolImplementationType' - WithdrawStakeAction: - description: "validator's participation in elections" - type: object - required: - - amount - - staker - - pool - - implementation - properties: - amount: - type: integer - format: int64 - example: 1660050553 - x-js-format: bigint - staker: - $ref: '#/components/schemas/AccountAddress' - pool: - $ref: '#/components/schemas/AccountAddress' - implementation: - $ref: '#/components/schemas/PoolImplementationType' - WithdrawStakeRequestAction: - description: "validator's participation in elections" - type: object - required: - - staker - - pool - - implementation - properties: - amount: - type: integer - format: int64 - example: 1660050553 - x-js-format: bigint - staker: - $ref: '#/components/schemas/AccountAddress' - pool: - $ref: '#/components/schemas/AccountAddress' - implementation: - $ref: '#/components/schemas/PoolImplementationType' - ElectionsRecoverStakeAction: - type: object - required: - - amount - - staker - properties: - amount: - type: integer - format: int64 - example: 1660050553 - x-js-format: bigint - staker: - $ref: '#/components/schemas/AccountAddress' - ElectionsDepositStakeAction: - type: object - required: - - amount - - staker - properties: - amount: - type: integer - format: int64 - example: 1660050553 - x-js-format: bigint - staker: - $ref: '#/components/schemas/AccountAddress' - JettonSwapAction: - type: object - required: - - dex - - amount_in - - amount_out - - user_wallet - - router - properties: - dex: - type: string - enum: - - stonfi - - dedust - - megatonfi - amount_in: - type: string - x-js-format: bigint - example: "1660050553" - amount_out: - type: string - x-js-format: bigint - example: "1660050553" - ton_in: - type: integer - example: 1000000000 - format: int64 - x-js-format: bigint - ton_out: - type: integer - example: 2000000000 - format: int64 - x-js-format: bigint - user_wallet: - $ref: '#/components/schemas/AccountAddress' - router: - $ref: '#/components/schemas/AccountAddress' - jetton_master_in: - $ref: '#/components/schemas/JettonPreview' - jetton_master_out: - $ref: '#/components/schemas/JettonPreview' - NftPurchaseAction: - type: object - required: - - amount - - seller - - buyer - - auction_type - - nft - properties: - auction_type: - type: string - enum: - - DNS.ton - - DNS.tg - - NUMBER.tg - - getgems - amount: - $ref: '#/components/schemas/Price' - nft: - $ref: '#/components/schemas/NftItem' - seller: - $ref: '#/components/schemas/AccountAddress' - buyer: - $ref: '#/components/schemas/AccountAddress' - ActionSimplePreview: - type: object - description: shortly describes what this action is about. - required: - - name - - description - - accounts - properties: - name: - type: string - example: "Ton Transfer" - description: - type: string - example: "Transferring 5 Ton" - action_image: - type: string - description: a link to an image for this particular action. - value: - type: string - example: "5 Ton" - value_image: - type: string - description: a link to an image that depicts this action's asset. - accounts: - type: array - items: - $ref: '#/components/schemas/AccountAddress' - AccountEvent: - type: object - description: An event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time. - required: - - event_id - - timestamp - - actions - - account - - is_scam - - lt - - in_progress - - extra - properties: - event_id: - type: string - example: e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e - account: - $ref: '#/components/schemas/AccountAddress' - timestamp: - type: integer - format: int64 - example: 1234567890 - actions: - type: array - items: - $ref: '#/components/schemas/Action' - is_scam: - type: boolean - description: scam - example: false - lt: - type: integer - format: int64 - example: 25713146000001 - x-js-format: bigint - in_progress: - type: boolean - example: false - description: Event is not finished yet. Transactions still happening - extra: - description: TODO - type: integer - format: int64 - example: 3 - AccountEvents: - type: object - required: - - events - - next_from - properties: - events: - type: array - items: - $ref: '#/components/schemas/AccountEvent' - next_from: - type: integer - format: int64 - example: 25713146000001 - TraceID: - type: object - required: - - id - - utime - properties: - id: - type: string - example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122 - utime: - type: integer - format: int64 - example: 1645544908 - TraceIDs: - type: object - required: - - traces - properties: - traces: - type: array - items: - $ref: '#/components/schemas/TraceID' - ApyHistory: - type: object - required: - - apy - - time - properties: - apy: - type: number - time: - type: integer - Subscription: - type: object - required: - - address - - wallet_address - - beneficiary_address - - amount - - period - - start_time - - timeout - - last_payment_time - - last_request_time - - subscription_id - - failed_attempts - properties: - address: - type: string - format: address - example: 0:dea8f638b789172ce36d10a20318125e52c649aa84893cd77858224fe2b9b0ee - wallet_address: - type: string - format: address - example: 0:567DE86AF2B6A557D7085807CF7C26338124987A5179344F0D0FA2657EB710F1 - beneficiary_address: - type: string - format: address - example: 0:c704dadfabac88eab58e340de03080df81ff76636431f48624ad6e26fb2da0a4 - amount: - type: integer - format: int64 - example: 1000000000 - period: - type: integer - format: int64 - example: 2592000 - start_time: - type: integer - format: int64 - example: 1653996832 - timeout: - type: integer - format: int64 - example: 10800 - last_payment_time: - type: integer - format: int64 - example: 1653996834 - last_request_time: - type: integer - format: int64 - example: 0 - subscription_id: - type: integer - format: int64 - example: 217477 - failed_attempts: - type: integer - format: int32 - example: 0 - Subscriptions: - type: object - required: - - subscriptions - properties: - subscriptions: - type: array - items: - $ref: '#/components/schemas/Subscription' - Auction: - type: object - required: - - domain - - owner - - price - - bids - - date - properties: - domain: - type: string - example: wallet.ton - owner: - type: string - format: address - example: 0:c704dadfabac88eab58e340de03080df81ff76636431f48624ad6e26fb2da0a4 - price: - type: integer - format: int64 - example: 1660050553 - x-js-format: bigint - bids: - type: integer - format: int64 - example: 1660050553 - x-js-format: bigint - date: - type: integer - format: int64 - example: 1660050553 - Auctions: - type: object - required: - - data - - total - properties: - data: - type: array - items: - $ref: '#/components/schemas/Auction' - total: - type: integer - format: int64 - example: 1660050553 - WalletDNS: - type: object - required: - - address - - is_wallet - - has_method_pubkey - - has_method_seqno - - names - - account - properties: - address: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - account: - $ref: '#/components/schemas/AccountAddress' - is_wallet: - type: boolean - example: true - has_method_pubkey: - type: boolean - example: true - has_method_seqno: - type: boolean - example: true - names: - type: array - items: - type: string - example: "name" - DomainInfo: - type: object - required: - - name - properties: - name: - type: string - expiring_at: - type: integer - format: int64 - description: date of expiring. optional. not all domain in ton has expiration date - item: - $ref: '#/components/schemas/NftItem' - DnsRecord: - type: object - required: - - sites - properties: - wallet: - $ref: '#/components/schemas/WalletDNS' - next_resolver: - type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - sites: - type: array - items: - type: string - example: "http://12234.ton" - storage: - type: string - description: "tonstorage bag id" - example: "da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" - NftCollection: - type: object - required: - - address - - next_item_index - - raw_collection_content - - approved_by - properties: - address: - type: string - format: address - example: 0:FD595F36B4C1535BEC8461490D38EBB9AE3C38DD6ACE17CA63ABE2C6608BE159 - next_item_index: - type: integer - format: int64 - example: 1 - owner: - $ref: '#/components/schemas/AccountAddress' - raw_collection_content: - type: string - format: cell - metadata: - type: object - additionalProperties: true - example: { } - previews: - type: array - items: - $ref: '#/components/schemas/ImagePreview' - approved_by: - $ref: '#/components/schemas/NftApprovedBy' - NftCollections: - type: object - required: - - nft_collections - properties: - nft_collections: - type: array - items: - $ref: '#/components/schemas/NftCollection' - Trace: - type: object - required: - - transaction - - interfaces - properties: - transaction: - $ref: '#/components/schemas/Transaction' - interfaces: - type: array - items: - type: string - example: [ "wallet", "tep62_item" ] - children: - type: array - items: - $ref: '#/components/schemas/Trace' - emulated: - type: boolean - example: false - MessageConsequences: - type: object - required: - - trace - - risk - - event - properties: - trace: - $ref: '#/components/schemas/Trace' - risk: - $ref: '#/components/schemas/Risk' - event: - $ref: '#/components/schemas/AccountEvent' - Risk: - type: object - description: Risk specifies assets that could be lost if a message would be sent to a malicious smart contract. It makes sense to understand the risk BEFORE sending a message to the blockchain. - required: - - transfer_all_remaining_balance - - ton - - jettons - - nfts - properties: - transfer_all_remaining_balance: - type: boolean - description: transfer all the remaining balance of the wallet. - example: true - ton: - type: integer - format: int64 - example: 500 - x-js-format: bigint - jettons: - type: array - items: - $ref: '#/components/schemas/JettonQuantity' - nfts: - type: array - items: - $ref: '#/components/schemas/NftItem' - JettonQuantity: - type: object - required: - - quantity - - wallet_address - - jetton - properties: - quantity: - type: string - x-js-format: bigint - example: "597968399" - wallet_address: - $ref: '#/components/schemas/AccountAddress' - jetton: - $ref: '#/components/schemas/JettonPreview' - DecodedMessage: - type: object - required: - - destination - - destination_wallet_version - properties: - destination: - $ref: '#/components/schemas/AccountAddress' - destination_wallet_version: - type: string - example: "v3R2" - ext_in_msg_decoded: - type: object - properties: - wallet_v3: - type: object - required: - - subwallet_id - - valid_until - - seqno - - op - - raw_messages - properties: - subwallet_id: - type: integer - format: int64 - example: 1 - valid_until: - type: integer - format: int64 - example: 1 - seqno: - type: integer - format: int64 - example: 1 - raw_messages: - type: array - items: - $ref: '#/components/schemas/DecodedRawMessage' - wallet_v4: - type: object - required: - - subwallet_id - - valid_until - - seqno - - op - - raw_messages - properties: - subwallet_id: - type: integer - format: int64 - example: 1 - valid_until: - type: integer - format: int64 - example: 1 - seqno: - type: integer - format: int64 - example: 1 - op: - type: integer - format: int32 - example: 1 - raw_messages: - type: array - items: - $ref: '#/components/schemas/DecodedRawMessage' - wallet_v5: - type: object - required: - - raw_messages - - valid_until - properties: - valid_until: - type: integer - format: int64 - example: 1 - raw_messages: - type: array - items: - $ref: '#/components/schemas/DecodedRawMessage' - wallet_highload_v2: - type: object - required: - - subwallet_id - - bounded_query_id - - raw_messages - properties: - subwallet_id: - type: integer - format: int64 - example: 1 - bounded_query_id: - type: string - example: "34254528475294857" - raw_messages: - type: array - items: - $ref: '#/components/schemas/DecodedRawMessage' - DecodedRawMessage: - type: object - required: - - message - - mode - properties: - message: - type: object - required: - - boc - properties: - boc: - type: string - format: cell - decoded_op_name: - type: string - example: "nft_transfer" - op_code: - type: string - x-js-format: bigint - example: "0xdeadbeaf" - decoded_body: { } # Free-form JSON value - mode: - type: integer - example: 2 - Event: - type: object - required: - - event_id - - timestamp - - actions - - value_flow - - is_scam - - lt - - in_progress - properties: - event_id: - type: string - example: e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e - timestamp: - type: integer - format: int64 - example: 1234567890 - actions: - type: array - items: - $ref: '#/components/schemas/Action' - value_flow: - type: array - items: - $ref: '#/components/schemas/ValueFlow' - is_scam: - type: boolean - description: scam - example: false - lt: - type: integer - format: int64 - example: 25713146000001 - x-js-format: bigint - in_progress: - type: boolean - example: false - description: Event is not finished yet. Transactions still happening - JettonMetadata: - type: object - required: - - address - - name - - symbol - - decimals - properties: - address: - type: string - format: address - example: 0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0 - name: - type: string - example: Wrapped TON - symbol: - type: string - example: WTON - decimals: - type: string - example: "9" - image: - type: string - example: "https://bitcoincash-example.github.io/website/logo.png" - description: this field currently returns a cached image URL (e.g., "https://cache.tonapi.io/images/jetton.jpg"). In the future, this will be replaced with the original URL from the metadata. The cached image is already available in the `preview` field of `JettonInfo` and will remain there. - description: - type: string - example: Wrapped Toncoin - social: - type: array - items: - type: string - example: [ "https://t.me/durov_coin", "https://twitter.com/durov_coin" ] - websites: - type: array - items: - type: string - example: [ "https://durov.coin", "ton://durov-coin.ton" ] - catalogs: - type: array - items: - type: string - example: [ "https://coinmarketcap.com/currencies/drv/", "https://www.coingecko.com/en/coins/durov" ] - custom_payload_api_uri: - type: string - example: "https://claim-api.tonapi.io/jettons/TESTMINT" - InscriptionBalances: - type: object - required: - - inscriptions - properties: - inscriptions: - type: array - items: - $ref: '#/components/schemas/InscriptionBalance' - InscriptionBalance: - type: object - required: - - type - - ticker - - balance - - decimals - properties: - type: - type: string - enum: - - ton20 - - gram20 - example: "ton20" - ticker: - type: string - example: "nano" - balance: - type: string - x-js-format: bigint - example: "1000000000" - decimals: - type: integer - example: 9 - Jettons: - type: object - required: - - jettons - properties: - jettons: - type: array - items: - $ref: '#/components/schemas/JettonInfo' - JettonInfo: - type: object - required: - - mintable - - total_supply - - metadata - - verification - - holders_count - - preview - properties: - mintable: - type: boolean - example: true - total_supply: - type: string - x-js-format: bigint - example: "5887105890579978" - admin: - $ref: '#/components/schemas/AccountAddress' - metadata: - $ref: '#/components/schemas/JettonMetadata' - preview: - type: string - example: "https://cache.tonapi.io/images/jetton.jpg" - verification: - $ref: '#/components/schemas/JettonVerificationType' - holders_count: - type: integer - format: int32 - example: 2000 - JettonHolders: - type: object - required: - - addresses - - total - properties: - addresses: - type: array - items: - type: object - required: - - address - - owner - - balance - properties: - address: - type: string - format: address - example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365 - owner: - $ref: '#/components/schemas/AccountAddress' - balance: - type: string - x-js-format: bigint - example: "168856200518084" - description: balance in the smallest jetton's units - total: - type: integer - format: int64 - description: total number of holders - example: 2000 - JettonTransferPayload: - type: object - required: - - payload - properties: - custom_payload: - type: string - # format: ??? - example: "b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d" - description: "hex-encoded BoC" - state_init: - type: string - # format: ??? - example: "b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d" - description: "hex-encoded BoC" - AccountStaking: - type: object - required: - - pools - properties: - pools: - type: array - items: - $ref: '#/components/schemas/AccountStakingInfo' - AccountStakingInfo: - type: object - required: - - pool - - amount - - pending_deposit - - pending_withdraw - - ready_withdraw - properties: - pool: - type: string - example: "EQBI-wGVp_x0VFEjd7m9cEUD3tJ_bnxMSp0Tb9qz757ATEAM" - amount: - type: integer - format: int64 - example: 10050000000000 - x-js-format: bigint - pending_deposit: - type: integer - format: int64 - example: 500000000000 - x-js-format: bigint - pending_withdraw: - type: integer - format: int64 - example: 500000000000 - x-js-format: bigint - ready_withdraw: - type: integer - format: int64 - example: 500000000000 - x-js-format: bigint - PoolInfo: - type: object - required: - - address - - total_amount - - implementation - - apy - - name - - min_stake - - cycle_start - - cycle_end - - verified - - current_nominators - - max_nominators - - nominators_stake - - validator_stake - properties: - address: - type: string - format: address - example: "0:48fb0195a7fc7454512377b9bd704503ded27f6e7c4c4a9d136fdab3ef9ec04c" - name: - type: string - example: "Tonkeeper pool" - total_amount: - type: integer - format: int64 - x-js-format: bigint - implementation: - $ref: '#/components/schemas/PoolImplementationType' - apy: - type: number - description: APY in percent - example: 5.31 - min_stake: - type: integer - format: int64 - x-js-format: bigint - example: 5000000000 - cycle_start: - type: integer - description: current nomination cycle beginning timestamp - format: int64 - example: 1678223064 - cycle_end: - type: integer - description: current nomination cycle ending timestamp - format: int64 - example: 1678223064 - verified: - type: boolean - example: true - description: this pool has verified source code or managed by trusted company - current_nominators: - type: integer - example: 10 - description: current number of nominators - max_nominators: - type: integer - example: 100 - description: maximum number of nominators - liquid_jetton_master: - type: string - format: address - example: "0:4a91d32d0289bda9813ae00ff7640e6c38fdce76e4583dd6afc463b70c7d767c" - description: "for liquid staking master account of jetton" - nominators_stake: - type: integer - format: int64 - x-js-format: bigint - example: 5000000000 - description: "total stake of all nominators" - validator_stake: - type: integer - format: int64 - x-js-format: bigint - example: 5000000000 - description: "stake of validator" - cycle_length: - type: integer - format: int64 - PoolImplementation: - type: object - required: - - name - - description - - url - - socials - properties: - name: - type: string - example: TON Whales - description: - type: string - example: "Oldest pool with minimal staking amount 50 TON" - url: - type: string - example: "https://tonvalidators.org/" - socials: - type: array - items: - type: string - example: "https://t.me/tonwhales" - StorageProvider: - type: object - required: - - address - - accept_new_contracts - - rate_per_mb_day - - max_span - - minimal_file_size - - maximal_file_size - properties: - address: - type: string - format: address - example: 0:FD595F36B4C1535BEC8461490D38EBB9AE3C38DD6ACE17CA63ABE2C6608BE159 - accept_new_contracts: - type: boolean - example: true - rate_per_mb_day: - type: integer - format: int64 - x-js-format: bigint - example: 50000000 - max_span: - type: integer - format: int64 - example: 604800 - minimal_file_size: - type: integer - format: int64 - example: 64 - maximal_file_size: - type: integer - format: int64 - example: 10485760 - FoundAccounts: - type: object - required: - - addresses - properties: - addresses: - type: array - items: - type: object - required: - - address - - name - - preview - properties: - address: - type: string - format: address - name: - type: string - example: "blah_blah.ton" - preview: - type: string - example: "https://cache.tonapi.io/images/media.jpg" - DnsExpiring: - type: object - required: - - items - properties: - items: - type: array - items: - type: object - required: - - expiring_at - - name - properties: - expiring_at: - type: integer - format: int64 - example: 1678275313 - name: - type: string - example: "blah_blah.ton" - dns_item: - $ref: '#/components/schemas/NftItem' - ChartPoints: - type: array - items: - - type: integer - format: int64 - description: Unix timestamp of the data point - - type: number - description: Decimal price of the token in the requested currency - additionalItems: false - example: [ 1668436763, 97.21323234 ] - AccountInfoByStateInit: - type: object - required: - - public_key - - address - properties: - public_key: - type: string - example: "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3..." - address: - type: string - format: address - example: "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b" - Seqno: - type: object - required: - - seqno - properties: - seqno: - type: integer - format: int32 - BlockRaw: - type: object - required: - - workchain - - shard - - seqno - - root_hash - - file_hash - properties: - workchain: - type: integer - example: 4294967295 - format: int32 - shard: - type: string - # x-js-format: bigint ?? - example: "800000000000000" - seqno: - type: integer - example: 30699640 - format: int32 - root_hash: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - file_hash: - type: string - example: A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB - InitStateRaw: - type: object - required: - - workchain - - root_hash - - file_hash - properties: - workchain: - type: integer - example: 4294967295 - format: int32 - root_hash: - type: string - example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - file_hash: - type: string - example: A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB - EncryptedComment: - type: object - required: - - encryption_type - - cipher_text - properties: - encryption_type: - type: string - example: "simple" - cipher_text: - type: string - example: "A6A0BD6608672B...CE3AF8DB" - BlockchainAccountInspect: - type: object - required: - - code - - code_hash - - methods - properties: - code: - type: string - format: cell - code_hash: - type: string - methods: - type: array - items: - type: object - required: - - id - - method - properties: - id: - type: integer - format: int64 - method: - type: string - example: "get_something" - compiler: - type: string - enum: - - func - PoolImplementationType: - type: string - enum: - - whales - - tf - - liquidTF - TokenRates: - type: object - properties: - prices: - type: object - additionalProperties: - type: number - example: - TON: 1.3710752873163712 - diff_24h: - type: object - additionalProperties: - type: string - example: - TON: "-1.28%" - diff_7d: - type: object - additionalProperties: - type: string - example: - TON: "-2.74%" - diff_30d: - type: object - additionalProperties: - type: string - example: - TON: "-0.56%" - MarketTonRates: - type: object - required: - - market - - usd_price - - last_date_update - properties: - market: - type: string - example: "OKX" - usd_price: - type: number - example: 5.20 - last_date_update: - type: integer - format: int64 - example: 1668436763 - - responses: - Error: - description: Some error during request processing - content: - application/json: - schema: - type: object - required: - - error - properties: - error: - type: string - error_code: - type: integer - format: int64 \ No newline at end of file