Skip to content

Rewrite Application Integration Guide (system-integrators-guide.mdx) #400

@tippi-fifestarr

Description

@tippi-fifestarr

Rewrite Application Integration Guide (system-integrators-guide.mdx)

Problem

The current Application Integration Guide is marked deprecated in its own frontmatter and dates back to Oct 2022. BD teams need a reliable page to point partners to when onboarding existing blockchain applications onto Aptos, and this guide should be that page. Right now it can't fill that role because:

  • References coins as primary (Aptos is now Fungible Asset first)
  • References creation numbers and event handles (no longer current patterns)
  • All examples use the Python SDK (TypeScript is the primary supported SDK)
  • Transaction submission step is missing from the flow entirely
  • 328 lines of coin-centric event tracking with creation_num / guid / key derivation
  • No mention of finality, signing schemes, simulation, orderless transactions, transaction filtering, Geomi, or the Explorer
  • The content doesn't flow in a logical order for someone trying to integrate

Meanwhile several major features have shipped since 2022 that integrators need to know about.

Scope from Mar 12 discussion

We discussed what this guide should cover for the target audience (developers who already know blockchain concepts and have built applications on other chains, mostly EVM teams in practice).

Topics identified:

  1. Finality of the chain
  2. How to track balances
  3. How to sign transactions (Ed25519, secp256k1, passkeys)
  4. How to query historical data and verify it
  5. Transaction lifecycle: build, encode, sign, submit, check status
  6. Transaction types (entry functions vs Move scripts)
  7. BCS encoding (brief, with link out)
  8. Simulation before submission
  9. RPC providers (Geomi)
  10. Asset standards (FA first, coin migration)

Format: skim doc with link-outs, not rabbit holes. Modeled after the Exchange Integration Guide. Tabs for code examples where it makes sense. Flag anything that's missing for follow-up.

AI tools callout: The guide should mention early on that AI coding assistants can help with Aptos integration. Point to the Aptos Agent Skills for Claude Code, Cursor, and Copilot users, and the MCP server for direct API access. There's no application integration skill yet, but Chris is planning to build one. The guide itself can serve as the foundation for what that skill should cover.

Research findings

Audited the current guide against live Aptos state and recent docs (last year of commits, 11 key pages read in detail). Key findings:

AIP-115 Stateless Accounts is live on mainnet. Accounts now implicitly exist with default values (auth_key = address, sequence_number = 0). GET /accounts/{address} never returns 404. Explicit account creation is now optional. This changes the account initialization section significantly.

AIP-123 Orderless Transactions adds a nonce-based alternative to sequence numbers. Enables parallel transaction submission from multiple machines with a 60s max expiration. The guide should present both paths (sequence-based for ordered execution, nonce-based for parallel).

Transaction Filtering (Indexer gRPC v2, added Nov 2025) provides server-side DSL filters for selective transaction processing. This is the modern replacement for the 328-line event-handle parsing approach in the current guide.

Aptos Explorer now shows auto-verified source code on all networks (no Etherscan-style verification needed), supports read/write contract interaction during development, and displays real-time TPS.

Geomi (formerly Aptos Build, build.aptoslabs.com now redirects to geomi.dev) provides RPC, Gas Station, and no-code indexing.

Events are not deprecated. The old key field within events was being replaced by guid, but the events system itself is still the primary tracking mechanism. Transaction Filtering is a newer efficient alternative for production.

TypeScript SDK v6 changes (from reviewing aptos-agent-skills):

  • aptos.getBalance() is the current way to check balances; getAccountCoinAmount is deprecated. The Exchange Guide still uses the older view function pattern.
  • Always call waitForTransaction() after submitting. Submission means the node accepted the transaction, not that it committed.
  • deploy-object is the modern deployment command, replacing aptos move publish.
  • Use bigint for u128/u256 values to avoid JavaScript precision loss.
  • The canonical transaction pattern is: build.simple() then signAndSubmitTransaction() then waitForTransaction().

Smoke tested the outline against a real EVM to Aptos port (Deal-or-Not, 16 Solidity contracts to Move). The aformentioned updates could solve ~70% of integration-layer friction.

Proposed structure

  1. Overview (what this covers, who it's for)
  2. Infrastructure & Getting Started (Geomi, full node, indexer, SDKs)
  3. Accounts & Addresses (AIP-115 stateless accounts, address formats, creation now optional)
  4. Aptos Explorer (real-time TPS, auto-verified code, read/write contract interaction)
  5. Asset Standards (FA first, Coin migration, 8 decimals/octas)
  6. Signing & Transaction Types (signing schemes, BCS vs JSON, entry functions vs scripts)
  7. Transaction Lifecycle (build, simulate, sign, submit, wait, finality; both sequence-based and orderless paths)
  8. Retrieving Balances (FA + Coin/migrated, indexer for production)
  9. Tracking Balance Changes (Transaction Filtering for production, events, gas tracking)
  10. Historical Data & State (versioning, pruning, REST API + indexer)
  11. Testing (testnet, faucet, simulation sessions)

Estimated scope

Current guide is 638 lines. Targeting 300 to 400 lines. Maybe couple diagrams. The coin tracking sections compress significantly with the indexer-first approach, but new sections for infrastructure, Explorer, signing, and testing add back some.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions