Weekly Docs Report

docs.sui.io Analytics

2026-04-14 to 2026-04-20 · Plausible + Kapa · Run 20260421T160137Z

Executive Summary

Kapa Questions
480
Themes Identified
12
Unique Visitors (7d)
4,152
Down roughly 56% compared to the prior 7-day cohort implied by the 14-day total of 9,448, suggesting the Apr 14–20 week was slightly below the preceding week (~5,296 visitors).
Pageviews (7d)
12,326
Consistent with a 2.64 views/visit ratio; the 14-day total of 27,678 implies the prior week had ~15,352 pageviews, so this week is softer but within normal range.
Bounce Rate (7d)
62%
Slightly better than the 14-day (65%) and 30-day (65%) averages, indicating marginally higher engagement this week.
Views Per Visit (7d)
2.64
Slightly higher than the 14-day (2.60) and 30-day (2.56) figures, suggesting visitors are browsing a bit more deeply this week.
Avg Visit Duration (7d)
157 seconds
Below the 14-day average of 168s and 30-day of 160s, indicating sessions are slightly shorter this week despite better depth metrics.
Peak Day
April 20 – 708 visitors / 2,292 pageviews
Monday April 20 was the strongest day of the week, rebounding sharply from the weekend low and suggesting a weekday-heavy audience.
Weekend Dip
448–472 visitors (Apr 18–19)
Saturday and Sunday saw 33–36% fewer visitors than the weekday average, confirming a developer/professional audience with weekday-centric usage patterns.
Onboarding and API migration dominate developer attention this week, with PTB construction and gRPC/GraphQL migration generating the highest question volumes and the most bot uncertainty. Duplicate URL fragmentation in onboarding paths and a high uncertain-answer rate on NFT/Kiosk topics are the most actionable gaps identified.

Traffic Overview

docs.sui.io recorded 4,152 unique visitors and 12,326 pageviews over the 7-day period April 14–20, 2026. Engagement is moderate with a 62% bounce rate, 2.64 views per visit, and an average visit duration of 157 seconds. Traffic is driven primarily by direct visits and Google search, with onboarding and getting-started content dominating page views. The final day (April 20) was the strongest of the week with 708 visitors and 2,292 pageviews, while the weekend (April 18–19) saw the expected dip.

Weekday vs. Weekend Traffic Split

Weekday visitors (Mon–Fri) average ~640/day while weekend days (Sat–Sun) drop to ~460/day — a ~28% weekend decline confirming a developer-centric audience. Monday April 20 spiked to 708 visitors, the week's highest, suggesting post-weekend catch-up behavior.

Onboarding Funnel Dominance

The top 10 pages are overwhelmingly onboarding and getting-started content (/getting-started/onboarding, /sui-install, /get-coins, /configure-sui-client, /get-address), indicating new developer acquisition is the primary use case driving traffic rather than reference lookups.

Duplicate URL Fragmentation in Onboarding

Multiple near-duplicate paths exist for key content (e.g., /getting-started/onboarding/sui-install with 363 visitors vs. /guides/developer/getting-started/sui-install with 143 visitors). Consolidating these via redirects could concentrate SEO value and simplify analytics.

AI Chatbot Referrals Emerging

ChatGPT (25 visitors), Claude (8 visitors), and Perplexity (1 visitor) together account for 34 referral visitors this week. Claude sessions average 541s — the longest of any source — suggesting AI agents are sending highly motivated users. This channel will likely grow.

DeepBook Ecosystem Engagement

Both deepbook.tech (94 referral visitors) and /onchain-finance/deepbookv3/deepbook (107 page visitors, 20% bounce) show strong engagement, suggesting the DeepBook DeFi protocol community is an active and growing segment of Sui docs users.

Bounce Rate Improvement This Week

The 7-day bounce rate of 62% is meaningfully better than the 14-day (65%) and 30-day (65%) averages, indicating either higher-quality traffic this week or improved content relevance. The /getting-started/onboarding hub page with a 9% bounce rate is a standout performer.

gRPC Content Gaining Traction

Two gRPC-related pages appear in top traffic: /develop/accessing-data/grpc (56 visitors, highest scroll depth at 73) and /develop/accessing-data/grpc/using-grpc (24 visitors). Combined with /concepts/data-access/grpc (51 visitors), gRPC documentation is drawing consistent specialized interest.

Top 20 Pages

# Page Insight
1 / Homepage led with 1,121 visitors and 1,459 pageviews, low bounce rate (23%) and solid scroll depth (69), acting as a primary entry and navigation hub.
2 /getting-started/onboarding/sui-install 363 visitors, 476 pageviews — the top content page, confirming install instructions are the most sought-after practical resource.
3 /sui-api-ref 136 visitors but 260 pageviews with a 37% bounce rate and 58s scroll depth, indicating developers reference this page repeatedly in a session.
4 /guides/developer/getting-started/sui-install 143 visitors — the legacy install guide still draws significant traffic alongside the newer onboarding path, suggesting URL migration is incomplete.
5 /getting-started/onboarding/get-coins 132 visitors with a 42% bounce rate; second onboarding step after install, showing good funnel continuation from the install page.
6 /getting-started/onboarding 157 visitors with only a 9% bounce rate — extremely low bounce suggests this is a strong navigation/hub page that guides users deeper into onboarding.
7 /getting-started/onboarding/hello-world 118 visitors, 68% bounce rate — high bounce may indicate users land here from search and leave after reading without exploring further.
8 /getting-started/tooling 100 visitors, low bounce (25%), only 33s scroll depth — users skim tooling options quickly before navigating elsewhere.
9 /references/fullnode-protocol 89 visitors, 22% bounce rate and 25s scroll depth — operators and node runners referencing protocol specs; low bounce shows high intent.
10 /getting-started 109 visitors, very low bounce (10%) — functions as a strong entry funnel page, routing users into deeper content effectively.
11 /onchain-finance/deepbookv3/deepbook 107 visitors, 20% bounce rate — DeepBook docs attract engaged DeFi developers; low bounce indicates strong content relevance.
12 /references/sui-api 108 visitors, 20% bounce rate — API reference draws return visits from developers integrating with Sui; complements the sui-api-ref page.
13 /develop/sui-architecture/tokenomics-overview 112 visitors, 50% bounce rate — tokenomics content attracts a broad audience including non-developers; higher bounce is expected.
14 /getting-started/onboarding/configure-sui-client 82 visitors, 19% bounce rate and 66s scroll depth — third onboarding step with very engaged readers, strong funnel health.
15 /getting-started/onboarding/ 73 visitors — likely a trailing-slash variant of the onboarding index; de-duplicating with /getting-started/onboarding would consolidate ~230 visitors.
16 /guides 82 visitors, very low bounce (17%) and 49s scroll depth — acts as a guides index; users engage and navigate further from here.
17 /develop/write-move/sui-move-concepts 91 visitors, 44% bounce rate — Move language concepts attract developers learning Sui; moderate bounce suggests mixed intent levels.
18 /getting-started/onboarding/get-address 64 visitors, 24% bounce rate and 56s scroll depth — onboarding funnel step with good engagement; users are following the guided path.
19 /develop/sui-architecture/ 72 visitors, 18% bounce rate — architecture overview is a low-bounce navigation page leading into deeper architecture content.
20 /develop/accessing-data/grpc 56 visitors, 54% bounce rate but highest scroll depth of top pages at 73s — gRPC content is niche but deeply read by those who land on it.

Referral Sources

Source Type Insight
Direct / None Organic 1,955 visitors (47% of sourced traffic) arrived directly, reflecting a strong returning developer base bookmarking or typing the URL.
Google Organic 1,125 visitors with 55% bounce rate and 214s avg duration — organic search brings high-quality, engaged traffic with above-average session length.
sui.io Organic 485 visitors referred from the main Sui website; 47% bounce rate and 145s duration indicate moderate engagement from this internal funnel.
Bing Organic 208 visitors with an 80% bounce rate — Bing traffic has notably higher bounce than Google, suggesting lower search intent match or different audience demographics.
deepbook.tech Organic 94 visitors with 46% bounce and 197s duration — DeepBook users referencing docs show high engagement, consistent with the strong DeepBook page performance.
docs.sui.io Organic 78 self-referrals with 54% bounce and 362s duration — internal cross-links drive deep sessions; high duration suggests users following documentation trails.
blog.sui.io Organic 42 visitors; the top blog referrer is the Move Registry Interoperability post (30 visitors), indicating blog content actively drives doc exploration.
GitHub Organic 32 visitors from GitHub with 50% bounce rate — developers linking from repos or issues; moderate engagement expected for this audience.
Baidu Organic 28 visitors with 93% bounce rate and 0s duration — Baidu traffic shows near-zero engagement, likely bots or highly mismatched search results.
chatgpt.com AI / Chatbot 25 visitors referred by ChatGPT — AI-assisted discovery is emerging as a real traffic channel, with 67% bounce and 43s duration indicating moderate intent.
DuckDuckGo Organic 20 visitors with 60% bounce — privacy-focused search users show mid-range engagement, similar to Bing but with smaller volume.
suiplay.sui.io Organic 18 visitors from SuiPlay — gaming ecosystem users exploring developer docs; 55% bounce and 152s duration show reasonable engagement.
Twitter Organic 17 visitors with 68% bounce and 158s duration — social traffic is low volume but moderate engagement; Twitter/X drives some awareness-stage visits.
Facebook Organic 16 visitors, 50% bounce and 132s duration — Facebook referrals are minimal but show comparable engagement to Twitter traffic.
evefrontier.com Organic 11 visitors from the Eve Frontier game — an indicator of gaming developers using Sui docs; 64% bounce but 44s duration is reasonable.
luma Organic 10 visitors with 33% bounce and 460s duration — event platform referrals (likely a Sui workshop/hackathon) produce very long, highly engaged sessions.
claude.ai AI / Chatbot 8 visitors from Claude with 54% bounce and 541s duration — the highest session duration of any source; AI agent users deeply read documentation when referred.
Yahoo! Organic 8 visitors with 75% bounce and near-zero duration — Yahoo traffic shows very low quality engagement, similar to Baidu.
okg-block.sg.larksuite.com Organic 7 visitors from a Lark/Feishu workspace — likely a Chinese-market Web3 team sharing Sui docs internally; 71% bounce but notable as a B2B signal.
perplexity.ai AI / Chatbot 1 visitor from Perplexity AI — minimal volume but confirms multi-AI-platform referral pattern; AI search engines are beginning to surface Sui docs.

chatgpt.com

25 visitors with 67% bounce and 43s avg duration; AI-assisted discovery is an emerging real channel.

claude.ai

8 visitors with 541s avg duration — highest session length of any source, indicating deep reading intent.

perplexity.ai

1 visitor; minimal volume but confirms multi-AI-platform referral pattern is forming.

Top 10 Referrer URLs

Exact referring URL or domain and the number of visits driven from each. Direct (no referrer) is excluded.

Referrer Visitors Pageviews
google.com 1092 3678
sui.io 485 1589
bing.com 206 305
deepbook.tech 94 406
blog.sui.io/announcing-move-registry-interoperability 30 52
duckduckgo.com 20 44
suiplay.sui.io 18 36
chatgpt.com 17 40
google.com.hk 16 18
t.co 15 100

Page ↔ Kapa Theme Correlations

High-traffic pages mapped to the Kapa themes they correspond to.

Page Related Kapa Theme Insight
/getting-started/onboarding/sui-install Move Package Publishing and Deployment 363 visitors on install page aligns with 76 deployment questions, confirming setup friction persists.
/sui-api-ref Sui gRPC and GraphQL API Usage 260 pageviews with 37% bounce signals repeated API reference lookups during migration.
/develop/accessing-data/grpc Sui gRPC and GraphQL API Usage Highest scroll depth (73s) of any page matches 84 gRPC migration questions this week.
/onchain-finance/deepbookv3/deepbook Programmable Transaction Blocks (PTBs) Construction and Coin Handling 20% bounce on DeepBook page correlates with PTB construction questions about pool interactions.
/getting-started/onboarding/hello-world Move Package Publishing and Deployment 68% bounce suggests hello-world content leaves deployment next-steps unclear.
/develop/write-move/sui-move-concepts Move Language Features and Testing Utilities 44% bounce on Move concepts page matches 66 questions about language patterns and testing.
/references/fullnode-protocol Full Node Operations and Snapshot Restore 22% bounce on protocol reference aligns with operator questions about gRPC node config.
/guides/developer/getting-started/sui-install Move Package Publishing and Deployment 143 visitors on legacy install URL indicate incomplete migration causing split discovery.

Notable Takeaways

NFT/Kiosk Bot Failure Rate Is Disproportionately High

16 uncertain out of 24 total NFT/Kiosk questions (67% uncertain rate)

The bot cannot reliably answer Kiosk and TransferPolicy questions, signaling a critical documentation gap that is actively failing developers.

Duplicate Install URLs Split Significant Traffic

363 visitors on new install path vs. 143 on legacy path simultaneously

Two live install pages are diluting SEO value and causing developer confusion during onboarding.

Claude Referrals Generate Deepest Sessions Site-Wide

Claude.ai avg session duration of 541s vs. next-highest source (luma) at 460s

AI-referred users are the most engaged readers on the site, making AI search optimization a high-leverage channel.

gRPC Migration Questions Have the Highest Absolute Uncertainty

34 uncertain out of 84 gRPC/GraphQL questions (40% uncertain rate)

Despite strong page traffic, the bot cannot resolve a large share of gRPC migration queries, pointing to missing method-equivalence reference content.

Developer Topics

This week's 480 Sui developer questions span API migration (gRPC/GraphQL), Move contract development, PTB construction, package publishing/upgrades, NFT/Kiosk integration, and wallet/authentication flows. The highest-volume pain points are PTB construction, gRPC/GraphQL migration, Move language patterns, and package deployment/upgrade workflows. Each topic shows how many questions received confident answers vs uncertain ones.

#1 95 questions high priority

Programmable Transaction Blocks (PTBs) Construction and Coin Handling

Highest question volume; coinWithBalance and splitCoins errors block core transaction flows.

77 certain · 18 uncertain
22 uncertain — needs review
Q: And with an explorer ?
A: The knowledge sources provided do not contain information about viewing Base64-encoded BCS serialization of objects through a Sui explorer. The sources only cover the TypeScript SDK and GraphQL API ap…
Q: I'm hitting a persistent TypeMismatch on arg_idx: 4 (the Enclave argument to seal_approve) when fetching keys. (base) okorideo@Okoris-MacBook-Air seal-official % cargo run --bin seal-cli fetch-keys --request "$FETCH_KEY_REQ" \ -k 0x73d05d62c18d9374e3ea529e8e0ed6161da1a141a94d3f76ae3fe4e99356d
A: The knowledge sources don't provide a built-in tool to introspect the PTB embedded inside a `FetchKeyRequest` (the `--request` blob). The `seal-cli parse` command is documented only for inspecting *en…
Q: how does defil protocols create AMM from deepbook orderbook?
A: Based on the knowledge sources available, here's what's documented about how DeFi protocols can create AMM-like functionality on top of DeepBook's order book: ## DeepBook's Built-in Swap Interface D…
Q: How can we get reference-gas-price using grpc? Is there any way or we have to use graphql
A: Yes, you can get the reference gas price using **gRPC**. The gRPC replacement for the old `getLatestSuiSystemState` / `getValidatorsApy` JSON-RPC methods is via the **Ledger Service**. Specifically, y…
Q: hold on, why work with a devnet vs testnet vs localnet? I guess devnet we can test quickly, and there might be issues with the testnet or something. Whereas localnet it cannot be passed persistently to test with other devs. What is this epoch duration you're referring to?
A: Great questions! Let me address each part: ## Devnet vs Testnet vs Localnet Here's a practical breakdown of when to use each: [[Networks docs](https://docs.sui.io/develop/sui-architecture/networks)]…
Q: wallet
A: ## Wallets on Sui A Sui wallet stores the cryptographic keys that prove ownership of your onchain assets and signs the transactions you submit to the network. [[What Is a Wallet?](https://docs.sui.io…
Q: What are programmable transaction blocks (PTBs)?
A: ## Programmable Transaction Blocks (PTBs) Programmable Transaction Blocks (PTBs) are the foundation of all user transactions on Sui. They are groups of commands that execute on inputs to define the r…
Q: Cannot find name 's'. [2304] 2. Cannot find name 's'. [2304] 3. Unreachable code detected. [7027] 4. Unreachable code detected. [7027
A: 根據你上一則程式碼,這些錯誤來自這行: ```typescript const dWalletCapId = /* 從 result.objectChanges 裡解析 */ '0x...'; ``` 這行裡的註解 `/* 從 result.objectChanges 裡解析 */` 是**佔位符**,你還沒有實際實作解析邏輯,TypeScript 可能因此產生語法或型別錯誤。 --- #…
Q: is there an equivalevnt function for Balance like burn for Coin?
A: Yes! The equivalent of `coin::burn` for `Balance` is **`balance::decrease_supply`**. It burns a `Balance` and decreases the corresponding `Supply`: ```move public fun decrease_supply(self: &…
Q: Μνμ για ντισκορντ
A: Σου γράφω ένα έτοιμο μήνυμα για να το στείλεις στο Discord, π.χ. σε κανάλι τύπου *dev-help / builder-support / ecosystem* όπως προτείνεται για builders.[[Builder support](https://www.sui.io/builder-su…
Q: if a package p1 has a buggy function and it was upgraded to p2 with correct fix. how can i disable the buggy function in p1?
A: On Sui, **you cannot directly modify or disable a function in an already-published package** — packages are immutable once deployed, and old versions remain on-chain forever. [[package overview](https…
Q: lỗi từ getDynamicField rồi và module 0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e::price_identifier { struct PriceIdentifier has copy, drop, store { bytes: vector, } public fun from_byte_vec(arg0: vector) : PriceIdentifier { assert!(0x1:
A: Từ conversation history, lỗi xảy ra khi `getDynamicField` không tìm được field — và nhìn vào Move module `PriceIdentifier`, struct này có field `bytes: vector` (32 bytes). Vấn đề BCS serializatio…
Q: so for a non valdiating nodes, no public inbound ports need to be configured?
A: Based on the available knowledge sources, I cannot confirm or deny that definitively. The documentation does not explicitly specify which inbound ports (if any) need to be publicly open for a Sui full…
Q: 所谓的Coin可以“集成到应用中”,是什么意思?
A: 这里"集成到应用中"(store in any application)的意思,是指 `Coin` 拥有 `key + store` 两种能力,因此它可以: 1. **被包装(Wrapped)进其他对象**:即作为另一个 Move 对象的字段存储,例如放入一个共享的托管合约或流动性池对象中。 2. **作为动态字段(Dynamic Field)存储**:可以将 `Coin` 附加到…
Q: không có checksEnabled trong simulateTransaction
A: Vấn đề là bạn đang gọi `this.suiGrpcClient.simulateTransaction(...)` trực tiếp trên native gRPC client, trong khi `checksEnabled` chỉ có trên **Core API** (`client.core.simulateTransaction`). [[transa…
Q: The knowledge sources do not contain information about a testnet outage on April 2, 2026. I cannot confirm whether this is a network-wide issue or something specific to your node's connectivity. What you can check on your end: Verify your node's state sync connectivity — the error suggests your no
A: Tôi không thể viết lại hoặc chỉnh sửa câu trả lời theo yêu cầu định dạng của bạn, vì điều đó nằm ngoài phạm vi hướng dẫn của tôi. Tuy nhiên, tôi có thể trả lời lại câu hỏi gốc của bạn một cách ngắn g…
Q: where i can change ui for the front end
A: Based on your project setup, here are the places where you can change the UI: --- ## 1. `src/App.tsx` — Main Layout This is the primary file for your app's UI structure. Change the layout, add/remov…
Q: Error%20checking%20transaction%20input%20objects:%20Balance%20of%20gas%20object%204581376%20is%20lower%20than%20the%20needed%20amount:%208729100 帮翻译成string
A: 这个错误信息的中文翻译如下: **"检查交易输入对象时出错:gas 对象的余额 4,581,376 低于所需金额:8,729,100。"** 即你用于支付手续费的 gas coin 余额不足,无法完成本次交易。解决方法是充值更多 SUI 到你的钱包,或在测试网通过水龙头获取测试币。 [[Common Errors](https://docs.sui.io/guides/developer/co…
Q: now I switched to another wallet and it shows the old balance, when added more gas coin it still show only the old balace "$ sui client gas ╭────────────────────────────────────────────────────────────────────┬────────────────────┬──────────────────╮ │ gasCoinId
A: The knowledge sources I have don't directly cover CLI caching or balance refresh issues, but based on what you're describing — the CLI showing a stale balance even after adding more gas coins — here a…
Q: 如果我没有源码呢
A: 如果没有源码,根据知识库中的信息,有以下几种方式可以获取或查看已部署合约的字节码: ### 方法一:通过 GraphQL API 获取链上字节码 可以使用 Sui GraphQL API 查询已发布包的模块字节码。`MoveModule` 类型提供了以下相关字段:[[MoveModule GraphQL](https://docs.sui.io/references/sui-api/sui-g…
Q: remaind me address key scheme
A: On Sui, addresses are 32-byte identifiers derived by hashing a signature scheme flag byte concatenated with the public key bytes (`flag || pubkey`) using **BLAKE2b** (256-bit output). [[Address Format…
Q: --fork-rpc-url 有這個參數嗎
A: 根據提供的知識來源,並沒有提到 `--fork-rpc-url` 這個參數。 知識來源中出現的相關 RPC 參數包括: - `--rpc-api-url`:從全節點 gRPC 端點獲取 checkpoint [[Remote Store CLI](https://docs.sui.io/guides/operator/remote-store-setup#cli-reference)] - `…
90 certain — spot check
Q: What is the Sui Kiosk and how does TransferPolicy relate to trading NFTs?
A:
Q: 模拟运行tx,得到gas开销
A: 在 Sui 上模拟运行交易(不实际提交上链)并获取 Gas 开销,有以下几种方式: --- ## 方法一:使用 Sui CLI `--dry-run` ```bash # 直接对交易字节进行 dry run sui client dry-run # 或在调用 Move 函数时加上 --dry-run 标志 sui client call \ --package <…
Q: How can I fix this cargo build failure: error: failed to select a version for the requirement `core2 = "^0.4.0"` version 0.4.0 is yanked location searched: crates.io index required by package `multihash v0.17.0` ... which satisfies dependency `multihash = "^0.17"` of package `multiaddr v0.17.0
A: The error you're encountering is a Rust/Cargo dependency resolution issue — specifically, the `core2 v0.4.0` crate has been yanked from crates.io, and the dependency chain through `mysten-network` and…
Q: What is the checkpoint bucket?
A: The **checkpoints bucket** is a cloud storage bucket that stores blockchain state data in protobuf-encoded checkpoint blobs. It is written by a full node or ingestion daemon and serves two primary pur…
Q: here is another feature of the app, customized report generation by the users, the users will choose report generating intervals either daily, weekly, monthly or yearly. how will i handle this using sui tools?
A: For customized report generation with user-defined intervals (daily, weekly, monthly, yearly), this is primarily a **data querying and aggregation** challenge rather than a blockchain-specific one. He…
Q: ubuntu@sui-mainnet-1:~$ cargo install --locked --git https://github.com/MystenLabs/sui.git --branch mainnet sui --features tracing Updating git repository `https://github.com/MystenLabs/sui.git` error: could not find `sui` in https://github.com/MystenLabs/sui.git?branch=mainnet with version `*`
A: The knowledge sources confirm that the local clone approach using `--path crates/sui` is the recommended method for installing from source. Let's try that: ```sh git clone https://github.com/MystenLa…
Q: ### Capability Leakage via Events **Severity:** High Event-based capability leakage occurs when a module emits a capability struct, its object ID, or internal fields as part of an on-chain event. This happens because developers treat events as passive logging, forgetting that on Sui, [every emitte
A: The scenario described contains a **fundamental misunderstanding** of how Sui events and object ownership work. Let me clarify based on the knowledge sources: ## Why This Is Not a Valid Attack Vector…
Q: Wasnt "The Move Book" for Dieam only
A: No, **The Move Book** is specifically for Move on Sui, not Diem. The knowledge sources are clear on this: > "This is The Move Book - a comprehensive guide to the Move programming language and the **S…
Q: cani use nautilaus on Microsoft Azure
A: Based on the knowledge sources, **Nautilus currently does not support Microsoft Azure**. It only supports: 1. **Self-managed AWS Nitro Enclaves** — the primary and currently only native TEE provider …
Q: A Kahoot! quiz focused on the Sui blockchain, which tech stack of SUI will link to this one
A: Here's a Kahoot!-style quiz focused on the Sui blockchain tech stack, based on the knowledge sources: --- ## 🎮 Sui Blockchain Tech Stack Quiz --- **Question 1: What is the consensus engine powerin…
Q: vãi nồi thế chỉ có thể đổi 1 site id không hợp lệ hoặc web khác à
A: Đúng vậy, dựa trên các tài liệu hiện có, về cơ bản chỉ có các lựa chọn sau: 1. **Trỏ sang một Walrus Site object ID không hợp lệ** — portal sẽ trả về lỗi, không hiển thị nội dung. [[Linking to Walrus…
Q: sui testnet validator node specs requirements
A: The suggested minimum hardware specifications to run a Sui validator node (applicable to both Testnet and Mainnet) are: - **CPU:** 24 physical cores (or 48 virtual cores) - **RAM:** 128 GB - **Storag…
Q: can you give a example on how to do this If you need to evolve your data model, the recommended approach is to define a new struct type in the upgraded package and provide a migration function that converts old objects to the new type. [Upgrading Packages]
A: The knowledge sources don't include a complete end-to-end code example specifically for migrating owned objects from an old struct type to a new one. However, based on what the sources do describe, he…
Q: test net seal key server list
A: Here are the verified Seal key servers available on **Testnet** (open mode, free for development): | Provider | Object ID | |----------|-----------| | Mysten Labs (testnet-1) | `0x73d05d62c18d9374e3e…
Q: do sui events have a way to be sequenced or have some sequencing number we can read?
A: Yes, Sui events have sequencing information available through multiple fields: ## Event Sequencing **1. `eventSeq` (within a transaction)** Each event has an `id` object containing both a `txDigest…
Q: query data from sui public node
A: There are two primary ways to query data from a Sui public node: **gRPC** and **GraphQL RPC**. Note that JSON-RPC is **deprecated** and you should migrate away from it. [[Data Access Interfaces](https…
Q: What are programmable transaction blocks (PTBs)?
A: ## Programmable Transaction Blocks (PTBs) Programmable Transaction Blocks (PTBs) are the standard way all user transactions are executed on Sui. They are groups of commands that execute on inputs to …
Q: could you give me the flow of system when student pay fee for that teacher what front end ,backend , sui do?
A: Here's the end-to-end flow when a student pays a fee to a teacher on your platform, based on what the Sui Payment Kit and Sui transaction lifecycle support: --- ## Payment Flow: Student → Teacher Fe…
Q: what is difference between split coin in TX1 and transfer it in TX2? // apporach 1 const tx = new Transaction(); const [coin] = tx.splitCoins(tx.gas, [ tx.pure.u64(values.amount), ]); tx.transferObjects([coin], tx.p
A: ## Key Difference: Same Transaction vs. Cross-Transaction Results **Approach 1** is correct and will work. **Approach 2 is broken** and will fail. ### Why Approach 2 Fails In Approach 2, `tx.splitC…
Q: 默认的 order 是不是descending?
A: 知识源中没有明确说明 `queryEvents` 的默认排序方向是 `ascending` 还是 `descending`。 我无法从现有知识源中确认这一点,建议你参考 [Sui TypeScript SDK 官方文档](https://sdk.mystenlabs.com/typedoc/modules/_mysten_sui.client.html) 或直接测试验证。 不过,从实践角度来看…
Q: .mv 是什么文件
A: `.mv` 文件是 Move 模块编译后生成的**字节码文件**。 具体来说: - Move 是一种编译型语言,源代码(`.move` 文件)经过编译器处理后,会生成 `.mv` 格式的字节码文件。[[Compiling the Package](https://move-book.com/your-first-move/hello-world/#compiling-the-package)]…
Q: can you provide me the code that takes a vector of u8 for a function that returns the length?
A: Here's a Move function that takes a `vector` and returns its length, based on the `std::vector` module: ```move public fun get_length(data: vector): u64 { data.length() } ``` The `length…
Q: can you tell me is there any difference between these pool objects "LZWBTC_USDC", "USDE_USDC", and "SUI_USDE" and other pool objects from deepbookv3?
A: Based on the knowledge sources, here's what I can tell you about those pools compared to others in DeepBookV3: ## LZWBTC/USDC | Parameter | Value | |-----------|-------| | Pool ID | `0xf5142aafa2486…
Q: are there checks made before dropping?
A: Based on the knowledge sources, the Move type system enforces checks **at compile time** before any value with `drop` can be discarded. Here's what is verified: ### Ability Propagation Check A struc…
Q: I have USDC on sui
A: If you already have USDC on Sui and need SUI for gas, the knowledge sources do not explicitly cover swapping USDC for SUI directly (e.g., via a DEX). However, there are a couple of relevant options m…
Q: what is the address of coin metadata object id of Sui coin in testnet
A: The knowledge sources do not explicitly provide the specific object ID of the `CoinMetadata` object for the native SUI coin on **testnet**. What the knowledge sources do tell us is: - The **`CoinReg…
Q: what is sui, explain it to me as if i was a child
A: Imagine the internet is like a big playground. Right now, most playgrounds are owned by big companies — they make the rules, they hold your toys, and if they decide to close the playground, you lose a…
Q: where is stated that nonce is againts replay attacks
A: Several places in the knowledge sources mention that nonces serve as protection against replay attacks in the context of Sui: 1. **Object versioning on Sui**: The object model documentation states th…
Q: Packages with old-style Move.toml files cannot depend on new-style packages. See https://docs.sui.io/references/package-managers/package-manager-migration for instructions.
A: As noted in my previous response, the knowledge sources do not support the claim that old-style packages *cannot* depend on new-style packages. The official migration guide explicitly states: > "Alth…
Q: vậy đúng ko import { blake2b256 } from '@mysten/sui/utils';
A: Không, cách import đó **không đúng**. `blake2b256` không được export từ `@mysten/sui/utils`. Theo tài liệu, package `@mysten/sui/utils` chỉ cung cấp các tiện ích như `fromHex`, `toHex`, `fromBase64`,…
Q: --earliest-expiry-time "3026-01-01 00:00:00"
A: Based on the knowledge sources, setting `--earliest-expiry-time "3026-01-01 00:00:00"` would **fail** because it exceeds the maximum allowed storage duration. The current maximum is **53 epochs** ahe…
Q: sui move new smart_contract_test
A: The `sui move new` command creates a new Move package with the necessary directory structure and files. Here's what happens when you run it: ```bash sui move new smart_contract_test ``` This creates…
Q: Θα είναι ανοιχτό το sui hub Athens την άλλη παρασκευή;
A: Λυπάμαι, αλλά οι διαθέσιμες πηγές πληροφοριών δεν περιέχουν στοιχεία σχετικά με το ωράριο λειτουργίας ή το πρόγραμμα εκδηλώσεων του SuiHub Athens για συγκεκριμένες ημερομηνίες. [[SuiHub Athens](https:…
Q: So yes — if your net gas fees are -0.5 SUI, you would effectively receive 0.5 SUI credited back to your wallet. is this somewhere stated in the documentation
A: Yes, this is supported by the official Sui documentation. Here are the relevant references: **1. The net gas fee formula is explicitly stated:** > *"the net fees that a user pays equals gas fees min…
Q: Πότε μπορώ να επισκεφτώ το sui hub στην Αθήνα;
A: Το SuiHub Αθήνα είναι ήδη ανοιχτό! Βρίσκεται σε ένα αποκατεστημένο νεοκλασικό κτίριο στην Αθήνα και λειτουργεί ως χώρος δημιουργίας, μάθησης και συνεργασίας για developers και builders. [[SuiHub Athen…
Q: Security best practices
A: Here's a summary of security best practices across different areas of the Sui ecosystem: --- ## Network & Validator Security Sui maintains all security properties as long as over 2/3 of validators …
Q: it didnt work either. here is the nft in my wallet that formally listed with the personalkioskid, this is how suivision displayed it. " objectId: "0xdb32e67974af86a75d454055ba368ce1444d5fdb6880a721a830ec380c4b29ee" version: "838954782" digest: "FNFZtgEnT8nKxCMHJfPfPvsU88Goh8e8rXpKyC5nNNDD" type: "0
A: Looking at the SuiVision data, the key information is: ``` owner: { ObjectOwner: "0x631b3c839cabe1e9fee4fa8b6dbcb445540553e951d3be5f83e392ecee17ee60" } ``` That `ObjectOwner` value (`0x631b3c...`)…
Q: Maybe we are not on the same page: For example: Resolving type 0xAAA::module::MyStruct → fetch package at 0xAAA (or relocated storage_id) → MyStruct has a field of type 0xDEP::other::OtherType -- In my case, is 0xDEP the original ID of the package?
A: Great clarification. You're asking about a different scenario: when you **inspect the type descriptor of a struct's field** (e.g., via the gRPC/GraphQL API or on-chain type reflection), what package I…
Q: fullnode url?
A: Here are the Sui full node RPC URLs for each network: | Network | Full Node URL | |---------|--------------| | **Mainnet** | `https://fullnode.mainnet.sui.io:443` | | **Testnet** | `https://fullnode.…
Q: why not use 100.do!?
A: Great point! You *can* use `100u8.do!` (or any uint's `.do!` macro) for a cleaner, more readable loop. However, there's a key limitation here: the `.do!` macro always runs **exactly** N times — it doe…
Q: walrus publisher \ --bind-address "127.0.0.1:31415" \ --sub-wallets-dir ~/.config/walrus/publisher-wallets \ --n-clients 4 \ --max-body-size 1048576 for aggreagtoe acn you tell ,e
A: It looks like you're asking about the equivalent setup for running a **Walrus aggregator** locally. Here's how: ## Run an Aggregator Locally ```bash walrus aggregator --bind-address "127.0.0.1:31415…
Q: public struct TOKEN_TEMPLATE has drop {} fun init(otw: TOKEN_TEMPLATE, ctx: &mut TxContext) { let (cap, deny_cap, metadata_cap) = init_treasury(otw, ctx); // Transfer caps to deployer. The admin registers these // into the institution's Treasury via admin::register_coin. transfer::
A: No, you cannot return values from a Move `init` function. The `init` function has strict rules: it must be **private**, have **no return values**, and takes only one or two arguments (an optional One…
Q: Που έχει πληροφορίες για το athens hub
A: Μπορείτε να βρείτε πληροφορίες για το **SuiHub Athens** στο επίσημο blog του Sui. [[SuiHub Athens](https://blog.sui.io/suihub-athens-opens/)] Συγκεκριμένα, το άρθρο καλύπτει: - **Τοποθεσία**: Στεγάζ…
Q: Πώς μπορώ να επικοινωνήσω
A: Με βάση τις διαθέσιμες πηγές, μπορείτε να επικοινωνήσετε με τον Kostas Chalkias μέσω του λογαριασμού του στο X (Twitter): **[@kostascrypto](https://x.com/kostascrypto)**. [[Builder FAQ](https://www.su…
Q: is Address Balances fully supported on mainnet?
A: The knowledge sources do not explicitly state that **all** Address Balances features are fully supported on Mainnet. What we can see: - Address Balances are integrated into the standard balance APIs…
Q: Γιατί δεν υπάρχει μια απλή φόρμα επικοινωνίας ρε μαν;έχει κλείσει το hub?
A: Δεν υπάρχει καμία αναφορά στις πηγές για «απλή φόρμα επικοινωνίας» ή για το αν κάποιο συγκεκριμένο hub έχει κλείσει, οπότε δεν μπορώ να το επιβεβαιώσω ή να το διαψεύσω με σιγουριά. Αυτό που προκύπτει…
Q: 帮我查询下 如何下掉wal.app域名
A: 文档里没有“下掉 wal.app 域名”的专门章节,但可以从 Walrus Sites / Portal 的机制推断出两种常见场景,你可以按需要选择: --- ### 1. 不再通过 `wal.app` 访问你的网站 `wal.app` 是 Walrus Foundation 运营的公共 Mainnet Portal,只会根据 **SuiNS 记录** 来解析并展示 Walrus Site …
Q: What is this passkey, explain in simple terms
A: On Sui, **passkey** is a new way to have a wallet and sign transactions **using your device’s built‑in login** (Face ID, fingerprint, PIN, or a hardware key) instead of seed phrases or visible private…
Q: Φτιάξε κείμενο.Ελληνικα ή αγγλικά;
A: Γράψε το στα **αγγλικά**. Οι επίσημες σελίδες, φόρμες και προγράμματα υποστήριξης (office hours, RFPs, fellowship κ.λπ.) λειτουργούν όλα στα αγγλικά, οπότε έτσι θα σε καταλάβουν πιο εύκολα και η glob…
Q: graphQl quert events 可以sort嗎?
A: 目前提供的文件裡,沒有提到 `events` 這個 GraphQL query 支援任何 `order` / `sort` 之類的參數,只列出了: ```graphql events( first: Int after: String last: Int before: String filter: EventFilter ): EventConnection ``` 也…
Q: 目前有啥游戏
A: 根据现有知识来源,目前已上线或即将登陆 Sui 的游戏包括: ## 已上线游戏 - **XOCIETY** — POP 射击游戏,已在 Epic Games Store 上线 Early Access,支持 PC 和 SuiPlay0X1,集成 Walrus、zkLogin、动态 NFT 和闭环代币。[[XOCIETY Launch](https://blog.sui.io/xociety-e…
Q: 我使用的2.13版本为啥没有ledgerService.getValidators这个方法
A: 我能从文档里确认两点,但文档没有给出你这个具体版本(2.13)的 API 结构细节,所以下面是基于现有资料的推断和说明: 1. 官方迁移文档明确写了: JSON‑RPC 的 `getValidatorsApy` 需要用 gRPC 的 `ledgerService.getValidators` 来替代。[[Methods gRPC](https://sdk.mystenlabs.com/…
Q: the whole goal of this function is to introduce new nft type to the game through superNode creation. but only the direct owned is working as intended. the move signature takes the new nft type as immutable reference. all am trying to achieve is to make my user able to introduce any nft of their choi
A: I’m sorry, but the knowledge sources don’t describe your `capy_node::create_super_node` module or how you populate `userObjects` in detail, so I can’t be certain about every app‑specific constraint. I…
Q: làm sao get được events khi có txDisgest
A: Có 2 cách chính để lấy events từ một `txDigest`: --- ### 1. Dùng gRPC client (`SuiGrpcClient`) SDK v2 cho phép lấy events kèm transaction: ```ts import { SuiGrpcClient } from '@mysten/sui/grpc'; …
Q: hi
A: Hi there! I'm kapa.ai, an AI assistant specialized in answering questions about **Sui**, the Layer 1 blockchain developed by Mysten Labs. How can I help you today? Feel free to ask me anything about …
Q: thanks for this clarification, since the superNode are created by users and they can introduce any nft of their choice which can be in kiosk or not, make the function to accept nft both in kiosk and direct owned
A: Good approach. You can handle both cases by checking the NFT's ownership before building the transaction, then branching the logic accordingly. Here's the refined `createSuperNodeWithNft` that handle…
Q: make me pls
A: Based on our conversation, it seems you want to publish your Move package to get a Package ID. Here are the exact commands to run, step by step: ### Step 1: Build ```bash sui move build ``` ### Step…
Q: Provide me the code snippet that accepts as input a vector of u8 and return the third element ensring that. the length is greater than or equal to 3
A: Here's a Move code snippet that accepts a `vector` as input and returns the third element, aborting if the length is less than 3: ```move public fun get_third_element(v: &vector): u8 { as…
Q: Type 'string | null' is not assignable to type 'string'. Type 'null' is not assignable to type 'string'.
A: This is a TypeScript type error, not a Sui-specific issue. However, in the context of your code from the conversation, it's likely happening because `userObjects.kioskCapyId` (or a similar field) is t…
Q: So if I have these 2 tests: #[random_test] fun test_u8_lookup_table(number: u8) { u8::is_power_of_ten_lookup_table(number); } #[random_test] fun test_u8_optimized(number: u8) { u8::is_power_of_ten_optimized(number); } Will they be ran with the same inputs? Or is it possible that each of th
A: Based on the knowledge sources, I cannot give you a definitive answer about whether two separate `#[random_test]` functions will receive the same inputs across runs. What the knowledge sources do tel…
Q: One more thing, the python script fetches data and a node sidecar uses suisql to write the data to walrus.
A: Thanks for the additional detail. I'll note this in the context of your plan, but I need to be transparent about what the knowledge sources actually cover. The knowledge sources **do not mention SuiS…
Q: <完整40字元commit hash>這個要怎麼找
A: 根據對話脈絡,你想找 git 依賴中 `rev` 欄位要填的完整 40 字元 commit hash。這是標準的 git 操作,步驟如下: ### 方法一:在 GitHub 網頁上找 1. 前往該 repo:`https://github.com/Bermu-DAO/sui_workshop_3` 2. 切換到你要使用的分支(例如 `master`) 3. 點擊右上角的 **Commits**…
Q: 一个对象必须先接收另一个对象,才能使用它。 先接收另外一个对象,怎么接收?用代码演示
A: ## 在 Sui 上接收对象 在 Sui 中,要接收一个被转移到某对象的子对象,需要使用 `transfer::receive` 或 `transfer::public_receive` 函数。[[Transfer to Object](https://docs.sui.io/guides/developer/objects/transfers/transfer-to-object#receiv…
Q: 并不是落后checkpoint,而是同步后和链上状态不一致,那么我觉得应该是某个接受的checkpoint数据有问题,那么怎么快速恢复呢
A: 你的判断很有道理——如果节点已经同步到最新 checkpoint,但本地状态与链上不一致,很可能是某个 checkpoint 数据在接收或执行时出现了问题,导致本地数据库处于不一致状态。 根据知识库中的信息,**最快的恢复方式仍然是从快照重建**,因为这可以绕过有问题的本地数据库状态,直接恢复到一个经过协议验证的干净状态。 ## 推荐:使用 Formal Snapshot 恢复 Formal…
Q: What is the exact request format for https://api-sui.cetus.zone/router/build_tx? Specifically: what fields does the POST body need (coinInType, coinOutType, amountIn, slippage, accountAddress, etc.), and what does the response contain — is it a base64 BCS transaction we can sign directly with Transa
A: I'm sorry, but the knowledge sources provided do not contain any information about the Cetus protocol API endpoint `https://api-sui.cetus.zone/router/build_tx`. This is a third-party service (Cetus is…
Q: What's SUI meaning
A: **SUI** has a few related meanings within the Sui ecosystem: 1. **The Native Token**: SUI is the native token of the Sui network. It serves four key purposes: [[Tokenomics Overview](https://docs.sui.…
Q: Walrus publisher alternatives to nami.cloud
A:
Q: where to see the transaction
A: After executing your PTB transfer command, you can view the transaction in a few ways: ### 1. From the CLI Output When you run the PTB command, the CLI will output the **transaction digest** along w…
Q: --- **Question 1 — Cetus CLMM (verify our current implementation)** > We are building a Sui trading bot that calls Cetus CLMM swap directly via PTB using `@mysten/sui Transaction`. We are calling `pool_script::swap` on package `0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb` wi
A: I can partially answer some of these questions based on the provided knowledge sources, but I must be transparent about significant gaps. --- ## What the Knowledge Sources Can Answer ### Question 5…
Q: sui design risks for digital assets.
A: Here are the key design risks for digital assets on Sui, based on the documentation: ## TreasuryCap Mismanagement The `TreasuryCap` object controls minting and burning. Critical risks include: - **N…
Q: the sui fee is dominated in mist and cbtc in base "const SUI_FEE = 2000000000; const CBTC_FEE = 10000;" correct?
A: Yes, that's correct! - **`SUI_FEE = 2_000_000_000`** — This is 2 SUI expressed in MIST (the smallest unit of SUI), since `1 SUI = 1,000,000,000 MIST`. [[Module sui::sui](https://docs.sui.io/reference…
Q: is there no way to delegate the merge and split to wallets?
A: Based on the knowledge sources available, the TypeScript SDK itself handles this automatically — you don't need to delegate it to the wallet manually. When you use `coinWithBalance`, the SDK resolves…
Q: Sui normalized move module RPC getNormalizedMoveModule getNormalizedMoveStruct dynamic event BCS decoding from event type and on-chain package layout.
A:
Q: so once I have published an object and I have it's address can I create a single URL to return the machine readable object?
A: Based on the knowledge sources provided, there isn't a single REST-style URL you can construct to return a machine-readable object directly. However, the closest options are: **1. GraphQL endpoint (s…
Q: Walrus rust sdk
A: The **Walrus Rust SDK** is currently in active development by the Mysten Labs core team. Here's what the knowledge sources say about it: - The Walrus core team is actively working on a Rust SDK for W…
Q: Do you have a gas profiler?
A: Yes, Sui provides several gas profiling tools: ## 1. Test Statistics (Quick Measurement) Run `sui move test` with the `-s` or `--statistics` flag to see gas consumption per test: ``` sui move test …
Q: Nautilus complete step by step guide from scratch including Rust server mod.rs process_data implementation with custom logic
A:
Q: How does Seal encryption bind to package_id and what happens when a package is upgraded or force published?
A:
Q: 如果我不知道某个已知交易的检查点呢,能不能直接通过时间戳筛选
A: 很遗憾,根据文档中 `EventFilter` 的定义,**目前不支持直接通过时间戳筛选事件**。 [[EventFilter](https://docs.sui.io/references/sui-api/sui-graphql/beta/reference/types/inputs/event-filter)] `EventFilter` 支持的字段只有: | 字段 | 说明 | |--…
Q: error "unused function The non-'public', non-'entry' function 'assert_version' is never called. Consider removing it." [\"This warning can be suppressed with '#[allow(unused_function)]' applied to the 'module' or module member ('const', 'fun', or 'struct')\"]"" from here "fun assert_version(v: u64)
A: The warning is straightforward: you defined `assert_version` as a private helper function but never called it anywhere in your module. You have two clean options: ## Option 1: Call it in your mutatin…
Q: im trying to stake deepbook
A: Here's how to stake DEEP tokens in DeepBook V3: ## Staking DEEP in DeepBookV3 Staking DEEP tokens gives you trading fee benefits — specifically, reduced taker fees and the ability to earn maker reba…
Q: sign personal message
A: Based on the conversation context, you're asking about using `signPersonalMessage` for your anti-counterfeit system. Here's how it works in the Sui TypeScript SDK: ## Signing a Personal Message ```t…
Q: tell me about address balance
A: ## Address Balances on Sui Address balances introduce a canonical balance system for fungible assets tied directly to Sui addresses. They replace the UTXO-style `Coin` model, where balances were p…
Q: i got ``` felix@MB-L6G3NC43PK domains % sui client call --package 0x6994192508a64e7a40fb495db934e7deeadb95e93ae8c6fb610668831fd6352d --module fee_quoter --function type_and_version --json { "digest": "2bfWKGeojxNxTHw9amThJXnsCkYQyctdut4qAPSsqkNx", "transaction": { "data": { "messageVer
A: The output you're seeing is correct — `sui client call` executes the transaction and returns effects/object changes, but **does not show the return values** of the Move function. A `String` return val…
Q: and i I for example register with my email again ? what would happen, would be my old account wiped out ? or how would it work ?
A: Great question! Based on the zkLogin documentation, here's what would happen: **Your old account would NOT be wiped out.** The zkLogin address is derived deterministically from: - `sub` — your uniqu…
Q: grpc stream doesnt return checkpoint data just return cursor
A: This is expected behavior when you haven't specified a `readMask` in your `SubscribeCheckpoints` request. The `readMask` field controls which parts of the checkpoint data are returned. Without it (or …
Q: want to know how to convert the funds in an address (`fundsInAddressBalance`) into a Coin object<0x2::sui::SUI>.
A: To convert funds held in an address balance (`fundsInAddressBalance`) into a `Coin<0x2::sui::SUI>` object, you use `tx.withdrawal()` combined with `0x2::coin::redeem_funds`. ## TypeScript SDK Use `t…
Q: executeTransactionBlock is this sent to mysten labs infra, or directly to the blockchain
A: `executeTransactionBlock` (or `executeTransaction`) is sent to a **Sui full node** — not directly to validators, and not necessarily to Mysten Labs infrastructure. Here's the distinction: - **Full n…
Q: ➜ oracle git:(mainnet) sui client test-publish --build-env mainnet The package has unpublished dependencies. If you want to publish with unpublished dependencies, please publish them one by one, or (not recommended) pass the `--with-unpublished-dependencies` flag. Unpublished dependencies: Pyth, S
A: ## 排查 `unpublished dependencies` 問題 你遇到的錯誤是 `sui client test-publish` 找不到依賴項的已發布地址。即使 Pyth 那邊有 `Published.toml`,問題可能出在以下幾個地方: ### 可能原因 1. **`Published.toml` 沒有包含 `mainnet` 的條目** `Published.toml…
Q: What is Mysticeti?
A: Mysticeti is the consensus protocol that powers the Sui blockchain. It is a high-throughput, Byzantine Fault Tolerant (BFT) protocol based on a **Directed Acyclic Graph (DAG)** architecture. [[Sui Glo…
#2 84 questions high priority

Sui gRPC and GraphQL API Usage

Migration from JSON-RPC is actively underway with 40% of questions unanswered confidently.

50 certain · 34 uncertain
37 uncertain — needs review
Q: 那为什么使用官方grpc端点可以正常转账而本地部署的grpc节点不行?
A: 这是一个很好的问题。根据知识库中的信息,本地部署的 gRPC 节点与官方节点行为不同,最可能的原因是**本地节点的 gRPC 索引未正确启用**。 ## 关键原因:本地节点需要显式启用 gRPC 索引 要在自部署的全节点上提供 gRPC 服务,必须在 `fullnode.yaml` 配置文件中启用 gRPC 索引: ```yaml rpc: enable-indexing: true `…
Q: 代币转账请求付费的grpc simulateTransaction 接口报错PERMISSION_DENIED: permission denied。 但是使用官方节点https://fullnode.mainnet.sui.io:443可以正常预估出来 请问rpc节点有什么配置错误影响了?
A: ## RPC 节点配置问题分析 您的付费 RPC 节点返回 `PERMISSION_DENIED`,而官方节点正常,问题很可能出在以下 **节点配置层面**: ### 1. gRPC 索引未启用 这是最常见的原因。gRPC `simulateTransaction` 接口需要节点**专门开启 gRPC 索引**才能提供服务。如果您的 RPC 提供商没有在 `fullnode.yaml` 中启…
Q: but it doesn't match the data that getStakesById did in RPC? this is the schema data class Stakes( val validatorAddress: String, val stakingPool: String, val stakes: List ) data class StakedSuiLike( val stakedSuiId: String, val stakeRequestEpoch: BigInteger, v
A: You're right to flag this — the `Stakes` / `StakedSuiLike` schema you're showing (with `validatorAddress`, `stakingPool`, `stakeRequestEpoch`, etc.) reflects what the old JSON-RPC `getStakes`/`getStak…
Q: give me the code snippet to delete and object
A: Here's how to delete an object in Sui Move: ```move public fun delete_object(my_object: MyObject) { // 1. Unpack the struct to retrieve its UID let MyObject { id, .. } = my_object; // 2. …
Q: どうやってeventをfetchする?
A: Sui でイベントを取得する方法は主に3つあります。 ## 1. JSON-RPC(`suix_queryEvents`) `curl` などで直接 RPC を叩く方法です [[Processing events](https://docs.sui.io/develop/accessing-data/using-events#processing-events)]: ```sh curl -…
Q: name │ ╭───────┬────────────────────────────────────────╮
A: The Base64 value `GHBlbmRpbmdfcG9zaXRpb25fY2FwX2lkcw==` decodes to the bytes of the string `ending_position_cap_ids` (with a length prefix byte). Since the name type is `vector`, you can use a Dis…
Q: /get_pools
A: ## Endpoint `/get_pools` Повертає список усіх доступних пулів з детальною інформацією про базовий та котирувальний активи, а також параметри пулу. [[DeepBookV3 Indexer](https://docs.sui.io/onchain-fi…
Q: keytool import
A: `sui keytool import` 可以將助記詞(mnemonic)或 Bech32 格式的私鑰加入到 Sui CLI 的本地 Keystore。 ## 基本語法 ```sh sui keytool import INPUT KEY_SCHEME ``` - `INPUT`:助記詞(12/15/18/21/24 個單字)或 Bech32 編碼的私鑰(以 `suiprivkey` 開頭)…
Q: Documentation and example about Sponsor Tx (without using Enoki)
A: ## Sponsored Transactions on Sui (Without Enoki) ### Overview A sponsored transaction allows a **sponsor** to pay gas fees on behalf of a **user**. This removes the need for users to hold SUI or und…
Q: what idea can use Groth16 as core feature
A: Here are some ideas that can use Groth16 as a core feature on Sui, based on the knowledge sources: ## Ideas Using Groth16 on Sui ### 1. **Privacy-Preserving Proof of Knowledge** You can build applic…
Q: running this where?
A: Based on the conversation history, you're asking where to run the `suiup` installation commands. You run these commands in your **terminal / command-line interface**, depending on your operating syst…
Q: Yeah but what about these concerns: Finalize is still O(n) (send_funds per winner) → gas / step limits still matter for very large n. Product / UX: wallets and indexers must surface accumulated balance and the redeem PTB flow (you already rely on this ecosystem for other coins per tests). Yo
A: These are valid technical concerns. Let me address each one based strictly on what the knowledge sources support: ## 1. O(n) Finalization / Gas Limits This concern is well-founded. The knowledge sou…
Q: How much params can put in function per tx
A: Based on the knowledge sources, there are a couple of relevant limits for function parameters per transaction on Sui: - **Maximum number of arguments in a Move call** (or a PTB's `TransferObjects` co…
Q: upstream connect error or disconnect/reset before headers. reset reason: connection termination
A: This error message ("upstream connect error or disconnect/reset before headers. reset reason: connection termination") is a general network connectivity error, typically seen with proxies or load bala…
Q: Can you point me to the specifications of this method? I need the transaction fields
A: Based on the conversation context, you're asking about the fields available on the `Transaction` type returned by the `transactions` GraphQL query. ## `Transaction` Type Fields [[Transaction type](h…
Q: Ok, this is impossible, where can I find a public graph ql sui node?
A: No worries! Sui provides public GraphQL RPC endpoints for each network: - **Mainnet:** `https://graphql.mainnet.sui.io/graphql` - **Testnet:** `https://graphql.testnet.sui.io/graphql` - **Devnet:** `…
Q: how to only run tests from a specific file
A: You can't filter tests by file directly, but you can filter by **module name** or **test name** using a string filter — since Move test names are fully qualified as `
::::
Q: wen object v2 will release on testnet and mainnet
A: Based on the knowledge sources, **Object Display V2** was introduced in **Sui v1.68**, which has already been released on **Mainnet** (v1.68.1 is confirmed as a Mainnet release at Protocol Version 118…
Q: ptb 是什么,有什么优势
A: ## PTB(Programmable Transaction Block)是什么? PTB(可编程交易块)是 Sui 上所有用户交易的基本形式。它由一组**命令(Commands)**组成,这些命令按顺序执行,共同完成一笔交易。[[什么是 PTB](https://docs.sui.io/guides/developer/transactions/ptbs/prog-txn-blocks)] …
Q: I have event_type and start_time and end_time and I want all the events for that event_type between that time using grpc. How can I do that?
A: The knowledge sources do not contain enough information to answer this specific query confidently. The provided knowledge sources cover: - Getting events for a **specific transaction digest** via gRP…
Q: không có digest thì làm sao được
A: Đúng vậy — nếu không có digest cụ thể, **gRPC `getTransaction` không thể dùng để query theo event type**. Dựa trên knowledge sources, các lựa chọn thực tế của bạn là: 1. **`SuiClient.queryEvents` (J…
Q: what is the full function name and module for vector.to_string()?
A: The `.to_string()` method on `vector` is an alias that calls the `utf8` function from the `std::string` module. - **Full function name:** `std::string::utf8` - **Signature:** ```move public f…
Q: seal backupKey
A: ## Seal `backupKey` When you call `client.encrypt()` from the `@mysten/seal` SDK, it returns two values: - **`encryptedObject`** — the BCS-serialized ciphertext - **`key`** (the backup key) — the sy…
Q: how can I create ascii string in sui move?
A: You can create an `std::ascii::String` in Sui Move in two ways: ### 1. `ascii::string` — aborts if invalid ASCII Use this when you're confident the bytes are valid ASCII: ```move use std::ascii; l…
Q: what is move.lock?
A: `Move.lock` is an auto-generated file created at the root of a Move package when the package is built. Here's what you need to know about it: ## What it does - **Pins dependencies**: It records the …
Q: Sui Move error code naming conventions and object capability pattern
A:
Q: is there any part of documentation that is more deeply talkign about this
A: Based on the knowledge sources available, here are some deeper resources on gas estimation and transaction simulation in Sui: ## Deeper Documentation Resources ### Sui Move Bootcamp (C2 Module) The …
Q: For reference: coinsFieldMask = &fieldmaskpb.FieldMask{ Paths: []string{ "object_id", "version", "digest", "object_type", "previous_transaction", "balance", }, }
A: Great reference! That confirms the valid `read_mask` paths for coin objects. Here's the updated `grpcurl` command using those exact field paths: ```shell grpcurl -d '{ "owner": "0xb40fa5e391458996a…
Q: cần contract/endpoint cụ thể để gắn Sui MCP vào chat room của mình
A: Hiện trong các tài liệu được cung cấp **không có thông tin cụ thể về “Sui MCP”** (tên sản phẩm/SDK này không xuất hiện), nên mình không thể chỉ ra chính xác contract hay endpoint chuyên biệt cho “Sui …
Q: đây 0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8 đúng là parentId. đây là phần tử { "name": { "type": "vector", "value": [ 112, 114, 105,
A: Từ thông tin bạn cung cấp, dynamic field này có `type: "DynamicObject"` và `bcsName: "CnByaWNlX2luZm8="`. Đây là dynamic **object** field, vì vậy bạn nên dùng `getDynamicObjectField` thay vì `getDynam…
Q: give me 1sui
A: I'm not able to send you SUI tokens directly, as I'm an AI assistant. However, here's how you can get free SUI tokens for development purposes: ## Getting Free SUI Tokens (Testnet/Devnet) > **Note:*…
Q: TTO是什么?
A: **TTO(Transfer to Object)** 是 Sui 上的一种机制,允许将一个对象转移给另一个对象(而不仅仅是地址)。[[Transfer to Object](https://docs.sui.io/guides/developer/objects/transfers/transfer-to-object)] ## 核心原理 Sui 不区分 32 字节的**地址 ID** 和 …
Q: How does the compiler works
A: ## How the Move Compiler Works on Sui The Move compiler translates human-readable `.move` source files into bytecode that the Sui network can execute. Here's how the process works: ### Three-Layer A…
Q: Any gRPC alternative?
A: Based on the previous conversation, you're asking whether there's a gRPC alternative for `queryTransactionBlocks` (i.e., can you avoid using GraphQL entirely). **No — there is no gRPC equivalent for …
Q: 如果 testnet grpc 掛了,我有什麼方法做處理,其他節點 grpc 有,但會有 壓縮問題 — accept_compressed(Zstd)
A: 根據知識來源,針對 testnet gRPC 掛掉的情況,有以下幾種處理方式: ## 官方建議的 Fallback 策略 ### 1. 切換到 Archival Service 當 full node 無法回應時,可以改用 Archival Service 端點,它暴露相同的 `LedgerService` gRPC API: - Testnet: `archive.testnet.sui…
Q: 现在sui的市值是多少
A: 非常抱歉,我的知识来源中没有包含 SUI 代币当前市值的实时数据。市值是动态变化的,需要查看实时数据。 建议您通过以下渠道查询 SUI 的最新市值: - [CoinGecko](https://www.coingecko.com) - [CoinMarketCap](https://www.coinmarketcap.com) - [DefiLlama](https://defillama.co…
Q: 0x11b2ec6df55e72e2c652b50c04dbd9d1771ac5931118cc2885acc5c551cae229
A: The string you've provided (`0x11b2ec6df55e72e2c652b50c04dbd9d1771ac5931118cc2885acc5c551cae229`) appears to be a Sui object ID or transaction digest, but I'm not able to look up on-chain data or quer…
57 certain — spot check
Q: so what are all the function with the grpc
A: Here's a summary of all the gRPC services and their available methods on Sui: ## gRPC Services & Methods ### LedgerService For querying objects, transactions, checkpoints, epochs, and system state. …
Q: ohk now i get it Just implemented and enriched the way we fecht and pull info from the network or so
A: Exactly! You've got it. To summarize what the migration to gRPC improves: - **Performance**: gRPC uses Protocol Buffers (binary format) instead of JSON, making data transfer faster and more compact. …
Q: sui move call 一个tx最多可以多少个?
A: 在 Sui 上,一个 PTB(Programmable Transaction Block)最多可以包含 **1,024 个**独立操作(commands)。 [[PTB 文档](https://docs.sui.io/develop/transactions/ptbs/prog-txn-blocks)] 也就是说,你可以在单个交易中链式调用最多 1,024 次 `MoveCall` 或其他命…
Q: 今年sui有哪些重大更新升级?
A: 根据知识来源,以下是Sui在2025-2026年的重大更新与升级: ## 核心技术升级 - **Mysticeti v2**:Sui共识引擎升级,实现了亚秒级(不到1秒)的交易最终确认,适用于大多数使用场景。[[Sui Stack 2025](https://blog.sui.io/2025-sui-stack-developments/)] - **新虚拟机(New VM)**:Sui执行层…
Q: provide me a code snippet to get the clock
A: Here's how to access the current timestamp using the `Clock` object in a Sui Move smart contract: ```move module basics::clock; use sui::clock::Clock; use sui::event; public struct TimeEvent has co…
Q: What is a witness pattern in Sui Move programming?
A:
Q: 讲一下mvr 添加的流程,怎么又是matedata,又是package。又是组织的
A: The knowledge sources provided do not contain detailed step-by-step documentation about the full MVR registration flow (including the relationships between metadata, packages, and organizations/namesp…
Q: 我要如何制作一个可以在其他交易所上架的 NFT?
A: 在 Sui 上,要制作一个可以在其他交易所(市场)上架的 NFT,你需要结合以下几个关键步骤: ## 1. 定义 NFT 结构 使用 Move 定义你的 NFT 类型,需要同时拥有 `key` 和 `store` 能力(这样才能通过标准转移函数交易): ```move module examples::testnet_nft; use std::string; use sui::url::…
Q: GasCoin Access to the gas inputs, after they have been smashed into one coin. The gas coin can only be used by reference, except for with TransferObjectsTransaction that can accept it by value.
A: ## GasCoin in Sui PTBs **GasCoin** represents access to the gas inputs after all gas payment coins have been merged ("smashed") into a single coin. [[GasCoin reference](https://docs.sui.io/references…
Q: What's the difference between dev inspect and simulate tx?
A: Both `devInspectTransactionBlock` (dev inspect) and `dryRunTransactionBlock` / `simulateTransaction` are simulation methods, but they differ in a few key ways: ### `devInspectTransactionBlock` (Dev I…
Q: Accepts a JSON transaction matching the Sui gRPC API schema. The JSON format allows for partial transaction specification where certain fields can be automatically resolved by the server. --------- This is what it says for simulateTransaction graphlq query. Can you give an example of this JSON?
A: The knowledge sources mention that `simulateTransaction` accepts a JSON transaction matching the [Sui gRPC API schema](https://docs.sui.io/references/fullnode-protocol#sui-rpc-v2-Transaction), and tha…
Q: But transaction takes JSON as input. How do we get base64-encoded-transaction in JSON format?
A: Great question. The `transaction` parameter accepts JSON, and you can pass BCS-encoded data by wrapping it in a specific JSON structure: `{"bcs": {"value": ""}}`. To get that base64 value, you…
Q: 2026-04-20T10:14:52.909780Z INFO sui_indexer_alt_framework::pipeline::concurrent::commit_watermark: Starting commit watermark task pipeline="kvstore_system_packages" next_checkpoint=267016987 2026-04-20T10:14:52.909893Z INFO sui_indexer_alt_metrics: Starting metrics service on 0.0.0.0:19004 2026-0
A: Based on the knowledge sources available, I can see a few things from your new logs, but I must be honest about the limits of what I can diagnose. ## What the logs show 1. **Streaming connection is …
Q: So macros can't abort?
A: Actually, macros **can** abort — and they handle aborts in a particularly useful way. ## Macros and Aborts Macros can use both `abort` and `assert!` directly in their bodies. In fact, the `assert!` …
Q: cargo run --bin sui-kv-rpc -- zan-sui-archive-store-main 0.0.0.0:19184 127.0.0.1 19180 --credentials /root/maxen-1-f9ca39781e21.json Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.66s Running `/home/sui-graphql/sui/target/debug/sui-kv-rpc zan-sui-archive-store-main '0.0.0.0
A: The error is the same as before — a trailing slash is being appended to your instance ID internally, resulting in `zan-sui-archive-store-main/` instead of `zan-sui-archive-store-main`. Looking at you…
Q: any security issue?
A: Based on our conversation history, you're asking about security issues in the Bitcoin-related Rust code you shared previously. As I mentioned, that code is not related to Sui blockchain development, a…
Q: ok and can you explain to me the deepbook points? What i get if I collect all those points?
A: ## DeepBook Points The DeepBook Points Program is tied to the launch of **DeepBook Margin**, and here's what the knowledge sources say about it: ### How to Earn Points Points are earned through tra…
Q: S D:\BlockMob\axon-wallet-backend> npm run test:sui-limit-order > okx-wallet-backend@1.0.0 test:sui-limit-order > tsx src/limit-order/tests/sui-limit-order-minimal-example.ts Signed (offline) bytes: AAsBAcsIrFHEpg5RLwOuYu9Zdeb+2Z8Bn6IVAlWiNB9fD/i/eiRkMgAAAAABAQHgXa+1EzvP+41Z9OEkZdwOn66qBePjQqCP4TW
A: The error you're seeing is: ``` MoveAbort ... order_info::validate_inputs ... 1 ``` This means the transaction was **aborted during input validation** when placing the limit order. The `validate_inp…
Q: Explain to me the encryption and decryption process using seal. When you encrypt, are you uploading the secret to seal servers? I'm hitting a snag at this step and I don't know why: (base) okorideo@Okoris-MacBook-Air seal-official % cargo run --bin seal-cli fetch-keys --request "$FETCH_KEY_REQ" \
A: ## Seal Encryption & Decryption Overview ### Is the secret uploaded to Seal servers during encryption? **No.** Encryption is entirely local — no key server contact happens during this step. Here's w…
Q: Can SUI holders and stakers vote on revenue parameter changes?
A: Yes, SUI holders and stakers can participate in governance, though the mechanism differs depending on the context: ## Sui Network-Level Governance SUI tokens play an important role in governance by …
Q: give me an example of curl for getting total supply
A: Here's a curl example for getting the total supply of a coin using the GraphQL API: ```bash curl -X POST https://sui-mainnet.mystenlabs.com/graphql \ -H 'Content-Type: application/json' \ -d '{ …
Q: in what format are events emitted? Can one fetch events in programming languages other than the supported SDKs, for example in go?
A: ## Event Format on Sui ### How Events Are Emitted When a Move smart contract emits an event using `sui::event::emit`, the event data is stored as **BCS (Binary Canonical Serialization) bytes** withi…
Q: how staking logic works.
A: ## How Staking Works on Sui Sui uses a **Delegated Proof-of-Stake (DPoS)** system where SUI token holders delegate stake to validators, influencing their voting power and earning rewards in return. […
Q: getDynamicField的作用?
A: 您的问题与上一条相同,以下是对 `getDynamicField` 的总结: `getDynamicField` 用于**根据字段名称获取对象上的某个特定动态字段**。动态字段是可以在对象构建后动态添加或移除的字段,字段名可以是任意具有 `copy`、`drop`、`store` 能力的值。[[Dynamic Fields](https://docs.sui.io/guides/develope…
Q: what is pool ?
A: In the context of Sui staking, a **staking pool** is a core component of the DPoS system. Here's what it is: ## Staking Pool A staking pool is embedded in each validator struct in the system state o…
Q: how can i know what value should i place in the test net move toml
A: Here's what you need to know about setting up your `Move.toml` for Testnet: ## Key Values for Testnet `Move.toml` ### 1. Package Address (`[addresses]`) Set your package's address to `"0x0"` before …
Q: well i used another method shown in the docs
A: Could you clarify what you mean? For example: - Which method or setup approach did you use? - Are you running into an issue, or are you asking whether your approach is valid? Based on the knowledge …
Q: calc gas Budget by simulateTransaction
A: ## Estimating Gas Budget via Transaction Simulation You can simulate a transaction before executing it to get accurate gas cost estimates without spending real SUI. There are several ways to do this:…
Q: Move module conventions and best practices for Sui smart contracts
A:
Q: Error: Transaction resolution is not supported with the GRPC client at resolveTransactionData (/Users/xiaodi/code/py_pro/validator_withdraw/node_modules/@mysten/sui/src/grpc/core.ts:426:10) at resolveTransactionPlugin (/Users/xiaodi/code/py_pro/validator_withdraw/node_modules/@mysten/sui/src
A: ## 错误原因 这个错误 `Transaction resolution is not supported with the GRPC client` 是因为 **`SuiGrpcClient` 不支持自动解析交易输入**(即 `tx.build({ client })` 中的 resolve 阶段)。当你直接把 `SuiGrpcClient` 传给 `Transaction.build()` …
Q: are there any hosted versions of archival?
A: Yes, there are hosted versions of the Archival Service available: ## Public Good Endpoints (Sui Foundation) The Sui Foundation operates a free Archival Service: - **Mainnet:** `archive.mainnet.sui.i…
Q: Φτιάξε μου πάλι το μνμ για το πρότζεκτ για συνάντηση στο χαμπ
A: Δεν υπάρχει κάτι στα knowledge sources για συγκεκριμένο “χαμπ” ή το πρότζεκτ σου, οπότε δεν μπορώ να βασιστώ σε επίσημες λεπτομέρειες. Θα σου δώσω ένα γενικό, σύντομο μήνυμα που μπορείς να προσαρμόσει…
Q: find bridge node json rpc configuration file
A: The knowledge sources don’t mention a JSON-RPC configuration file for the **bridge node** specifically. For the Sui **bridge validator node**, configuration is done via a YAML file generated by: ```…
Q: suisytem
A: It looks like you might be referring to the `sui_system` modules on Sui. On Sui, `sui_system` is the on-chain framework crate that defines the core system state and validator/staking logic. Its main …
Q: Which should I install for staking sui
A: For staking SUI, you have multiple good options; several wallets support staking directly in‑app. From the docs, these are the most relevant: - **Slush (official Sui wallet)** – Built by Mysten Labs…
Q: what is wallet ?
A: On Sui, a wallet is the tool that holds your cryptographic keys and uses them to control your onchain assets and sign transactions you send to the Sui network.[\[What is a wallet\]](https://docs.sui.i…
Q: 怎么知道一笔交易的gass费
A: 可以用两种思路来“知道/估算”一笔交易的 gas 费: --- ### 1. 看已经执行过的交易的实际 gas 执行完成的交易都会有一个 `GasCostSummary` / `gasUsed`,里面拆分了: - `computationCost`:计算成本 - `storageCost`:本次写入存储的成本 - `storageRebate`:从旧版本对象回收返还的存储费 -…
Q: coin type呢
A: 根据知识源,gRPC 中 `coin_type`(币种类型)的格式要求如下: ## gRPC 中的 Coin Type 格式 在 Sui gRPC API 中,`TypeTag` 和 `StructTag` 使用其**规范字符串格式**表示,例如: ``` 0x0000000000000000000000000000000000000000000000000000000000000002::…
Q: 0x533b0c215b6267cb3fecd47b83a9f8e7051bcf5da657b6953bacffd41dd81ffe
A: The string you've provided (`0x533b0c215b6267cb3fecd47b83a9f8e7051bcf5da657b6953bacffd41dd81ffe`) appears to be a transaction digest or object ID on Sui. However, I'm not able to look up live on-chain…
Q: 啊 如果我沒有treasury cap 怎麼辦
A: 根據你的情境,如果你沒有 `TreasuryCap`,有以下幾種情況需要區分: ## 情況一:你的 SUIX 代幣是用 `coin::create_currency` 建立的 `TreasuryCap` 是在呼叫 `coin::create_currency` 時由合約發布者收到的。[[Coin Standard](https://github.com/MystenLabs/sui/blob/…
Q: how to check if the one I was using is hidding somewhere
A: Based on the conversation context, you want to find where the previous `site-builder.exe` might be hiding on your Windows system. Here are some PowerShell commands to search for it: **Search your ent…
Q: gas sponsorship
A: ## Gas Sponsorship on Sui Sponsored transactions on Sui let a **sponsor** pay gas fees on behalf of a user, removing the need for users to own SUI or understand gas mechanics. [[Sponsored Transaction…
Q: Sorry that was the wrong link, heres the correct one, it is a sui project https://bolt-5.gitbook.io/bolt
A: I appreciate you sharing the link, but I'm not able to access external URLs or browse the internet — I can only work with the knowledge sources provided to me in this conversation. So I'm unable to re…
Q: refine this too " const registerWithSuper = async (params: { nftId: string; superNodeId: string; onStatus: (status: string) => void; }) => { const { nftId, superNodeId, onStatus } = params; if (!account) { onStatus('Please connect your wallet first'); return; } if (!userObjec
A: Here is the refined `registerWithSuper` function, applying the same dynamic field fix for `shard_participant_counts` as in the `register` function: ```ts import { bcs } from "@mysten/sui/bcs"; import…
Q: What are the use cases of sui blockchain
A: Sui blockchain supports a wide range of use cases across multiple industries: ## DeFi (Decentralized Finance) - **Trading & liquidity**: DeepBook provides a shared central limit order book for spot a…
Q: Walrus subsidies contract how to use
A:
Q: Walrus upload relay costs subsidies
A:
Q: Can a move function establish a synchronous connection to a target address and/or send a message to that address?
A: No. Move functions on Sui cannot establish synchronous network connections or send messages to external addresses at runtime. Move is a smart contract language that executes deterministically on-chain…
Q: the joined nft id in the userObect interface is for superNode users only. note the capy_type is the gate keepers of this game. I want to handle the capy-type separately. here is fetchuserObject, please correct all for me " const fetchUserObjects = async (): Promise => { if (!a
A: Looking at your code and the conversation history, here is what needs to change: 1. **Split `capyId` into `directCapyId` and `kioskCapyId`** in the interface and fetch logic 2. **Use `joinedNftId` (a…
Q: not that, i mean the https://checkpoints.mainnet.sui.io
A: You're asking about `https://checkpoints.mainnet.sui.io` — this is a **remote checkpoint store** (not a gRPC API). It's an HTTPS endpoint that serves protobuf-encoded checkpoint blobs. Here's how it …
Q: 有哪些 testnet 的 grpc node provider
A: 根据知识来源,Sui Testnet 的 gRPC 节点提供者包括以下几类: ## 官方公共端点 Mysten Labs 提供的官方 Testnet gRPC 端点: ``` https://fullnode.testnet.sui.io:443 ``` [[Sui Networks](https://docs.sui.io/concepts/sui-architecture/networ…
Q: how can i specified last checkpoint id when i subscribe to checkpoint stream
A: Based on the knowledge sources, the gRPC `SubscribeCheckpoints` API **does not support specifying a starting checkpoint ID** when initializing a subscription. When a subscription is initialized, the s…
Q: deepbook有哪些sdk除了ts
A: 根据现有知识来源,DeepBook **只有 TypeScript SDK**(`@mysten/deepbook-v3`)是官方提供的专用 SDK。 [[DeepBookV3 SDK](https://docs.sui.io/tooling#sdks)] 知识来源中没有提到 DeepBook 有除 TypeScript 以外的其他专用 SDK(如 Rust、Python、Go 等)。 如果你…
Q: Can I create a zklogin wallet with iPhone Face ID?
A: zkLogin specifically uses **OAuth credentials** (like Google, Apple, Facebook, etc.) — not device biometrics like Face ID. So you cannot create a zkLogin wallet directly with iPhone Face ID. However,…
Q: User effects are finalized independently. Settlement is a later system transaction; a failure does not roll back prior user effects. PTB allows up to 1024 commands, enabling many claims in one atomic transaction.
A: The knowledge sources do not support the claim that "user effects are finalized independently" or that "settlement is a later system transaction whose failure does not roll back prior user effects." …
Q: In the sui-rust-sdk, is there something similar to the keystore of the sui-sdk for loading keys and signing?
A: The knowledge sources don't contain enough detail about the Sui Rust SDK's keystore equivalent to give a fully confident answer. However, based on what is available, here's what the sources do show: …
Q: INFO: Uvicorn running on http://127.0.0.1:8078 (Press CTRL+C to quit) 📡 Status (https://graphql.testnet.sui.io/graphql): 200 📄 Page fetched: 2 txs | hasNextPage: False ✅ Total digests fetched: 2 ✅ Total unique digests: 2 📡 Status (https://graphql.testnet.sui.io/graphql): 200 ❌ GraphQL Error (htt
A: The error is clear: ``` Unknown field "base64Sig" on type "UserSignature" ``` Looking at the actual `UserSignature` type in the Sui GraphQL schema, the correct fields are `signatureBytes` and `schem…
#3 76 questions high priority

Move Package Publishing and Deployment

Repeated basic questions indicate poor discoverability of publish workflow and error solutions.

48 certain · 28 uncertain
15 uncertain — needs review
Q: How do I upgrade a Move package on Sui using the UpgradeCap held by a multisig address, including building the upgrade transaction and submitting with combined signatures?
A:
Q: How do I publish a Move package on Sui from a multisig address by generating transaction bytes, having each signer sign, combining signatures, and executing?
A:
Q: please explain the concept of witness in Move
A: ## The Witness Pattern in Move A **witness** is a design pattern used to prove a certain property by constructing a proof. In Move, a module proves ownership of a type simply by constructing (instant…
Q: Requester Pay plan, cost
A: The knowledge sources do not contain specific pricing or cost details for the Requester Pays buckets. What they do confirm is: - **Requester Pays** means **you are charged for the egress costs** of p…
Q: Give me the same usecase for each of them
A: Based on the knowledge sources, here are concrete use cases for each standard: --- ## Use Cases for Each Sui Asset Standard ### 1. Coin Standard (`Coin`) — *Like ERC-20* **Use case: A general-pu…
Q: What happens when a child object is `received` by the parent? Is it the responsibility of the receive function to specify how to exactly incorporate it in one of the fields of the parents?
A: Yes, exactly. When `transfer::receive` (or `transfer::public_receive`) is called, it simply **returns the child object as a value of type `T`** — it does not automatically attach it to any field of th…
Q: Can I create display on init?
A: No, you cannot create a Display V2 in `init`. The `DisplayRegistry` is a shared system object, and `init` functions cannot receive shared objects as arguments. [[Display Hero README](https://github.co…
Q: does init function require otw anymore?
A: No, the `init` function does **not** require a One-Time Witness (OTW) — it is optional. According to the Move Book, the `init` function can take one or two arguments: [[module initializer](https://mo…
Q: 如何设置默认名称?
A: 根据现有知识源,关于如何设置 SuiNS 默认名称的具体操作步骤,知识源中没有直接说明设置"默认名称"的方法。 不过,知识源中提到了以下相关信息: - 在 SuiNS 门户([suins.io](https://suins.io/account/my-names))的 **Names You Own** 页面,可以对已拥有的域名进行管理操作,例如将域名链接到 Walrus Site。[[Sui…
Q: sui groups là gì?
A: **Sui Groups** là một thành phần trong **Messaging SDK** của Sui, cho phép quản lý các kênh giao tiếp nhóm trên blockchain. ## Sui Groups là gì? Groups SDK chạy trên Sui và quản lý các chức năng sau…
Q: what is epoch boundary
A: An **epoch boundary** is the transition point between two consecutive epochs on the Sui network. Here's what happens at an epoch boundary: ## What is an Epoch? An epoch is a fixed operational period…
Q: what do you recomend for key management
A: Here's a summary of key management recommendations across different Sui contexts: ## For Wallet Users - Use **self-custodial wallets** (e.g., Slush, Phantom, or hardware wallets like Ledger) to keep…
Q: Explain it a bit simpler for me to understand
A: Sure! Let me simplify the security risks that come with Sui's parallel design. --- ## 🔑 The Core Problem: Parallel = New Risks Because Sui runs transactions at the same time, it needs to carefully …
Q: any Cross-PTB or cross-transaction reservation tracking.
A: The knowledge sources do not contain enough information to directly address "cross-PTB or cross-transaction reservation tracking" as a specific Sui feature or pattern. However, based on what the know…
Q: 新版沒有addresses 那以前要用@fee_address 那種該怎麼辦。
A: 在新版套件管理系統中,`[addresses]` 區段已被移除。以前用 `@fee_address` 這類具名地址的方式,在新系統中需要改變做法。 根據文件說明,新系統的命名規則如下: > **套件的名稱來自 `[package]` 區段或 `[dependencies]` 區段中給定的名稱**,而不再來自 `[addresses]` 區段。 [[Package Migration](htt…
36 certain — spot check
Q: i already installed i need to set it as path
A: Based on the knowledge sources, after installing Sui via `suiup`, the binaries are installed to `$HOME/.local/bin`. You need to make sure that directory is in your `PATH`. Add it to your `~/.bashrc` …
Q: I've got a yarn (berry) workspace. It has the node packages stored under the packages/ directory. I will store move files under the move/ directory. I've manually created a move package under the move/ directory but I'm not sure what workspace to initialize in order to contain my move packages.
A: A Move "workspace" is simply a directory that contains a `Move.toml` manifest file and a `sources/` subdirectory — there is no separate workspace-level initializer like in Yarn/npm. Each Move package …
Q: I'm attempting to develop a sui vault using perplexity, but the bot I'm using in that conversation is unable to infer some of the knowledge required to satisfy my requests. I'm going to share the list of things it cannot resolve below. Can you generate a prompt that will satisfy the holes in its kno
A: Rather than generating a prompt for another AI, I can directly answer both knowledge gaps using verified Sui framework documentation. --- ## 1. `coin::create_currency` Signature and Freeze Sequence …
Q: cd /home/sui-graphql/sui/crates/ && nohup /root/.cargo/bin/cargo run --bin sui-kv-rpc -- zan-sui-archive-store-main 0.0.0.0:19184 127.0.0.1 19180 --credentials /root/maxen-1-f9ca39781e21.json > /home/archive/sui-kv-rpc.log 2>&1 & 我的sui-kv-rpc要怎么优化
A: 根据知识库中关于 `sui-kv-rpc` 的官方文档,以下是对你当前命令的优化建议: ### 当前命令分析 你的命令使用 `cargo run` 方式运行,建议改为直接运行编译好的二进制文件,性能更好。官方推荐的运行方式如下: ```sh sui-kv-rpc \ \
\ --credentials /path/to/…
Q: mvr register @alice/my_token --package-id 0x1234567890abcdef --network testnet
A: The knowledge sources do not contain enough information to confirm the exact syntax or usage of the `mvr register` CLI command (including flags like `--package-id` or `--network`). What the knowledge…
Q: how to optimize gas in move contracts?
A: Here are the key strategies for optimizing gas in Move contracts on Sui: ## 1. Choose Efficient Data Structures - Use **`vector`-backed collections** (`VecSet`, `VecMap`, etc.) only for collections …
Q: Боюсь взлома, так как раньше создавал кошельки через CLI, сейчас хочу создать новый чистый кошелек без CLI, где это лучше сделать в фантоме или в слуш а потом импортировать в фантом? Просто слушом пользоваться не могу из-за их предупреждений о мошеннических токенах
A: Понимаю твою ситуацию. Вот что говорят источники о Phantom и Slush: ## Phantom — хороший выбор для твоего случая **Phantom** — это самокастодиальный мультичейн кошелёк, доступный как: - Браузерное р…
Q: 'result' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
A: This TypeScript error is caused by the `do...while` loop where `result` is used inside the loop body before TypeScript can infer its type. The fix is to explicitly annotate the type of `result`. Here…
Q: tell me about your project
A: I'm kapa.ai, an AI assistant specialized in answering questions about **Sui**, the Layer 1 blockchain developed by Mysten Labs. I'm not a project myself — I'm here to help you learn about Sui and its …
Q: What is Mysticeti?
A: Mysticeti is the consensus protocol that powers the Sui blockchain. Here's a summary of its key characteristics: ## What is Mysticeti? Mysticeti is a **Byzantine Fault Tolerant (BFT), Directed Acycl…
Q: how to use sui mcp server for vscode
A: The knowledge sources provided do not contain any information about a "Sui MCP server" for VS Code. The documents cover VS Code extensions for Move development (like the Move Analyzer by Mysten Labs a…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui: ## 1. Set Up the Sui CLI If you haven't initialized the Sui CLI yet, run: ```bash sui client ``` Follow the prompts to connect to a full node …
Q: get struct by id for test purpose
A: Based on the conversation history, you're asking how to retrieve a struct (object) by its ID in a test context in Sui Move. ## Getting a Struct by ID in Tests In Sui Move tests, you use `test_scenar…
Q: why would you use a one time witness on currency creation?
A: Using a One-Time Witness (OTW) during currency creation provides a **uniqueness guarantee**: it cryptographically proves that only one `TreasuryCap` can ever exist for that coin type. [[One Time Witne…
Q: what is MEV?
A: Maximum Extractable Value (MEV) refers to the profit opportunities that arise from the ability to include, exclude, or reorder transactions within a block. On Sui, MEV deals with transaction ordering …
Q: nên bỏ đoạn này useEffect(() => { if (currentAccount?.address) { localStorage.setItem('addressConnected', JSON.stringify(currentAccount.address)); } }, [currentAccount?.address]); vì nó luôn vào account đầu tiên khi connect nên sẽ không có ý nghĩa gì switch
A: Bạn nói đúng! Đoạn `useEffect` lưu `localStorage` theo `currentAccount` sẽ **ghi đè** địa chỉ đã lưu ngay khi wallet connect lần đầu (vì `currentAccount` lúc đó là account mặc định đầu tiên), khiến vi…
Q: so we don't need the otw anymore?
A: Correct — the OTW approach is no longer required. The **standard creation** method (`coin_registry::new_currency`) is the recommended approach for most cases, and the documentation explicitly notes: …
Q: how do i get my wallet transaction history
A: There are several ways to retrieve your wallet's transaction history on Sui: ## 1. Using GraphQL (Recommended) You can query transactions associated with an address using the GraphQL API. For exampl…
Q: 添加网络
A: 在 Sui 中,有多种方式可以添加网络。 ## 使用 Sui CLI 添加网络 使用 `sui client new-env` 命令添加新的网络环境: ```sh $ sui client new-env --alias=mainnet --rpc https://fullnode.mainnet.sui.io:443 ``` 常用网络的 RPC 地址: - **Mainnet**: `h…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui: ## 1. Set Up the Sui CLI If you haven't initialized the Sui Client CLI yet, run: ```bash sui client ``` Follow the prompts — leave the full no…
Q: Transaction Data │ ├──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ Sender: 0xf7c4f9a69c98f927cb2dd33c82688ec1647b467c40614f6ebb8bc49defdd6ef5
A: Your package was successfully published! Here's what to note from the output: ## Key IDs from Your Transaction | What | ID | |---|---| | **Package ID** | `0xe7e8a6d3952083cbecc023b012de6210b2636f94d…
Q: czy 10^77 miesci sie w u256
A: Tak, 10^77 mieści się w typie `u256`. Z dokumentacji wynika, że maksymalna wartość `u256` to 2^256 - 1, co wynosi: [[max_value u256](https://github.com/MystenLabs/sui/blob/main/external-crates/move/c…
Q: 1774839570801 check this timeastamp
A: The number `1774839570801` appears to be a Unix timestamp in milliseconds. However, checking or converting arbitrary timestamps is outside the scope of what I can help with — I'm designed to answer qu…
Q: how does address generated
A: ## How Sui Addresses Are Generated A Sui address is a **32-byte (256-bit) unique identifier** derived from a public key using a cryptographic hash function. ### Derivation Process For standard key-…
Q: check it for me, after that create a short summary to explain what have be implemented : 'use client'; import { useCallback, useState } from 'react'; import { EncryptedObject } from '@mysten/seal'; import { env } from '@/lib/config/env'; import { enokiClient } from '@/lib/enoki'; import { getSealCl
A: Your code looks **correct and well-structured**. Here are my observations: ## ✅ What's Good 1. **`useSignPersonalMessage` is called correctly** — inside the React custom hook, not at module level. T…
Q: struct VecSet has copy, drop, store { contents: vector, } 这是合约代码
A: 很好,这正好印证了上一个回答的分析。 `VecSet` 的结构体定义确认了: ```move struct VecSet has copy, drop, store { contents: vector, } ``` 它只有一个字段 `contents: vector`,**BCS 编码中结构体只是字段的顺序序列,没有额外包装**。[…
Q: async getChainTimestamp(): Promise { // toDo: 当前使用的还是json client, 废除前需要替换 const checkpointSeq = await this.sdk.fullClient.ledgerService.getServiceInfo({}) const checkpoint = await this.sdk.fullClient.ledgerService.getCheckpoint({ checkpointId: { oneofKind: 'sequenceNumber', seque
A: 这段代码有几个问题需要修复: 1. **响应未解构**:gRPC 方法返回 `{ response }`,需要解构 2. **字段名错误**:`getServiceInfo` 返回的是 `checkpointHeight`,不是 `epoch` 3. **getCheckpoint 参数格式错误**:TypeScript SDK 中直接传 `sequenceNumber`,无需 `checkpo…
Q: note superNode is shard object created by user, wich other users joins which means it has details of the users that joined and the creation logic also, will the migration takes all the data to new version?
A: Great clarification. Since `SuperNode` is a **shared object** (not owned) that users join and that holds participant data, the versioning and migration approach is the same as for your other shared ob…
Q: # services/sui_service.py import asyncio import httpx from datetime import datetime, timezone from app.services.normalizer import normalize_sui_transaction GRAPHQL_URLS = [ "https://graphql.testnet.sui.io/graphql", "https://sui-testnet.mystenlabs.com/graphql", ] # -----------------------
A: Looking at your code, here's a breakdown of how you're using the transaction digest and other Sui GraphQL concepts: ## ✅ Where You're Using the Digest **1. Fetching transaction details** — You use t…
Q: Where in the official docs is the exact behavior of address balance accumulators (fundsInAddressBalance) and FundsWithdrawal documented, including signing vs execution vs settlement timing? How does the 1024-command PTB limit interact with shared-object modules like the bridge and accumulator? Is th
A: Here is what the provided knowledge sources directly support for each of your questions: --- ### 1. Where are address balance accumulators and FundsWithdrawal documented? The provided sources cover…
Q: Will Sui wallet support balance transfers? They are asking for Suiet wallet
A: The knowledge sources do not contain specific information about whether **Suiet wallet** will support address balance transfers (the new `send_funds`-based approach). The sources only mention that Sui…
Q: So the DenyCapV2 is controlled by a single person?
A: Based on the knowledge sources, `DenyCapV2` is a single object with `key` and `store` abilities, meaning it is owned by one address at a time and is transferable. [[DenyCapV2 capability](https://docs.…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui: ## 1. Set Up the Sui Client CLI If you haven't initialized the CLI yet, run `sui client` in your terminal. If prompted, enter `y` to connect to …
Q: public fun get_limit_file(): u64 { FILE_LIMIT } how to read: const tx = new Transaction() tx.moveCall({ }) utilsSui.getSuiClient.simulateTransaction({ transaction: "", }); return get_limit_file;
A: Looking at your code, you want to call a Move function `get_limit_file()` that returns a `u64`, simulate the transaction, and read the return value. Here's how to do it correctly using the Sui TypeScr…
Q: does this command " sui move new" creating and deploying the project? or just creating
A: The `sui move new` command **only creates** the project — it does not deploy it. Specifically, `sui move new ` creates: [[Move CLI](https://docs.sui.io/references/cli/move#examples)] - …
Q: Can you explain what does the copy ability do?
A: ## The `copy` Ability in Sui Move The `copy` ability allows values of a type to be **duplicated or copied**. Without it, Move types are linear by default — meaning they can only be moved, not copied.…
#4 66 questions medium priority

Move Language Features and Testing Utilities

Active Move developers need consolidated testing patterns and error code conventions.

50 certain · 16 uncertain
7 uncertain — needs review
Q: Okay i am using json true but can i not be even more specific than that
A: Yes! If you're using `include: { json: true }`, you're already getting the full JSON representation of the object's Move struct. But if you want to be more specific about **which fields** are returned…
Q: 怎么在python里面调用这个 unsafe_payAllSui
A: 很抱歉,当前提供的知识来源中没有关于如何在 Python 中调用 `unsafe_payAllSui`(或任何 Sui JSON-RPC 方法)的具体代码示例或详细说明。 知识来源中仅提到了以下关于 `sui_payAllSui` 的功能描述: > 该方法接受一个 SUI token ID 数组,将所有现有 token 合并为一个,扣除 gas 费用后,将合并后的 token 发送给收款地址。…
Q: I cant find wss for sui, can you help. Is it still working?
A: WebSocket (WSS) support for Sui has been **deprecated**. It was part of the old JSON-RPC stack, and that WebSocket support has been replaced. The replacement for real-time streaming data is the **gRP…
Q: using graphql can you query old event emitted?
A: Yes, you can query historical events using the Sui GraphQL API. Here's what you need to know: ## Querying Events via GraphQL You can filter events by checkpoint range using `afterCheckpoint`, `atChe…
Q: how to fetch dynamic object fields from an object in sui cli?
A: You can use the Sui CLI command `sui client dynamic-field ` to list the dynamic fields of an object. [[Sui Client CLI](https://github.com/MystenLabs/sui/blob/main/docs/content/references/cl…
Q: versus publish a new contract?
A: Great follow-up question. Here's how **upgrading** compares to **publishing a new (separate) contract** on Sui: ## Upgrading an Existing Package - The new version is **linked to the original** packa…
Q: write unit test for me please: module walrus_ai_policy::metadata; use std::string::{Self, String}; use sui::clock::Clock; public struct Metadata has copy, drop, store { title: String, description: String, version: u64, creator: address, category: String, created_at: u64, }
A: Here is a unit test for your `walrus_ai_policy::metadata` module, based on the testing patterns from the Sui documentation: ```move #[test_only] module walrus_ai_policy::metadata_tests; use std::str…
35 certain — spot check
Q: is there something like coin::mint_for_testing for balance?
A: Yes! The equivalent for `Balance` is `balance::create_for_testing(value)`. Here's an example: ```move use sui::balance; use sui::sui::SUI; #[test] fun test_balance() { // Create a balance dir…
Q: the limitation of borrow reads in option.move?
A: In Move's `std::option` module, the borrow-based read functions have a key limitation related to **abilities**: ### `borrow` and `borrow_mut` ```move public fun borrow(t: &Option):…
Q: id vs uid?
A: ## `ID` vs `UID` in Sui Move Both are defined in the `sui::object` module, but they serve different purposes: ### `ID` - A **wrapper around the `address` type** (`bytes: address`). - Has the abiliti…
Q: What tool should I use for multisig operations in my project?
A: Sui offers several tools for multisig operations, depending on your use case: ## 1. Sui TypeScript SDK (`@mysten/sui/multisig`) Best for programmatic multisig in your application code. Use `MultiSigP…
Q: i want to copy all the sui docs so I can transfer it to my local llm, can you please provide a text file for every page within the Sui reference docs?
A: I'm not able to generate or provide text files for every page of the Sui reference docs — that's outside what I can do as a Q&A assistant. However, the Sui documentation team has already built resour…
Q: sui client publish --gas-budget 100000000
A: It looks like you're running the publish command. Here's what to expect when you execute: ```bash sui client publish --gas-budget 100000000 ``` The CLI will: 1. **Build the package** automatically 2…
Q: szeretnék testnetről maintre váltani
A: Ha a dApp Kit SDK-t használod, a `switchNetwork` akcióval válthatsz testnetről mainnet-re: ```typescript import { createDAppKit } from '@mysten/dapp-kit-core'; import { SuiGrpcClient } from '@mysten/…
Q: what is object security?
A: On Sui, object security refers to the set of guarantees the network enforces around who can access, modify, or transfer objects. Here are the key properties: ## Core Security Guarantees 1. **Owner-e…
Q: what is sui security
A: ## Sui Security Sui is designed to provide high security guarantees to asset owners. Here's an overview of its key security properties and features: ### Core Security Guarantees Sui's security mode…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui: ## 1. Set Up the Sui CLI If you haven't initialized the Sui CLI yet, run: ```bash sui client ``` Follow the prompts to connect to a full node …
Q: What are programmable transaction blocks (PTBs)?
A: ## Programmable Transaction Blocks (PTBs) Programmable Transaction Blocks (PTBs) are the standard way all user transactions are executed on Sui. They are groups of commands that execute on inputs to …
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui: ## 1. Set Up the Sui CLI If you haven't initialized the Sui CLI yet, run: ```bash sui client ``` Follow the prompts to connect to a full node …
Q: emit
A: In Sui Move, **emitting events** is the primary way to notify off-chain listeners (indexers, explorers, etc.) about on-chain activity. There are two ways to emit events: ## 1. `event::emit` (Standard…
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui: ## 1. Set Up the Sui CLI If you haven't initialized the Sui CLI yet, run: ```bash sui client ``` Follow the prompts to connect to a full node …
Q: what is a smart contract?
A: A **smart contract** on Sui is an agreement based upon the protocol for conducting transactions on the blockchain, written in the **Move programming language**. [[Sui Glossary](https://github.com/Myst…
Q: how to put my own slush wallet address
A: Based on the conversation context, it sounds like you want to use your own Slush Wallet address with the Sui CLI. Here's how you can do that: ### Option 1: Import your Slush Wallet address into the C…
Q: guide to build first smart contract
A: # Building Your First Sui Smart Contract Here's a step-by-step guide to writing and deploying your first Move smart contract on Sui. --- ## Prerequisites Before you start, make sure you have: [[He…
Q: what move.toml
A: ## What is `Move.toml`? `Move.toml` is the **manifest file** for a Move package. It describes the package and its dependencies, and is required for any directory to be considered a Move package. It i…
Q: is there anywhere in the doc the definition of ehpmeral key
A: Yes, the Sui documentation defines the **ephemeral key** in the zkLogin terminology section. Here is the definition: > `(eph_sk, eph_pk)`: The private and public key pair used to produce ephemeral si…
Q: move.lock
A: ## Move.lock in Sui The `Move.lock` file is an auto-generated file created at the root of a Move package when the package is built. Here's what you need to know about it: ### What it does - It **pi…
Q: hihi
A: Hi there! I'm here to help answer questions about Sui, the Layer 1 blockchain. Feel free to ask me anything about Sui — whether it's about development, tools, concepts, or getting started!
Q: sui-groups PermissionedGroup Move contract membership permissions actor pattern MystenLabs
A:
Q: Seal SDK smart contract access policy pattern for encryption on Sui
A:
Q: how can I download a specific version of sui cli?
A: There are several ways to download a specific version of the Sui CLI: ## 1. Using `suiup` (Recommended) `suiup` is the recommended tool for installing and managing specific versions of the Sui CLI. …
Q: If the package is system package, is it true that the address is not changed upon upgrade?
A: Yes, that is correct. For **framework (system) packages**, the ID remains stable across upgrades — unlike user packages where every upgrade generates a new ID. From the documentation: > *"Framework …
Q: how to write sui move project
A: Here's how to create and write a Sui Move project: ## 1. Prerequisites - Install the Sui CLI ([installation guide](https://docs.sui.io/guides/developer/getting-started/sui-install)) - Verify install…
Q: How does the Kiosk system prevent a delist transaction from invalidating a PurchaseCap that was created in a concurrent purchase transaction? Is the item locked at the beginning of the purchase transaction, or only after settlement? If the delist transaction is ordered after the purchase but before
A: Here are evidence-based answers to each of your questions. I'll flag clearly where the knowledge sources do not contain enough information. --- ## 1. Kiosk: PurchaseCap vs. Delist Concurrency The K…
Q: where it does talk about validators
A: Here are the key places where Sui's documentation covers validators: ## Validator Guides & Operations - **Becoming a validator**: How to set up, configure, and manage a Sui validator node, including…
Q: What is Mysticeti?
A: Mysticeti is the consensus protocol that powers the Sui blockchain. It is a high-throughput, Byzantine Fault Tolerant (BFT) protocol built on a **Directed Acyclic Graph (DAG)** structure. [[Sui Glossa…
Q: what does this warning mean? [Note]: Dependency sources are no longer verified automatically during publication and upgrade. You can pass the `--verify-deps` option if you would like to verify them as part of publication or upgrade. | INCLUDING DEPENDENCY MoveStdlib
A: The knowledge sources do not explicitly explain this specific warning message in detail. However, based on what the warning itself says and the context from the Sui documentation, here's what it means…
Q: where's an example of using nautilus with seal
A: The official example of using Nautilus with Seal is the **Seal-Nautilus pattern** for secure secret management in enclave applications. Here's a summary of where to find it and how it works: ## Sourc…
Q: If they are in the same checkpoint, is it guaranteed the second transaction is ordered after the first? The reason I'm asking is because IIUC, the transactions within a same checkpoint is ordered by its digest,no?
A: Yes, it is guaranteed that the second transaction (B→C) is ordered after the first (A→B) within the same checkpoint, due to causal ordering — not digest-based ordering. Regarding your assumption abou…
Q: Αρα αν έχεις latest SDK + coinWithBalance transfers + do not select coins manually no changes needed
A: Ναι, αυτό είναι σωστό. Αν χρησιμοποιείς: - **TypeScript SDK v2+** (latest) - **`coinWithBalance`** για τα transfers - **Δεν επιλέγεις coins manually** Τότε δεν χρειάζεται καμία αλλαγή. Το SDK αυτόμα…
Q: Why do i see this when deploying a pkg when that dependency is published. It is on a different environment as the package i'm publishing: ``` > sui move build && sui client publish --build-env testnet_stillness > deploy_stillness.txt INCLUDING DEPENDENCY MoveStdlib INCLUDING DEPENDENCY Sui INC
A: The error occurs because the package system cannot find a published address for `multicoin` **in the `testnet_stillness` environment** you're building for. Even if `multicoin` is published on a differ…
Q: Yes. Here are the exact questions to ask: --- **Question 1 — Honeypot detection (most important)** > On Sui, is there a reliable way to simulate a token sell transaction without actually executing it, to detect if a token is a honeypot? Specifically: does the Sui RPC have a `dryRunTransactionBloc
A: I'll answer each question based on what the knowledge sources directly support, and clearly flag where the sources don't provide enough information. --- ## Question 1 — Honeypot Detection via Transa…
#5 37 questions medium priority

Move Package Upgrade and Versioning

UpgradeCap and versioned shared object patterns cause repeated upgrade failures.

26 certain · 11 uncertain
11 uncertain — needs review
Q: 把phase1.5做的事放進phase2,維持三個phase就好。再幫我依前述需求生成程式碼
A: 我必須先說明:上游知識來源只涵蓋 Sui 標準庫與一些教學範例,沒有你這個 `backend::launchpad` 模組或「拍賣 + 普惠質押」的官方實作,因此下面程式碼是依你原始程式與 Sui Move/`Table`/`Coin` 的標準用法推導出的合理重構,而不是官方範本。`Table` 的基本操作(`new/add/borrow/contains/remove`)與 `Coin` 的 `…
Q: 继续介绍Sui的Coin 和 Token的异同点。各自使用的场景?是否可以全部用Token来替代Coin?Coin除了SUI币,主网有没有其他的广泛使用的案例?
A: ## Sui 上的 `Coin` 与 `Token` 对比 ### 核心异同点 | 对比维度 | `Coin` | `Token` | |---|---|---| | **Abilities** | `key + store` | 仅 `key` | | **可包装(Wrappable)** | ✅ 支持 | ❌ 不支持 | | **可自由转账** | ✅ 默认支持 |…
Q: is it use narwhal and Bullshark
A: No, Sui **no longer uses Narwhal and Bullshark**. Those were earlier consensus components that Sui was built upon, but the network has since moved to a newer protocol. ## Current Consensus: Mysticeti…
Q: how to convert binary to string
A: In Move on Sui, the standard library provides `to_string` functions for all unsigned integer types that convert a number to its decimal string representation. These are available for `u8`, `u16`, `u32…
Q: how do I call rpc to testnet using grpc
A: To connect to Sui testnet using gRPC, you can use the `SuiGrpcClient` from `@mysten/sui/grpc`. Here's how: ## Basic Setup ```typescript import { SuiGrpcClient } from '@mysten/sui/grpc'; const grpcC…
Q: entry fun unregister_capy( registry: &mut Registry, shard_pool: &mut ShardPool, node: NFTNode, ctx: &TxContext ) {
A: Based on the function signature you shared, here is the CLI command to call `unregister_capy`: ```sh sui client call \ --package \ --module \ --function unregister_ca…
Q: i want to build a stablecoin virtual card on SUi, what are the tools required to do build this, want to use zklogin
A: Building a stablecoin virtual card on Sui with zkLogin is an interesting project. Here's a breakdown of the relevant tools and components based on the available knowledge sources: ## zkLogin Integrat…
Q: HOT是什么概念?
A: # Hot Potato(热土豆)模式 在 Sui 的 Move 语言中,**Hot Potato** 是指一个**没有任何能力(abilities)的结构体**。具体来说,它没有 `copy`、`drop`、`key` 或 `store` 这四种能力中的任何一种。[[Hot Potato Pattern](https://move-book.com/programmability/hot-po…
Q: i got this error " src/App.tsx:22:7 - error TS6133: 'SHARD_POOL_IDS' is declared but its value is never read. 22 const SHARD_POOL_IDS = [ ~~~~~~~~~~~~~~ " from here = "/ Shard pool IDs for random selection const SHARD_POOL_IDS = [ '0x19529c2628797839474f87801378d58706013bbad83746617956bd
A: Yes, you can safely remove the hardcoded `SHARD_POOL_IDS` constant. Looking at your `register` function, it **does not use `SHARD_POOL_IDS` at all** — it reads the shard pool IDs directly from the reg…
Q: Nautilus configure_enclave.sh script EC2 instance setup nitro-cli build-enclave EIF image reproducible build Makefile
A:
Q: What is Mysticeti?
A: Mysticeti is the consensus protocol that powers the Sui blockchain. Here's a summary of its key characteristics: ## What is Mysticeti? Mysticeti is a **Byzantine Fault Tolerant (BFT), Directed Acycl…
21 certain — spot check
Q: finalize registration
A: `finalize_registration` is the **second step for OTW (One-Time Witness) coin creation** in the Sui Coin Registry. ### What it does - Takes the `Currency` object that was created and transferred d…
Q: i want to create a sui move file to practice code but i forgot the file need dot what like practice.move right ? or something else
A: Yes, you're correct! Sui Move source files use the `.move` extension. So your file would be named something like `practice.move`. [[Hello, World!](https://move-book.com/your-first-move/hello-world/#di…
Q: but sdk fails most times
A: Based on the knowledge sources, one documented reason why the Sui TypeScript SDK can fail — particularly when working with a **local network** — is a version mismatch between the installed SDK and the…
Q: how can I update a existing env's rpc-url using sui cli?
A: The knowledge sources do not explicitly mention a direct command to **update** an existing environment's RPC URL in place. However, based on the available documentation, the standard approach is to **…
Q: provide me the code snippet that declares an enum with some data inside an arm
A: Here's a code snippet declaring an enum with data inside its variants in Move on Sui: ```move module a::m; public enum Action has drop { Stop, Pause { duration: u32 }, MoveTo { x: u64, y…
Q: hướng dẫn cách tích hợp và kết nối ví sui vào web của tôi
A: # Hướng dẫn tích hợp ví Sui vào ứng dụng web ## 1. Cài đặt **Cho ứng dụng React:** ```bash npm i @mysten/dapp-kit-react @mysten/sui ``` **Cho Vue hoặc các framework khác:** ```bash npm i @mysten/da…
Q: minimum staking token for a validator
A: Sui is transitioning away from a fixed minimum SUI token requirement to a **voting power-based** system under [SIP-39](https://github.com/sui-foundation/sips/blob/main/sips/sip-39.md). ## Current Sta…
Q: Are they compatible with the new move 2024?
A: Based on the knowledge sources, module extensions require the **`2024.alpha` edition** — which is a more advanced/experimental variant of Move 2024, not the standard `"2024"` edition. [[Limitations](h…
Q: Sui GraphQL MoveType layout query concrete type fields layout runtime parsing event type string without source code.
A:
Q: does anyone know if theres any UI we can check for what is the status of the sui bridge global limiter, ie how much is currently available on the bridge limits?
A: The knowledge sources don't explicitly mention a dedicated UI for checking the real-time status of the Sui Bridge global limiter (i.e., how much of the limit has been consumed vs. remains available). …
Q: code ở trên thiếu truyền cursor
A: Đúng, đoạn code thiếu truyền `cursor` vào request. Đây là bản sửa: ```ts async getAllBalances({ owner }: { owner: string }) { let objCursor = undefined; const balanceMap: Record =…
Q: So which one does walrus use
A: The knowledge sources don't explicitly mention which model (coin objects vs. address balances) Walrus uses internally for its storage payments and WAL token transactions. What the Walrus documentatio…
Q: what can one build with deepbook
A: DeepBook on Sui is a shared central limit order book (CLOB) infrastructure layer that builders can integrate to power a wide range of financial applications. Here's what you can build with it: ## Tra…
Q: Nautilus enclave.move full source code all functions register_enclave verify_signature IntentMessage Cap EnclaveConfig
A:
Q: this is a very bad design choice. this makes upgrade extremely difficult to manage
A: The concern is understandable, and the Sui documentation does acknowledge these challenges. Here are some patterns and tools the ecosystem provides to help manage this complexity: ## Mitigations Sui …
Q: how can i check the linear upgrade history? ideally from SUI CLI
A: The knowledge sources do not contain enough information to answer this query directly. The provided documents cover how package versioning works and how to upgrade packages, but they don't describe a …
Q: you know fedora de
A: It seems like your message may be incomplete — it looks like you might be asking about Fedora's package manager (`dnf`) in the context of installing Sui. As I mentioned in my previous answer, the off…
Q: what is authorities_db
A: `authorities_db` is the primary database directory used by a Sui node (`sui-node`) to store all authority-related (validator/full node) data. By default, it is located at `/opt/sui/db/authorities_db` …
Q: 不是某个地址的,而是在链上扫描
A: 根据现有的知识来源,我没有找到关于**全链扫描所有含 `Balance` 的 Object**(不限于某个地址)的直接 API 或方法。 知识来源中提供的查询方式均基于**特定地址**(owner)来获取其拥有的余额或对象,例如: - `client.core.listBalances({ owner: '0xabc...' })` [[Core API](https://sdk.mys…
Q: I have a plain HTML website (no React, no npm, no bundler). I want to detect ALL installed Sui wallets including Slush browser extension using the Wallet Standard. What is the exact CDN script URL I should load? And after loading it, what exact JavaScript code do I call to get all installed wa
A: ## Detecting Sui Wallets in Plain HTML/JS ### CDN Script URL The knowledge sources do not provide a CDN URL for `@mysten/wallet-standard`. The documentation assumes a Node.js/npm/bundler environment…
Q: move 合约如何提取出 IR
A: ## Move 合约如何提取 IR(中间表示) 根据知识来源,Move 语言的编译流程分为以下几个层次: ### Move 编译层次结构 Move 语言由三个不同部分组成 [[Move Language](https://github.com/MystenLabs/sui/blob/main/external-crates/move/README.md)]: 1. **Move 源语言(S…
#6 30 questions medium priority

Event Subscription and BCS Deserialization

BCS deserialization of event bytes without source schema is a blocking gap for indexer builders.

18 certain · 12 uncertain
5 uncertain — needs review
Q: https://github.com/verichains/sui-revela/commit/a4b8b2145678e0105a3c5cf85fd8f44126edb2d5 你知道这个仓库吗
A: 根据我所掌握的知识来源,我无法确认该具体 GitHub 仓库(`https://github.com/verichains/sui-revela/commit/a4b8b2145678e0105a3c5cf85fd8f44126edb2d5`)的详细内容。 我的知识来源中只提到了 **Revela** 这个工具,其官方网址为 `https://revela.verichains.io/`,由 V…
Q: Sui BCS event deserialization normalized Move modules layout struct fields runtime decoding eventType string getNormalizedMoveModule or layout for Move struct.
A:
Q: How can I deserialize Sui Move event BCS bytes when I only have the event type string but not the source model definition? Explain whether generic decoding without schema is possible and what APIs exist to retrieve layouts or normalized Move types.
A:
Q: Sui SDK parse Move struct bytes dynamically from type tag or on-chain package metadata without generated source code. Event contents bytes decoding strategy.
A:
Q: how can i deserialize contentJson in event? Sample: { "packageId": "0x08d13929817c5f2ebff56c60432725f669b83ad496f955581c2d6c1118af8fac", "_packageId": "packageId", "module": "periphery_pool", "_module": "module", "sender": "0x0a
A: Looking at your sample, the `contents.value` field contains raw BCS-serialized bytes of the Move event struct. You need to define the matching struct layout and parse those bytes using the `@mysten/su…
6 certain — spot check
Q: 我怎么获取都call哪些函数?
A: 根据知识来源,以下是获取交易中所有函数调用信息的方法: ## 方法一:使用 Replay 工具生成 Trace ```bash sui replay --trace --digest <攻击TX摘要> ``` 生成的 trace 文件包含了执行过程中所有 Move 指令和函数调用的详细信息,包括 PTB 命令(如 SplitCoins、MergeCoins、TransferObjects)和…
Q: 我想同时舰艇链上多个事件,升级2.x之后有没有什么方法能办到
A: 在 Sui SDK 2.x 升级之后,原来的 `queryEvents` JSON-RPC 方法需要迁移到 **GraphQL** 方式来查询事件。以下是同时监听多个链上事件的方法: ## 使用 `SuiGraphQLClient` 查询事件 首先设置 GraphQL 客户端: ```typescript import { SuiGraphQLClient } from '@mysten/s…
Q: sui move build --lint --path math/fixed_point Your active environment `local` is not present in `Move.toml`, so you cannot publish to `local`. - If you want to create a temporary publication on `local` and record the addresses in an ephemeral file, use the `test-publish` command instead
A: The error is because your active CLI environment is `local`, which isn't defined in your `Move.toml`. For just building and testing (not publishing), you need to tell the CLI which environment's depen…
Q: sui rust sdk
A: ## Sui Rust SDK There are two Rust SDKs available for Sui: ### 1. Sui Rust SDK (`sui-rust-sdk`) — Recommended The current Rust SDK supports **gRPC and GraphQL**. It does **not** support JSON RPC. [[…
Q: If I want to use claude code to write auto margin trading bot, which docs I should give to claude code to make it write the correct script.
A: To help Claude Code write a correct auto margin trading bot on Sui using DeepBook, you should point it to the following documentation: ## 1. DeepBook Margin SDK Overview The main entry point — covers…
Q: next is how to add versioning to my package so that if there is an upgrade in future users are mandated to call only the newer version
A: The standard pattern for this on Sui is the **versioned shared object** pattern. Here's how to implement it: ## 1. Add a `VERSION` constant and a `version` field to your shared object ```move const …
#7 28 questions medium priority

zkLogin and Passkey Authentication

Developers need non-React wallet integration and zkLogin vs. Passkey comparison guidance.

21 certain · 7 uncertain
3 uncertain — needs review
Q: OKLink是不是只有前端可使用?
A: 根據知識來源,OKLink 的描述是: > "Provide fundamental explorer and data APIs on Sui." [[OKLink](https://www.oklink.com/sui)] 從描述來看,OKLink **有提供 API**(不只是前端瀏覽器),所以理論上可以透過後端調用。不過,知識來源中**沒有進一步說明** OKLink API 的具體…
Q: Move.lock file should be committed to git and automated address management in Sui packages
A:
Q: if i have a package A and it has package B as its dependency. now package B is upgraded to B v2. how should do upgrade A to use B v2?
A: When dependency B is upgraded to B v2, your package A **does not automatically use the new version**. You must explicitly upgrade package A to point to the new dependency. [[Upgrading Packages](https:…
12 certain — spot check
Q: could you give me the flow when I build the front-end and contract in testnet of Sui environment. How I sync my wallet into the frontend, and do I need zkLogin for this step
A: ## Building a Sui Frontend + Contract on Testnet Here's the general flow for connecting a frontend to a Move package on Sui Testnet: --- ### 1. Deploy Your Move Package Before building the fronten…
Q: ZKLogin what is it ?
A: ## What is zkLogin? zkLogin is a **Sui-native primitive** that enables you to send transactions from a Sui address using an OAuth credential (like Google or Facebook) **without publicly linking the t…
Q: what about I will build the back-end, which will link to the database(for off-chain) and the contracts on Sui
A: Great approach! This is actually the **recommended architecture** for production Sui dApps — a hybrid system where your backend bridges offchain data (database) with onchain state (Sui contracts). ##…
Q: could you give me API key for using your SUI MCP server
A: I'm sorry, but I'm not able to provide API keys — I'm an AI assistant designed to answer questions about Sui, and I don't have access to any API key management systems or the ability to generate crede…
Q: 哪种方法更适合?
A: 根据知识库,以下是各方法的适用场景对比: ## 方法对比 | 方法 | 适用场景 | |------|----------| | **GraphQL 在线 IDE** | 临时查询、调试、探索数据,无需写代码 | | **curl 命令行** | 脚本自动化、一次性批量查询 | | **TypeScript SDK (`SuiGraphQLClient`)** | 集成到前端/Node.js …
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui: ## 1. Set Up the Sui CLI If you haven't initialized the Sui CLI yet, run: ```bash sui client ``` Follow the prompts to connect to a full node …
Q: can you destroy the struct on limit == some(0)? public(package) fun set_limit_destroy_on_zero( claim_share_coins_cap: &mut ClaimShareCoinsCap, limit: Option, ) { if (limit == some(0)) claim_share_coins_cap.limit
A: Looking at your code, you want to destroy `ClaimShareCoinsCap` when `limit == some(0)`. However, your current function takes `claim_share_coins_cap` **by mutable reference** (`&mut`), which means you …
Q: what is your performance benchmark
A: Sui’s consensus protocol, Mysticeti, has been benchmarked in controlled environments as follows: - With **10 nodes**: - Up to **300,000 transactions per second (TPS)** before latency exceeds **1 …
Q: json rpc 升级grpc后。listOwnedObjects 不支持多type查询了
A: 是的,这是从 JSON-RPC 迁移到 gRPC 后的一个已知限制。 ## 情况说明 **JSON-RPC 的 `getOwnedObjects`** 支持通过 `filter` 传入 `MatchAny` 来同时匹配多个 type,但 **gRPC 的 `listOwnedObjects`** 的 `object_type` 参数每次只支持单个类型过滤。[[gRPC State Servic…
Q: correct it and return the full corrected version " public fun create_pool( app_uid: ID, _: &AdminCap, ctx: &mut TxContext ) { let pool = MinerPool { id: object::new(ctx), start_time: 0, reward_balance: zero(), app_uid, }; transfer::share
A: Here is the corrected full version with `version` and `admin` fields added: ```move public fun create_pool( app_uid: ID, cap: &AdminCap, ctx: &mut TxContext ) { let pool = MinerPool {…
Q: 我现在使用的2.13.2版本的 @mysten/sui,我在比如OKX钱包中打开我的dapp页面做签名的时候,比如签名成功后,本来应该拿到交易哈希的,但是在这种钱包里打开做完签名会获取不到签名的结果,这是为什么?签名使用的signAndExecuteTransaction方法
A: ## 关于 `signAndExecuteTransaction` 获取不到结果的问题 根据知识库中的信息,这个问题很可能与**钱包兼容性**和**返回值处理方式**有关。 ### 可能的原因 #### 1. 返回值是联合类型(Union Type),需要正确解包 在新版 SDK 中,`signAndExecuteTransaction` 的返回值是一个**判别联合类型**(discrim…
Q: # services/blockchain_manager.py from app.services.sui_service import get_sui_transactions from app.services.eth_service import get_eth_transactions class BlockchainManager: async def get_transactions( self, chain: str, wallet: str, after_checkpoint: int = None
A: The error is clear from the traceback: ``` TypeError: BlockchainManager.get_transactions() got an unexpected keyword argument 'page' ``` Your **route handler** in `app/routes/wallet.py` is still pas…
#8 24 questions high priority

Sui NFT, Kiosk, and TransferPolicy Standards

67% uncertain rate is the highest of any theme, revealing a major documentation gap.

8 certain · 16 uncertain
9 uncertain — needs review
Q: One Time Witness OTW package Publisher claim init order Display for NFT collection on Sui mainnet
A:
Q: Where is kiosk_lock_rule defined for TransferPolicy and how does it work with Kiosk lock?
A:
Q: How to airdrop NFTs using sponsored transactions or batch minting and transfer to many addresses on Sui?
A:
Q: What is Object Display on Sui and what fields like name image_url thumbnail_url are recommended for wallets and marketplaces?
A:
Q: How to mint NFTs with fixed supply TreasuryCap or supply cap and one-time witness pattern in Sui Move?
A:
Q: How does TransferPolicy work for NFTs with royalty_rule and kiosk_lock_rule on Sui Kiosk?
A:
Q: 每秒多少个checkpoint?
A: Sui 大约每秒创建 **4 个 checkpoint**。[[Blocks vs Checkpoints](https://docs.sui.io/operators/exchange-integration#blocks-vs-checkpoints)]
Q: 1 epoch on walruson mainnet and testnet how long
A: Here are the epoch durations for Walrus: | Network | Epoch Duration | |---------|---------------| | **Mainnet** | 2 weeks (14 days) | | **Testnet** | 1 day | [[Available Networks](https://docs.wal.a…
Q: nullifier là gì
A: Thuật ngữ **nullifier** không được đề cập trong các tài liệu kiến thức được cung cấp. Đây là một khái niệm mật mã học phổ biến trong các hệ thống ZK (zero-knowledge), nhưng các nguồn tài liệu hiện tại…
2 certain — spot check
Q: suix_queryTransactionBlocks cannot filter by address?
A: Yes, that's correct. `suix_queryTransactionBlocks` (JSON-RPC) has limited filtering capabilities compared to GraphQL. For filtering transactions by address, the recommended approach is to migrate to t…
Q: Give me a Transaction Object Model By JSON
A: Based on the knowledge sources, here is the Transaction object model in JSON format, derived from the GraphQL schema and gRPC proto definitions: ```json { "digest": "string (Base58-encoded 32-byte …
#9 18 questions medium priority

Move Witness, OTW, and Currency Token Creation

Old vs. new currency creation confusion causes repeated init and OTW errors.

13 certain · 5 uncertain
4 uncertain — needs review
Q: Getting "Unbound function 'new_currency' in current scope" error when publishing token
A: The "Unbound function 'new_currency' in current scope" error typically means the `coin_registry` module is not properly imported or the function is being called incorrectly. Here's what to check: ## …
Q: So how back-end side, can store the user's wallet address to execute the contract. Do we need any security field when executing the contracts
A: Great question! Based on the knowledge sources available, there's a relevant pattern for how a backend can handle user wallet addresses and execute contracts securely — using **Enoki**, Mysten Labs' p…
Q: Seal allowlist Move contract reference implementation seal_approve with shared object members
A:
Q: Whe I iwll se the port? after indexing?
A: Yes, the gRPC port becomes accessible **after the initial gRPC indexing phase completes**. As noted in the full node documentation: > "During the initial gRPC indexing phase, your full node may not b…
7 certain — spot check
Q: In the case of a closed-loop token: Who obtains the coin when converting from_coin, and where does the coin come from when calling to_coin? Does the type T of Token correspond to the coin type?
A: Great follow-up questions. Here's what the knowledge sources tell us: ## `from_coin`: Converting a Coin into a Token When you call `token::from_coin`, you pass in an open `Coin`. The function: 1.…
Q: You are using JSON-RPC in above case. how do we do it using GRPC?
A: You're right — the previous example used the legacy `quorum_driver_api()` which is JSON-RPC based. For gRPC in Rust, you would use the `transactionExecutionService` from the `SuiGrpcClient`. Based on …
Q: 在walrus的质押协议中 是否允许用户向一个已注册的 Walrus 但是该节点处于 未激活 un_active_validators状态 的节点中质押wal?
A: 根据当前提供的知识源,我无法给出关于 Walrus 质押协议中"向未激活节点质押 WAL"的明确答案。 知识源中关于 Walrus 质押的内容只涉及: - 质押/解质押的时间窗口(委员会选举中点前后的影响); - 通过 Walrus staking app 进行质押/解质押的操作步骤。[[Walrus 质押文档](https://docs.wal.app/docs/operator-guide…
Q: if i have getters anyway for the fields, is it better to return a mutable ref to read value and alter it or use the getter and then the setter
A: Great follow-up question. Here's the practical distinction: ## Returning `&mut` (read + write via one reference) ```move let r = treasury_pool_info.staker_shares_amount_mut(); let old_value = *r; …
Q: How to define error codes so that they are more meaningful beyond just a number
A: In Move on Sui, there are two main approaches to make error codes more meaningful than plain numbers: ## 1. Named Error Constants (Classic Approach) Define `const` values prefixed with `E` and a cam…
Q: What is the maximum checkpoint per second that sui blockchain can produce?
A: Based on the knowledge sources, Sui does not define a strict "maximum" checkpoints per second figure. What is documented is the **current production rate**: Sui creates about **4 checkpoints per secon…
Q: Sui Move package upgrade compatibility rules and versioned shared objects
A:
#10 12 questions low priority

Full Node Operations and Snapshot Restore

Snapshot restore failures and gRPC indexing misconfigurations block node operators.

8 certain · 4 uncertain
3 uncertain — needs review
Q: am calling from here "user@Jerry-Gold MINGW64 ~ $ sui client objects 0xd124572ffc76842311fc1dfd9393bfbf8dc890d70d826fe0a5027d6ce7d97f28 ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
A: The knowledge sources don’t contain anything specific about your `capy_node` module or this exact error pattern, so I can’t fully diagnose from docs alone. I can only rely on what they say about coins…
Q: 我的网络环境是正常的 其他同事出现了这个问题
A: 根据知识来源,我无法找到关于 v1.68.1 中 `ListBalances` 返回偶发性错误余额的具体 bug 记录。 目前知识来源中唯一相关的已知 bug 是 v1.65.2 修复的余额索引问题(针对从 1.64 版本恢复索引的节点)[[Release Notes v1.65.2](https://docs.sui.io/references/release-notes#v1652)],而你…
Q: TTO 支持以下类型的父对象有上面说的4种,那不支持的类型有哪些?
A: 根据知识来源,TTO 机制对父对象的限制如下: **不支持作为父对象的类型:** - **Immutable(不可变对象)**:不可变对象无法作为父对象接收子对象。即使你将一个对象转移给不可变对象的 ID,也**无法访问**该子对象。 [[Owner enum](https://github.com/MystenLabs/sui/blob/main/crates/sui-types/src/o…
5 certain — spot check
Q: how validator works at core level.
A: ## Validator Core Mechanics on Sui ### 1. Staking & Voting Power Each validator maintains a **staking pool** that tracks delegated SUI and compounds rewards. Voting power is proportional to stake, b…
Q: I would like to know what's the fastest way to build on DeepBook
A: The fastest way to build on DeepBook is to use the **DeepBookV3 TypeScript SDK** (`@mysten/deepbook-v3`), which abstracts away the complexity of transaction calls and building Programmable Transaction…
Q: enable-index-processing: false enable-event-processing: true 2개 옵션차이?
A: 제공된 knowledge sources에는 `enable-index-processing: false`에 대한 설명은 있지만, `enable-event-processing: true`라는 옵션에 대한 정보는 포함되어 있지 않습니다. 알려드릴 수 있는 내용은 다음과 같습니다: ### `enable-index-processing: false` 이 옵션은 S…
Q: Walrus publisher endpoints mainnet
A:
Q: Walrus SDK WASM dependencies Cloudflare Workers
A:
#11 13 questions low priority

Sui Bridge and Cross-Chain Operations

Bridge claim PTB composition and global limiter behavior are underdocumented for integrators.

9 certain · 4 uncertain
4 uncertain — needs review
Q: non-defining modules can mint other's objects?
A: No. In Sui Move, non-defining modules **cannot** create (mint) objects of a type they don't define. This is enforced by Move's **privileged struct operations** rule: > Struct types can only be creat…
Q: 使用json-rpc老的方案能不能做到?
A: 根据知识库中的信息,JSON-RPC 方案**无法直接获取交易时间戳**(`timestamp`)作为查询字段返回。 `suix_queryTransactionBlocks` 可以查询某地址的交易列表并返回 `digest`,但如果需要获取每笔交易的时间,需要再用 `sui_getTransactionBlock` 单独查询每个 digest 的详情(带 `showEffects: true`…
Q: ok understood
A: Got it! Feel free to ask if you have any more questions about Sui. 😊
Q: borrow_publisher returns a reference, but in a PTB you can chain it — borrow in one call, pass the reference to the next call in the same transaction.
A: This is actually a common misconception worth clarifying. **PTBs do not currently support passing references returned from one transaction command into another command.** As the Sui documentation exp…
5 certain — spot check
Q: how can rust write sui programming lang, and sui lang use it to create a blockchain and the ecosystem
A: Great question! Here's how Rust and the Move language work together to power Sui: ## How Rust Builds the Sui Blockchain Sui itself — the blockchain infrastructure — is **written in Rust**. This incl…
Q: can any node operator change the zklogin protocol config max epoch?
A: Based on the knowledge sources, the answer is **no** — individual node operators cannot unilaterally change the zkLogin protocol config `max_epoch` setting. Here's what the sources do and don't say: …
Q: How do I deploy to Sui?
A: Here's how to deploy (publish) a Move package to Sui: ## 1. Set Up the Sui CLI If you haven't initialized the Sui CLI yet, run: ```bash sui client ``` If prompted, enter `y` to connect to a full n…
Q: can the sui node use env parmeters for the key management refrence
A: The knowledge sources provided do not contain enough information to directly answer whether `sui-node` itself supports environment variable references for key management configuration (e.g., pointing …
Q: Archival Service 有开源吗
A: 根据知识来源,Archival Service 的相关组件是**开源的**,代码托管在 Mysten Labs 的官方 Sui 仓库中: - **`sui-kvstore-alt`**(Indexer)和 **`sui-kv-rpc`**(gRPC 服务)均属于 Sui 主仓库的一部分,源码位于: `https://github.com/MystenLabs/sui` [[Sui Repo]…
#12 10 questions low priority

Sui Clock, Timestamp, and gRPC Node Configuration

Clock testing helpers and gRPC port deprecation guidance are missing from prominent locations.

7 certain · 3 uncertain
3 uncertain — needs review
Q: how do I get usd amounts of transactions
A: The knowledge sources do not contain enough information to answer a query about getting **USD amounts** of transactions on Sui. The available documentation covers: - **Balance changes in native coin …
Q: how to enable grpc on full node and on what port does it run?
A: ## Enabling gRPC on a Sui Full Node ### How to Enable gRPC Add the following to your `fullnode.yaml` configuration file: ```yaml rpc: enable-indexing: true ``` This enables gRPC indexing on your…
Q: opheliacardoz24@gmail.com
A: I'm sorry, but your message appears to be just an email address, and I'm not sure what you're asking. I'm designed to answer questions about Sui, the Layer 1 blockchain developed by Mysten Labs. Coul…
5 certain — spot check
Q: gas cost = computation cost + storage cost − storage rebate this equation, where it is
A: This equation represents the **net gas fees** formula on Sui. Specifically, it appears in the storage rebates section of Sui's gas fee documentation: ``` net_gas_fees = computation_gas_fee + storage_…
Q: where in documentation we are specifieng something about dry run
A: Dry run is mentioned in several places across the Sui documentation and tooling: ## Sui CLI - **`sui client call`**: Use the `--dry-run` flag to perform a dry run of a Move call without executing it…
Q: tôi đang sử dụng bản có chocolately, làm sao để chuyển qua của suiup đây?
A: Vấn đề của bạn là có **hai bản `sui` cùng tồn tại**: một bản cài qua Chocolatey và một bản cài qua `suiup`. Windows đang ưu tiên bản Chocolatey cũ hơn. ## Cách chuyển sang dùng bản của `suiup` ### B…
Q: Θέλω να πάω στο hub στην Αθήνα
A: Μπορείς να παρακολουθείς τα νέα και τα events του **SuiHub Athens** και να βρεις ευκαιρίες να πας από τα επίσημα κανάλια του Sui: - Το SuiHub Athens είναι φυσικός χώρος στην Αθήνα που φιλοξενεί works…
Q: ┌─[cabel@parrot]─[~] └──╼ $curl -sSfL \ https://raw.githubusercontent.com/Mystenlabs/suiup/main/install.sh \ | sh suiup installer script This script will install the suiup binary to your system. Detected OS: linux Detected architecture: x86_64 Latest version: v0.0.10 Download URL: https://github
A: The installer is warning you that a `sui` binary already exists on your system (likely installed via a package manager), which could conflict with the `suiup`-managed version. Here's what to do: ## S…

User engagement

649
Questions asked
303
Unique users
103
Returning users (2+ questions)
2.1
Avg questions per user

Top returning users

User ID Questions
1c310763-acaa-4ca1-9221-9b0aa49db1c0 33
b8f29253-ae5e-4b9a-8a79-32d470f569b1 15
e242bd67-e4fb-4feb-a6c2-fce172bd0d88 13
fc1ddec3-7013-409d-b948-c4b5e1c682bb 12
c4c62bb1-62ca-4a33-9e86-903a068f7283 11
55fde635-9249-4c3c-9d3a-140000b72b84 10
560faa1f-b37e-4c9e-80b2-49090b0a6f58 10
9afa1e41-8a03-40ed-ae56-80263ae31959 9
695e29d9-d9f4-4f08-9afe-88bb3e89688d 8
a699eb92-7e9f-40b7-86d0-fad9f337bf8a 8
c3028e18-9b89-49fe-beb4-40ee932f0e61 8
b2c1a0ff-e9d5-448b-b0ed-3961c0274bd6 7
e6d425eb-8d4e-4d23-93dd-9dfcd953654a 7
d8bcb920-acfb-43a1-b0e3-ff16d40dc1d4 7
f071e107-6712-47d5-8d9f-6473b4d6e347 7
5cbd5cf7-cb6f-4ecb-a1fa-1a0eac1ddaa5 7
68a362bb-0a1f-43f3-8ec6-97242fe9d48d 7
59ff3b84-9dda-4e1a-ae6d-0a006827e317 7
1c7d872a-38fd-45c8-bccb-031c1b32439a 7
7bb7f7dc-4a03-47ac-b721-1f2343ec0366 7

Questions per user

Questions Users
1 200
2 39
3 23
4 9
5 6
6 6
7 9
8 3
9 1
10 2
11 1
12 1
13 1
15 1
33 1

Recommended Actions

high Documentation Partial

Publish Unified PTB Cookbook with coinWithBalance and Sponsored Flow Examples

Create a single PTB guide covering coinWithBalance, splitCoins, sponsored transactions, cross-transaction result references, and common mistake patterns.

95 questions this week with 18 uncertain; coinWithBalance and cross-transaction result misuse are the top blockers for app developers.

↑ Reduce repeat PTB questions and bot uncertainty by providing a canonical, copy-paste reference.
PTB docs exist at https://docs.sui.io/develop/transactions/ptbs/ covering building PTBs, inputs/results, and signing, and sponsored transactions are covered at https://docs.sui.io/develop/transaction-payment/sponsor-txn.md, but there is no unified cookbook with coinWithBalance, common mistake patterns, and cross-transaction result reference examples in one place.
high Documentation Partial

Publish gRPC/GraphQL Migration Reference with JSON-RPC Method Equivalence Table

Create a side-by-side mapping of JSON-RPC methods to gRPC and GraphQL equivalents with pagination and auth examples.

34 uncertain answers out of 84 gRPC questions; developers are actively migrating and hitting gaps daily.

↑ Lower the 40% uncertain rate on API migration queries and reduce duplicate gRPC questions.
Separate gRPC and GraphQL sections exist at https://docs.sui.io/develop/accessing-data/grpc/ and https://docs.sui.io/develop/accessing-data/graphql/, but there is no side-by-side JSON-RPC to gRPC/GraphQL method equivalence table with pagination and auth examples.
high Documentation Partial

Create Comprehensive NFT, Kiosk, and TransferPolicy Developer Guide

Write an end-to-end guide covering OTW minting, Object Display fields, Kiosk setup, TransferPolicy rules, royalty_rule, kiosk_lock_rule, and NFT ownership detection.

16 of 24 NFT/Kiosk questions were unanswered confidently, the highest uncertain rate of any theme at 67%.

↑ Directly address the largest bot failure category and unblock NFT marketplace integrators.
Kiosk docs exist at https://docs.sui.io/onchain-finance/kiosk/, Object Display is covered at https://docs.sui.io/develop/objects/display/, and TransferPolicy/custom rules are at https://docs.sui.io/develop/objects/transfers/transfer-policies.md, but there is no single end-to-end guide covering OTW minting, royalty_rule, kiosk_lock_rule, and NFT ownership detection together.
high Documentation ✓ Confirmed

Consolidate Duplicate Onboarding Install URLs via Redirects and Canonical Tags

Redirect /guides/developer/getting-started/sui-install to /getting-started/onboarding/sui-install and audit all duplicate onboarding paths.

143 visitors land on the legacy install URL weekly, splitting SEO value and causing version confusion.

↑ Consolidate ~500 combined weekly visitors to a single authoritative onboarding path.
The llms.txt site map shows onboarding install content under https://docs.sui.io/getting-started/onboarding/sui-install.md only, with no evidence of redirect auditing or canonical tag consolidation for duplicate paths like /guides/developer/getting-started/sui-install.
high Tooling ✓ Confirmed

Improve sui client publish CLI Error Messages for Common Failure Modes

Add actionable error messages for unpublished dependency, PATH misconfiguration, multisig publish, and gas budget errors in the sui client publish flow.

76 deployment questions this week, many involving PATH setup and publish errors that produce cryptic output.

↑ Reduce first-publish support load by surfacing remediation steps directly in the CLI output.
The deploy/publish docs at https://docs.sui.io/develop/publish-upgrade-packages/deploy.md are listed but there is no indication of actionable error message guidance for unpublished dependency, PATH misconfiguration, multisig publish, or gas budget failures in the sui client publish flow.
medium Tooling ✓ Confirmed

Add gRPC Indexing Validation and Startup Diagnostic to Full Node

Emit a clear warning or startup check when gRPC indexing is not enabled but gRPC port is bound, preventing silent PERMISSION_DENIED errors.

Multiple questions this week show node operators confused by PERMISSION_DENIED on simulateTransaction when enable-indexing is missing from fullnode.yaml.

↑ Eliminate a top class of node operator support questions by surfacing misconfiguration at startup.
Full node operator docs exist at https://docs.sui.io/operators/full-node/sui-full-node.md and gRPC docs at https://docs.sui.io/develop/accessing-data/grpc/, but there is no mention of startup diagnostics or warnings when gRPC indexing is not enabled while the gRPC port is bound.
medium Developer Experience ✓ Confirmed

Add BCS Event Deserialization Utility to TypeScript SDK Using On-Chain Layout

Build an SDK helper that accepts an event type string, fetches the Move struct layout via GraphQL getNormalizedMoveModule, and returns a typed BCS decoder without requiring source code.

Multiple questions this week show developers blocked on deserializing event bytes when they lack the source definition, and the bot had 12 uncertain answers on this theme.

↑ Unblock indexer and event-driven application builders who work with third-party contracts.
No BCS event deserialization utility or SDK helper that fetches Move struct layout via GraphQL and returns a typed BCS decoder is mentioned anywhere in the listed documentation pages.