NEAR Contract Model
How NEAR's sharded execution, async cross-contract calls, and storage staking model differ from Ethereum and Solana — and what writing production NEAR contracts looks like.
NEAR's Bet — Sharded Execution
NEAR Protocol is a sharded blockchain that splits the network into multiple 'shards' that process transactions in parallel. Originally launched with 4 shards (planned to scale to many more), the model lets the network scale horizontally without requiring all validators to process every transaction. Each shard maintains its own state; cross-shard transactions are handled via async message passing. This is a different scaling approach than rollups or single-chain throughput optimisation.
Contracts in Rust or AssemblyScript
NEAR contracts are written primarily in Rust (with some AssemblyScript support, though Rust is dominant). Contracts compile to WebAssembly and run inside a NEAR runtime. The contract model is account-based — each contract has an account, and contracts can call other contracts. Unlike Ethereum's synchronous calls, NEAR contract calls are async: when contract A calls contract B, A's execution finishes; B runs in a subsequent transaction block; A receives a callback with B's result.
Account Names — Human Readable
NEAR uses human-readable account names by default: alice.near, contract.alice.near, etc. The hierarchical structure (subaccounts under accounts) provides namespacing similar to DNS. This is a quality-of-life feature relative to Ethereum's 0x... addresses. Users can use any-account-name they want as long as it's available, similar to claiming an ENS name but native to the protocol rather than bolted on.
- Sharded execution: multiple shards process transactions in parallel
- Contracts written in Rust (primarily), compile to WebAssembly
- Cross-contract calls are async: callbacks rather than synchronous returns
- Human-readable account names baked in (alice.near format)
Key Takeaways
- NEAR uses sharded execution for horizontal scaling
- Contracts are Rust-based and compile to WASM
- Async cross-contract calls are structurally different from Ethereum's synchronous calls
- Human-readable account names improve UX over hex addresses
Related Content
Related Coins
Related Topics
Key Terms
More Topics
Browse all 179 topicsMove Language (Aptos and Sui)
Why Move's resource model fundamentally differs from Solidity, how Aptos and Sui evolved from the same Facebook-origin language, and what 'resources' mean for safety guarantees.
Cairo and StarkNet Contract Development
How Cairo as a language differs from Solidity and Rust, why account abstraction is native to StarkNet, and what writing production StarkNet contracts actually involves.
CosmWasm and Cosmos Smart Contracts
How CosmWasm enables smart contracts on Cosmos chains via WebAssembly, what makes the developer experience distinct from EVM, and why Cosmos's sovereign-chain architecture is a different bet from rollup-style scaling.
Cardano Plutus and EUTxO Contracts
How Cardano's Extended UTXO (EUTxO) model differs fundamentally from Ethereum's account model, what writing Plutus contracts actually involves, and why concurrency on Cardano works differently.
ICP Canister Model
How Internet Computer (ICP)'s canisters fundamentally differ from Ethereum-style smart contracts — combining compute, storage, and HTTP-server-like functionality in a single on-chain primitive.
ERC-721A and Compressed NFTs
How gas-optimised NFT standards like ERC-721A made batch mints affordable, and how Solana state compression takes the same idea further by storing NFT data in Merkle trees off-chain.
ERC-6551 Token-Bound Accounts
How ERC-6551 lets NFTs own smart contract wallets that can in turn own other assets — enabling 'NFTs that own NFTs,' character-bound inventories, and new composability patterns.
Ordinals, Inscriptions, and BRC-20
How Casey Rodarmor's 2023 Ordinals protocol brought NFTs and tokens to Bitcoin via inscriptions, what BRC-20 means in practice, and how Runes evolved the model.
References & further reading
- primary
- secondaryWikipedia — NEAR Protocol
NEAR background.