KiiChain
  • Learn
    • What is KiiChain?
    • KiiChain
      • Vision of KiiChain
      • The Problems We Solve
      • Use Cases
      • Roadmap
      • Whitepaper
      • Business Model
    • Tokenomics
      • Intro Coin Details
      • Coin Unlocking Schedule
      • Utility
      • Evergreen Model
    • Getting Started
      • Get a Wallet
      • Download a Mobile Wallet
      • Set Up a Web Wallet
      • Connect Wallet to Explorer App
  • BUILD ON KIICHAIN
    • Developer Hub
    • Testnet Oro
    • Endpoints - Cosmos
      • EVM
        • VM
        • ERC20
        • FeeMarket
      • IBC
      • Kiichain
        • TokenFactory
      • Cosmwasm
      • Cosmos
        • Auth
        • Authz
        • Bank
        • Tendermint
        • Consensus
        • Distribution
        • Evidence
        • Feegrant
        • Gov
        • Slashing
        • Staking
        • Tx
        • Upgrade
    • Developer Tools
      • RWA Protocol
      • Rust SDK
      • JS/TS SDK
        • Kiijs-evm
        • Kiijs-proto
      • Deploy a smart contract
      • Deploy a dApp
      • Testnet faucet
    • Smart Contracts
    • Modules
      • TokenFactory
      • EVM
  • Validate the Network
    • Getting Started
      • What is a delegator?
      • What is a validator?
    • Run a Validator / Full Node
      • Getting started
      • Step-by-Step Guide
        • Becoming a Validator
        • Recovering Legacy Addresses
      • Maintaining a validator
      • Incentive
      • Technical requirements
      • Validator Security
    • Economics
      • Staking Requirements
      • Delegation / Staking
      • Rewards
      • Block Rewards Formula
      • APR
    • Delegator Information
      • Choosing a validator
      • Directives of delegators
      • Incentive to stake
      • Security considerations
      • Risks to consider
  • KII AMBASSADORS
    • What does it mean to be a KiiAmbassador?
    • Your Core Responsibilities
    • Participation Perks
    • Points System & Performance
    • How to lose the Role
    • Evaluation Process
  • KIIEX
    • Set Up KIIEX Account
      • Contact OTC Desk
    • Connect to KIIEX APIs
      • Introduction
        • New endpoints
        • Revised calls
        • Behavior Changes
        • Revised Calls 3.5.0
      • Background Information
        • Message Frame
        • Standard Response Objects and Common Error Codes
        • Modules
        • Users, Accounts, and Permissions
        • Products and Instruments
        • Quotes and Orders
        • Timeโ€“ and Date-Stamp Formats
        • The Trading Day
      • Users
        • Activate2FA
        • AddUserAffiliateTag
        • Authenticate2FA
        • AuthenticateUser
        • CancelUserReport
        • GetAllUnredactedUserConfigsForUser
        • GetL2Snapshot
        • GetLevel1
        • GetUnredactedUserConfigByKey
        • GetUserAccountInfos
        • GetUserAccounts
        • GetUserAffiliateCount
        • GetUserAfilliateTag
        • GetUserConfig
        • GetUserDevices
        • GetUserReportTickets
        • GetUserReportWriterResultRecords
        • GetValidate2FARequiredEndpoints
        • LogOut
        • RegisterNewDevice
        • SubscribeAccountEvents
        • SubscribeBlockTrades
        • SuscribeLevel1
        • SubscribeLevel2
        • SubscribeTicker
        • SubscribeTrades
        • UnsuscribeBlockTrades
        • UnsubscribeLevel1
        • UnsubscribeLevel2
        • UnsubscribeTicket
        • UnsuscribeTrades
        • UpdateUserAffiliateTag
        • Validate2FA
      • Accounts
        • GetAccountInfo
        • GenerateTransactionActivityReport
        • GenerateTradeActivityReport
        • GenerateTreasuryActivityReport
        • GetAllAccountConfigs
        • GetAccountPositions
        • GetTreasuryProductsForAccount
        • ScheduleTradeActivityReport
      • Trades
        • GetAccountTrades
        • GetAccountTransactions
        • GetAllOpenTradeReports
        • GetOpenTradeReports
        • GetTickerHistory
        • GetTradesHistory
      • OMS Orders
        • CancelAllOrders
        • CancelOrder
        • CancelQuote
        • CancelReplaceOrder
        • CreateQuote
        • GetOMSFeeTiers
        • GetOpenOrders
        • GetOpenQuotes
        • GetOrderFee
        • GetOrderHistory
        • GetOrderHistoryByOrderId
        • GetOrdersHistory
        • GetOrderStatus
        • ModifyOrder
        • SendOrder
        • SubmitBlockTrade
        • UpdateQuote
      • Products
        • GetProduct
        • GetProducts
      • Instruments
        • GetInstrument
        • GetInstruments
      • Tickets
        • CreateDepositTicket
        • CancelWithdraw
        • CreateWithdrawTicket
        • Deposit withdraw template
        • GetAccountDepositTransactions
        • GetAccountWithdrawTransactions
        • GetAllDepositRequestInfoTemplates
        • GetDeposits
        • GetDepositInfo
        • GetDepositTicket
        • GetDepositRequestInfoTemplate
        • GetOMSWithdrawFees
        • GetStandardTemplateExample
        • GetTetherRPCWithdrawTemplateExample
        • GetWithdrawFee
        • GetWithdraws
        • GetWithdrawTemplate
        • GetWithdrawTemplateTypes
        • GetWithdrawTicket
        • GetWithdrawTickets
        • SubmitDepositTicketComment
        • SubmitWithdrawTicketComment
      • Misc
        • Ping
Powered by GitBook
LogoLogo
On this page
Export as PDF
  1. BUILD ON KIICHAIN
  2. Endpoints - Cosmos
  3. EVM

VM

PreviousEVMNextERC20

Last updated 28 days ago

Params queries the parameters of x/vm module.

get
Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/params HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "params": {
    "evm_denom": "text",
    "extra_eips": [
      "text"
    ],
    "chain_config": {
      "homestead_block": "text",
      "dao_fork_block": "text",
      "dao_fork_support": true,
      "eip150_block": "text",
      "eip150_hash": "text",
      "eip155_block": "text",
      "eip158_block": "text",
      "byzantium_block": "text",
      "constantinople_block": "text",
      "petersburg_block": "text",
      "istanbul_block": "text",
      "muir_glacier_block": "text",
      "berlin_block": "text",
      "london_block": "text",
      "arrow_glacier_block": "text",
      "gray_glacier_block": "text",
      "merge_netsplit_block": "text",
      "shanghai_block": "text",
      "cancun_block": "text",
      "chain_id": "text",
      "denom": "text",
      "decimals": "text"
    },
    "allow_unprotected_txs": true,
    "evm_channels": [
      "text"
    ],
    "access_control": {
      "create": {
        "access_type": "ACCESS_TYPE_PERMISSIONLESS",
        "access_control_list": [
          "text"
        ]
      },
      "call": {
        "access_type": "ACCESS_TYPE_PERMISSIONLESS",
        "access_control_list": [
          "text"
        ]
      }
    },
    "active_static_precompiles": [
      "text"
    ]
  }
}

Account queries an Ethereum account.

get
Path parameters
addressanyRequired

address is the ethereum hex address to query the account for.

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/account/{address} HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "balance": "text",
  "code_hash": "text",
  "nonce": "text"
}

Balance queries the balance of a the EVM denomination for a single account.

get
Path parameters
addressanyRequired

address is the ethereum hex address to query the balance for.

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/balances/{address} HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "balance": "text"
}

BaseFee queries the base fee of the parent block of the current block, it's similar to feemarket module's method, but also checks london hardfork status.

get
Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/base_fee HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "base_fee": "text"
}

Code queries the balance of all coins for a single account.

get
Path parameters
addressanyRequired

address is the ethereum hex address to query the code for.

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/codes/{address} HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "code": "Ynl0ZXM="
}

Config queries the EVM configuration

get
Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/config HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "config": {
    "homestead_block": "text",
    "dao_fork_block": "text",
    "dao_fork_support": true,
    "eip150_block": "text",
    "eip150_hash": "text",
    "eip155_block": "text",
    "eip158_block": "text",
    "byzantium_block": "text",
    "constantinople_block": "text",
    "petersburg_block": "text",
    "istanbul_block": "text",
    "muir_glacier_block": "text",
    "berlin_block": "text",
    "london_block": "text",
    "arrow_glacier_block": "text",
    "gray_glacier_block": "text",
    "merge_netsplit_block": "text",
    "shanghai_block": "text",
    "cancun_block": "text",
    "chain_id": "text",
    "denom": "text",
    "decimals": "text"
  }
}

CosmosAccount queries an Ethereum account's Cosmos Address.

get
Path parameters
addressanyRequired

address is the ethereum hex address to query the account for.

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/cosmos_account/{address} HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "cosmos_address": "text",
  "sequence": "text",
  "account_number": "text"
}

EstimateGas implements the `eth_estimateGas` rpc api

get
Query parameters
argsanyOptional

args uses the same json format as the json rpc api.

gas_capanyOptional

gas_cap defines the default gas cap to be used.

proposer_addressanyOptional

proposer_address of the requested block in hex format.

chain_idanyOptional

chain_id is the eip155 chain id parsed from the requested block header.

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/estimate_gas HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "gas": "text",
  "ret": "Ynl0ZXM=",
  "vm_error": "text"
}

EthCall implements the `eth_call` rpc api

get
Query parameters
argsanyOptional

args uses the same json format as the json rpc api.

gas_capanyOptional

gas_cap defines the default gas cap to be used.

proposer_addressanyOptional

proposer_address of the requested block in hex format.

chain_idanyOptional

chain_id is the eip155 chain id parsed from the requested block header.

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/eth_call HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "hash": "text",
  "logs": [
    {
      "address": "text",
      "topics": [
        "text"
      ],
      "data": "Ynl0ZXM=",
      "block_number": "text",
      "tx_hash": "text",
      "tx_index": "text",
      "block_hash": "text",
      "index": "text",
      "removed": true
    }
  ],
  "ret": "Ynl0ZXM=",
  "vm_error": "text",
  "gas_used": "text"
}

GlobalMinGasPrice queries the MinGasPrice it's similar to feemarket module's method, but makes the conversion to 18 decimals when the evm denom is represented with a different precision.

get
Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/min_gas_price HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "min_gas_price": "text"
}

Storage queries the balance of all coins for a single account.

get
Path parameters
addressanyRequired

address is the ethereum hex address to query the storage state for.

keyanyRequired

key defines the key of the storage state

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/storage/{address}/{key} HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "value": "text"
}

TraceBlock implements the `debug_traceBlockByNumber` and `debug_traceBlockByHash` rpc api

get
Query parameters
trace_config.traceranyOptional

tracer is a custom javascript tracer.

trace_config.timeoutanyOptional

timeout overrides the default timeout of 5 seconds for JavaScript-based tracing calls.

trace_config.reexecanyOptional

reexec defines the number of blocks the tracer is willing to go back.

trace_config.disable_stackanyOptional

disable_stack switches stack capture.

trace_config.disable_storageanyOptional

disable_storage switches storage capture.

trace_config.debuganyOptional

debug can be used to print output during capture end.

trace_config.limitanyOptional

limit defines the maximum length of output, but zero means unlimited.

trace_config.overrides.homestead_blockanyOptional

homestead_block switch (nil no fork, 0 = already homestead).

trace_config.overrides.dao_fork_blockanyOptional

dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork).

trace_config.overrides.dao_fork_supportanyOptional

dao_fork_support defines whether the nodes supports or opposes the DAO hard-fork.

trace_config.overrides.eip150_blockanyOptional

eip150_block: EIP150 implements the Gas price changes (https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork).

trace_config.overrides.eip150_hashanyOptional

eip150_hash: EIP150 HF hash (needed for header only clients as only gas pricing changed).

trace_config.overrides.eip155_blockanyOptional

eip155_block: EIP155Block HF block.

trace_config.overrides.eip158_blockanyOptional

eip158_block: EIP158 HF block.

trace_config.overrides.byzantium_blockanyOptional

byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium).

trace_config.overrides.constantinople_blockanyOptional

constantinople_block: Constantinople switch block (nil no fork, 0 = already activated).

trace_config.overrides.petersburg_blockanyOptional

petersburg_block: Petersburg switch block (nil same as Constantinople).

trace_config.overrides.istanbul_blockanyOptional

istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul).

trace_config.overrides.muir_glacier_blockanyOptional

muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated).

trace_config.overrides.berlin_blockanyOptional

berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin).

trace_config.overrides.london_blockanyOptional

london_block: London switch block (nil = no fork, 0 = already on london).

trace_config.overrides.arrow_glacier_blockanyOptional

arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated).

trace_config.overrides.gray_glacier_blockanyOptional

gray_glacier_block: EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already activated).

trace_config.overrides.merge_netsplit_blockanyOptional

merge_netsplit_block: Virtual fork after The Merge to use as a network splitter.

trace_config.overrides.shanghai_blockanyOptional

shanghai_block switch block (nil = no fork, 0 = already on shanghai).

trace_config.overrides.cancun_blockanyOptional

cancun_block switch block (nil = no fork, 0 = already on cancun).

trace_config.overrides.chain_idanyOptional

chain_id is the id of the chain (EIP-155).

trace_config.overrides.denomanyOptional

denom is the denomination used on the EVM.

trace_config.overrides.decimalsanyOptional

decimals is the real decimal precision of the denomination used on the EVM.

trace_config.enable_memoryanyOptional

enable_memory switches memory capture.

trace_config.enable_return_dataanyOptional

enable_return_data switches the capture of return data.

trace_config.tracer_json_configanyOptional

tracer_json_config configures the tracer using a JSON string.

block_numberanyOptional

block_number of the traced block.

block_hashanyOptional

block_hash (hex) of the traced block.

block_timeanyOptional

block_time of the traced block.

proposer_addressanyOptional

proposer_address is the address of the requested block.

chain_idanyOptional

chain_id is the eip155 chain id parsed from the requested block header.

block_max_gasanyOptional

block_max_gas of the traced block.

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/trace_block HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "data": "Ynl0ZXM="
}

TraceTx implements the `debug_traceTransaction` rpc api

get
Query parameters
msg.data.type_urlanyOptional

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading "." is not accepted).

In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:

  • If no scheme is provided, https is assumed.
  • An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error.
  • Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)

Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.

Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

msg.data.valueanyOptional

Must be a valid serialized protocol buffer of the above specified type.

msg.sizeanyOptional

size is the encoded storage size of the transaction (DEPRECATED).

msg.hashanyOptional

hash of the transaction in hex format.

msg.fromanyOptional

from is the ethereum signer address in hex format. This address value is checked against the address derived from the signature (V, R, S) using the secp256k1 elliptic curve.

trace_config.traceranyOptional

tracer is a custom javascript tracer.

trace_config.timeoutanyOptional

timeout overrides the default timeout of 5 seconds for JavaScript-based tracing calls.

trace_config.reexecanyOptional

reexec defines the number of blocks the tracer is willing to go back.

trace_config.disable_stackanyOptional

disable_stack switches stack capture.

trace_config.disable_storageanyOptional

disable_storage switches storage capture.

trace_config.debuganyOptional

debug can be used to print output during capture end.

trace_config.limitanyOptional

limit defines the maximum length of output, but zero means unlimited.

trace_config.overrides.homestead_blockanyOptional

homestead_block switch (nil no fork, 0 = already homestead).

trace_config.overrides.dao_fork_blockanyOptional

dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork).

trace_config.overrides.dao_fork_supportanyOptional

dao_fork_support defines whether the nodes supports or opposes the DAO hard-fork.

trace_config.overrides.eip150_blockanyOptional

eip150_block: EIP150 implements the Gas price changes (https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork).

trace_config.overrides.eip150_hashanyOptional

eip150_hash: EIP150 HF hash (needed for header only clients as only gas pricing changed).

trace_config.overrides.eip155_blockanyOptional

eip155_block: EIP155Block HF block.

trace_config.overrides.eip158_blockanyOptional

eip158_block: EIP158 HF block.

trace_config.overrides.byzantium_blockanyOptional

byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium).

trace_config.overrides.constantinople_blockanyOptional

constantinople_block: Constantinople switch block (nil no fork, 0 = already activated).

trace_config.overrides.petersburg_blockanyOptional

petersburg_block: Petersburg switch block (nil same as Constantinople).

trace_config.overrides.istanbul_blockanyOptional

istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul).

trace_config.overrides.muir_glacier_blockanyOptional

muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated).

trace_config.overrides.berlin_blockanyOptional

berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin).

trace_config.overrides.london_blockanyOptional

london_block: London switch block (nil = no fork, 0 = already on london).

trace_config.overrides.arrow_glacier_blockanyOptional

arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated).

trace_config.overrides.gray_glacier_blockanyOptional

gray_glacier_block: EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already activated).

trace_config.overrides.merge_netsplit_blockanyOptional

merge_netsplit_block: Virtual fork after The Merge to use as a network splitter.

trace_config.overrides.shanghai_blockanyOptional

shanghai_block switch block (nil = no fork, 0 = already on shanghai).

trace_config.overrides.cancun_blockanyOptional

cancun_block switch block (nil = no fork, 0 = already on cancun).

trace_config.overrides.chain_idanyOptional

chain_id is the id of the chain (EIP-155).

trace_config.overrides.denomanyOptional

denom is the denomination used on the EVM.

trace_config.overrides.decimalsanyOptional

decimals is the real decimal precision of the denomination used on the EVM.

trace_config.enable_memoryanyOptional

enable_memory switches memory capture.

trace_config.enable_return_dataanyOptional

enable_return_data switches the capture of return data.

trace_config.tracer_json_configanyOptional

tracer_json_config configures the tracer using a JSON string.

block_numberanyOptional

block_number of requested transaction.

block_hashanyOptional

block_hash of requested transaction.

block_timeanyOptional

block_time of requested transaction.

proposer_addressanyOptional

proposer_address is the proposer of the requested block.

chain_idanyOptional

chain_id is the eip155 chain id parsed from the requested block header.

block_max_gasanyOptional

block_max_gas of the block of the requested transaction.

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/trace_tx HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "data": "Ynl0ZXM="
}

ValidatorAccount queries an Ethereum account's from a validator consensus Address.

get
Path parameters
cons_addressanyRequired

cons_address is the validator cons address to query the account for.

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /cosmos/evm/vm/v1/validator_account/{cons_address} HTTP/1.1
Host: lcd.uno.sentry.testnet.v3.kiivalidator.com
Accept: */*
{
  "account_address": "text",
  "sequence": "text",
  "account_number": "text"
}
  • GETParams queries the parameters of x/vm module.
  • GETAccount queries an Ethereum account.
  • GETBalance queries the balance of a the EVM denomination for a single account.
  • GETBaseFee queries the base fee of the parent block of the current block, it's similar to feemarket module's method, but also checks london hardfork status.
  • GETCode queries the balance of all coins for a single account.
  • GETConfig queries the EVM configuration
  • GETCosmosAccount queries an Ethereum account's Cosmos Address.
  • GETEstimateGas implements the `eth_estimateGas` rpc api
  • GETEthCall implements the `eth_call` rpc api
  • GETGlobalMinGasPrice queries the MinGasPrice it's similar to feemarket module's method, but makes the conversion to 18 decimals when the evm denom is represented with a different precision.
  • GETStorage queries the balance of all coins for a single account.
  • GETTraceBlock implements the `debug_traceBlockByNumber` and `debug_traceBlockByHash` rpc api
  • GETTraceTx implements the `debug_traceTransaction` rpc api
  • GETValidatorAccount queries an Ethereum account's from a validator consensus Address.