NANOGATE

Nano Gateway on the Internet Computer Protocol

Connect your IC canisters to the Nano network. Check account balances and process payments. Manage credits, query node stats, and use your own private node – ready to serve your smart contracts on the IC.

Beta

Getting Started

Get up and running in 5 minutes. Make your first Nano RPC call from the Internet Computer.

1

Install dfx

sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
# Restart terminal or: source ~/.bashrc
2

Create an Identity

dfx identity new YOUR_IDENTITY_NAME
dfx identity use YOUR_IDENTITY_NAME
dfx identity get-principal
3

Get Credits

During beta, choose one of the options below to get your first credits:

4

Make Your First Call

# Check Nano block count
dfx canister call 7jsss-6qaaa-aaaad-aegpq-cai send_simple_nano_request \
  '(record { action = "block_count"; node = null })' \
  --network ic

# Get account info for any Nano address
dfx canister call 7jsss-6qaaa-aaaad-aegpq-cai get_account_info_for_signing \
  '("nano_3rrfgsjs653mefzpf81sqcty13cg5aseoccem5sajwjb1crqkxmdksdkhe14", null)' \
  --network ic

Get Credits

Credits are used to pay for RPC calls. During beta, you can get credits through donations or request some via email to get started.

Donate Nano For Credits

Make a Nano donation (min 1 XNO, max 20 XNO) and receive credits instantly. Requires Proof-of-Work (computed in your browser).

Terminal flow (beta only): request_pow_challenge → generate Nano PoW → create_donation_with_pow → send min 1 XNO → verify_my_donation.
Each step must be completed within 5 minutes.

Request via Email

Send us your principal and we'll add some starter credits manually.

Response time: 24-48 hours

Send Email

Check Balance

Query your current credit balance via dfx.

# Check your credit balance
dfx canister call 7jsss-6qaaa-aaaad-aegpq-cai get_my_user_credits \
  --network ic

Learn how to call Nanogate from your own canister.

Canister Integration Guide →

Buy Us a Coffee – No Credits, Just Support

Boost the project with a Nano donation. Thanks for the good vibes!

nano_1gatexyacr8fa7gerjz78yunsjzuid9p8a566k4prxcu68fcw3h9oi7619zu

Use Your Own Node

And help decentralize the gateway by running it as a public node.

Private Node

Use your own private node and save credits on every request:

# Register your private node
dfx canister call 7jsss-6qaaa-aaaad-aegpq-cai register_private_node \
  '("https://your-node.com/rpc", opt "your-api-key")' --network ic

# Enable your private node for your Nano requests
dfx canister call 7jsss-6qaaa-aaaad-aegpq-cai set_force_node '(true)' \
  --network ic

# Your requests now use YOUR node (reduced credit cost)
dfx canister call 7jsss-6qaaa-aaaad-aegpq-cai get_account_info_for_signing \
  '("nano_1...")' --network ic

Prepare Your Node for ICP

ICP subnets consist of 13 to 40 replicas, each making requests simultaneously. The current subnet uses 13 replicas, and for now this is unlikely to change. Your node must:

  • Handle Idempotency-Key header - Return cached responses for duplicate requests
  • Respond as fast as possible - but no longer than a few seconds (ICP timeout is ~30s)
  • Return deterministic responses - More than 2/3 of replicas must receive identical data to reach consensus
  • Use HTTPS - ICP only makes HTTPS outcalls

Full Node Setup Guide →

Become a Public Node

Once your node is stable, contact us at info@nanogate.run to register it as a public node. Public nodes serve all NANOGATE users and earn credits instantly for every request they handle.

Note: The same URL cannot be used for both private and public nodes. Use different endpoints if you want to run both.

Future Plans

To further decentralize the gateway service on the Internet Computer, we plan to transition governance of NANOGATE to a DAO (Decentralized Autonomous Organization). Running a public gateway node is a great way to be involved in this process. We're also looking to collaborate with Nano services that have active user interaction.

For more information and updates, follow us on social media: X (Twitter) | Reddit