Skip to main content

NEAR CLI

The NEAR Command Line Interface (CLI) is a tool that enables to interact with the NEAR network directly from the shell. Among other things, the NEAR CLI enables you to:

  • Create a new NEAR account
  • Query information about an account
  • Send Tokens such as NEAR, FTs, and NFTs
  • Create, Add and Delete Account Keys
  • Deploy a contract
  • Call functions on a deployed contract

Installation​

npm install -g near-cli-rs@latest

Configuration file​

The directory with access keys and available connection networks are defined in the configuration file (near-cli/config.toml), which is located depending on the operating system in the following places:

  • macOS: $HOME/Library/Application Support (e.g. /Users/Alice/Library/Application Support)
  • Linux: $XDG_CONFIG_HOME or $HOME/.config (e.g. /home/alice/.config)
  • Windows: {FOLDERID*RoamingAppData} (e.g. C:\Users\Alice\AppData\Roaming)

You can learn more about working with the configuration file here.

Custom RPC

You can setup a custom RPC server by changing the rpc_url parameter in near-cli settings:

near config edit-connection testnet --key rpc_url --value https://archival-rpc.testnet.near.org/

Interactive mode​

To use the near-cli simply run the following in your terminal.

$ near

You should then see the following. Use the arrow keys and hit enter or simply type out one of the available options to select an option

important

We provide examples only of the most used commands. Such commands may have two versions - a full one and a short one. If you want to explore all options provided by near-cli use the interactive mode described above.


Account​

This option will allow you to manage, control, and retrieve information on your accounts.

Summary​

view-account-summary - view properties for an account.

export ACCOUNT_ID=bob.testnet
near account view-account-summary $ACCOUNT_ID network-config testnet now

Import​

import-account - import existing account (a.k.a. "sign in").

near account import-account using-web-wallet network-config testnet

Export​

export-account - export existing account.

export ACCOUNT_ID=bob.testnet
near account export-account $ACCOUNT_ID using-web-wallet network-config testnet

Create​

create-account - create a new account.

export ACCOUNT_ID=bob.testnet
near account create-account sponsor-by-faucet-service $ACCOUNT_ID autogenerate-new-keypair save-to-keychain network-config testnet create

Delete​

delete-account - delete an account.

export ACCOUNT_ID=bob.testnet
export BENEFICIARY_ID=alice.testnet

near account delete-account $ACCOUNT_ID beneficiary $BENEFICIARY_ID network-config testnet sign-with-keychain send

Keys​

Showing, adding and removing account keys.

List keys​

list-keys - view a list of keys for an account.

export ACCOUNT_ID=bob.testnet
near account list-keys $ACCOUNT_ID network-config testnet now

Add key​

add-key - add an access key to an account.

export ACCOUNT_ID=bob.testnet
near account add-key $ACCOUNT_ID grant-full-access use-manually-provided-public-key ed25519:CXqAs8c8kZz81josLw82RQsnZXk8CAdUo7jAuN7uSht2 network-config testnet sign-with-keychain send

Delete key​

delete-keys - delete an access key from an account.

export ACCOUNT_ID=bob.testnet
near account delete-keys $ACCOUNT_ID public-keys ed25519:HdkFZFEPoWfgrrLK3R4t5dWtNoLC8WymBzhCXoP3zrjh network-config testnet sign-with-keychain send

Tokens​

This will allow you to manage your token assets such as NEAR, FTs and NFTs.

Send NEAR​

send-near - transfers NEAR to a specified recipient in units of NEAR or yoctoNEAR.

export ACCOUNT_ID=bob.testnet
export RECEIVER_ID=alice.testnet
near tokens $ACCOUNT_ID send-near $RECEIVER_ID '0.5 NEAR' network-config testnet sign-with-keychain send

Send FT​

send-ft - transfer Fungible Tokens to a specified user.

export ACCOUNT_ID=bob.testnet
export RECEIVER_ID=alice.testnet
export FT_CONTRACT_ID=0c97251cd1f630c444dbusdt.testnet

near tokens $ACCOUNT_ID send-ft $FT_CONTRACT_ID $RECEIVER_ID amount-ft '1 USDT' prepaid-gas '100.0 Tgas' attached-deposit '1 yoctoNEAR' network-config testnet sign-with-keychain send

Send NFT​

send-nft - transfers NFTs between accounts.

export ACCOUNT_ID=bob.testnet
export RECEIVER_ID=alice.testnet
export NFT_CONTRACT_ID=nft.examples.testnet

near tokens $ACCOUNT_ID send-nft $NFT_CONTRACT_ID $RECEIVER_ID 1 --prepaid-gas '100.0 Tgas' --attached-deposit '1 yoctoNEAR' network-config testnet sign-with-keychain send

View NEAR balance​

view-near-balance - view the balance of NEAR tokens.

export ACCOUNT_ID=bob.testnet
near tokens $ACCOUNT_ID view-near-balance network-config testnet now

View FT balance​

view-ft-balance - view the balance of Fungible Tokens.

export ACCOUNT_ID=bob.testnet
export FT_CONTRACT_ID=0c97251cd1f630c444dbusdt.testnet
near tokens $ACCOUNT_ID view-ft-balance $FT_CONTRACT_ID network-config testnet now

View NFT balance​

view-nft-assets - view the balance of NFT tokens.

export ACCOUNT_ID=bob.testnet
export NFT_CONTRACT_ID=nft.examples.testnet
near tokens $ACCOUNT_ID view-nft-assets $NFT_CONTRACT_ID network-config testnet now

Contract​

This option allows you to manage and interact with your smart contracts.

Call​

call-function - execute function (contract method).

# View method
export CONTRACT_ID=nft.examples.testnet
near contract call-function as-read-only $CONTRACT_ID nft_tokens json-args '{"from_index": "0", "limit": 2}' network-config testnet now

# Call method
export ACCOUNT_ID=bob.testnet
near contract call-function as-transaction $CONTRACT_ID nft_mint json-args '{"metadata": {"copies": 1, "description": "The Team Goes", "media": "https://bafybeidl4hjbpdr6u6xvlrizwxbrfcyqurzvcnn5xoilmcqbxfbdwrmp5m.ipfs.dweb.link/", "title": "GO TEAM"}, "receiver_id": "bob.testnet", "token_id": "5895"}' prepaid-gas '100.0 Tgas' attached-deposit '0.1 NEAR' sign-as $ACCOUNT_ID network-config testnet sign-with-keychain send

Deploy​

deploy - add a new contract code.

export CONTRACT_ID=contract.testnet
near contract deploy $CONTRACT_ID use-file ../target/near/contract.wasm without-init-call network-config testnet sign-with-keychain send

Inspect​

inspect - get a list of available function names.

export CONTRACT_ID=nft.examples.testnet
near contract view-storage $CONTRACT_ID all as-text network-config testnet now

Transaction​

Operate transactions.

View status​

view-status - view a transaction status.

near transaction view-status BFrVVtjqD2p1zYX1UCvn4nJpy7zPHpY5cTgQaKCZjBvw network-config testnet

Config​

Manage the connection parameters inside the config.toml file for near-cli.

This will allow you to change or modify the network connections for your CLI.

Show connections​

show-connections - show a list of network connections.

near config show-connections

Edit connection​

edit-connection - edit a network connection.

near config edit-connection testnet --key rpc_url --value https://test.rpc.fastnear.com

important

We provide examples only of the most used commands. If you want to explore all options provided by near-cli use the interactive mode.


Validators​

You can use the following commands to interact with the blockchain and view validator stats. There are three reports used to monitor validator status:

tip

To use these commands, you must install the CLI validator extension.

Validator Extension​

If you want to interact with NEAR Validators from command line, you can install the NEAR Validator CLI Extension:

npm install -g near-validator

Proposals​

A proposal by a validator indicates they would like to enter the validator set, in order for a proposal to be accepted it must meet the minimum seat price.

near-validator proposals network-config mainnet

Current Validators​

This shows a list of active validators in the current epoch, the number of blocks produced, number of blocks expected, and online rate. Used to monitor if a validator is having issues.

near-validator validators network-config mainnet now

Next Validators​

This shows validators whose proposal was accepted one epoch ago, and that will enter the validator set in the next epoch.

near-validator validators network-config mainnet next

Staking​

For validators, there's also an option to stake NEAR tokens without deploying a staking pool smart contract.

View validator stake​

To view the validator's stake on the last block, you need to enter in the terminal command line:

near-validator staking view-stake examples.testnet network-config testnet now

Stake directly without a staking pool​

To stake the amount you must enter in the terminal command line:

near-validator staking stake-proposal examples.testnet ed25519:AiEo5xepXjY7ChihZJ6AsfoDAaUowhPgvQp997qnFuRP '1500 NEAR' network-config testnet sign-with-keychain send

Unstake directly without a staking pool​

To unstake you must enter in the terminal command line:

near-validator staking unstake-proposal examples.testnet ed25519:AiEo5xepXjY7ChihZJ6AsfoDAaUowhPgvQp997qnFuRP network-config testnet sign-with-keychain send
Was this page helpful?