DecentralChainDecentralChain
  • Technologysubmenu
    Why DecentralChainWhat sets this chain apartHow the chain worksPublic blocks, public validatorsBlockchain featuresWhat is on, what is being voted onFinalityThe rollback bound, and what is unverifiedRIDEContracts that cannot run foreverFor machinesUnsigned transactions and RIDE in processSolana bridgePhantom and Solflare, mainnet onlyNetwork statusHeight, sync and peers, read live
  • Ecosystemsubmenu
    DCC public saleOpens 26 SeptemberDecentralCoinSupply, allocation and tokenomicsDecentral.ExchangeexternalDecentralPropDecentralScansoonCubensis ConnectDecentralAmericasoon
  • Developerssubmenu
    QuickstartRead, compile and composeREST APIEvery endpoint, no key, no accountSDK packages19 on npm, 5 in the workspaceSigningAuthorising without custodyMCP & AgentsThe chain, and the tools we have builtDecentralChain NodeRun a validator, and what LPoS pays
  • Communitysubmenu
    ChannelsTelegram, X and the reposDCC AirdropAllocated, not yet arrangedGovernanceWho can actually decide anythingBrand kitThe mark, and how to use it
  • Documentation
XGitHub
Start buildingarrow
DecentralChainDecentralChain

An open Layer-1 with Leased Proof of Stake.

Native token: DecentralCoin (DCC)

Fixed supply 100,000,000 DCC
Minted at genesis, never inflated

  • X
  • GitHub
  • Telegram

Build

  • Quickstart
  • REST API
  • SDK packages
  • Signing
  • MCP & Agents
  • Documentation

Ecosystem

  • DCC public sale
  • DecentralCoin
  • Decentral.Exchange
  • DecentralProp
  • DecentralSwap
  • Cubensis Connect

Network

  • Blockchain features
  • Finality
  • RIDE
  • Solana bridge
  • Run a node
  • Network status

Project

  • Community
  • DCC Airdrop
  • Governance
  • Brand kit
  • GitHub
mainnetHeight—Node—read from your browser
© 2026 DecentralChainOperated by DecentralExchange · Cédula Jurídica 3-102-956858
Jacó, Garabito, Costa Rica
TermsPrivacySecurityLicensingdecentralchain.io

DecentralSwap

An AMM you can
read end to end

A constant-product automated market maker built from two RIDE contracts, both deployed on mainnet. There is no off-chain matching engine and no privileged operator in the swap path: the contracts are the product, and both addresses are below.
Contracts2, both on mainnetModelConstant productWritten inRIDE

On this page

  • What it is
  • The two contracts
  • Checking they are on mainnet
  • The SDK signs nothing

What it is

Constant-product pools: the pool holds a reserve of each asset and prices a swap so their product stays fixed, which is the same shape as the AMMs you already know. What differs is where it runs. Both halves are RIDE contracts on the chain itself, so a swap settles in the same place the balances live.

The two contracts

PoolCore

3DcZHm89byJjfdkHTJ9m89pyeMk8vChDGtD

Holds reserves and does the arithmetic of a swap.

SwapRouter

3Dc9mKvihe2ujkk7co5oA2HnUJ9W1CGQsYg

The entry point a caller invokes, routing into the pool.

Checking they are on mainnet

You do not have to take that on trust, and it is not a claim you should take on trust about any contract. A DecentralChain address carries its chain byte at index 1 of the decoded bytes. Both addresses above decode to 0x3f, which is ?, mainnet. Testnet would be !.

decode it
# byte 1 of the base58-decoded address is the chain byte
node -e "const b=require('bs58').decode('3DcZHm89byJjfdkHTJ9m89pyeMk8vChDGtD');console.log(b[1].toString(16))"
# 3f

The SDK signs nothing

Note
@dcc-amm/sdk reads over fetch and returns unsigned transactions. It holds no keys and signs nothing: what comes back is an InvokeScriptTx object for you to sign with a wallet. Nothing in the swap path ever needs your key.

It is also not published to npm. It resolves inside the monorepo workspace and nowhere else, so an example that installs it will not work outside the repository. The packages page lists the four others in the same position.

Next

RIDE

The language both contracts are written in, and the version ceiling on mainnet.