1. ATP Developer Portal
  2. /
  3. /
  4. Network
⌘K

Go to page

Search the dashboard pages.

Workspace
  • Home
  • Atoms
  • Delegations
  • Disputes
  • Domain
Developers
  • API keys
  • Network
  • Lookup
  • Theme
Workspace
  • Home
  • Atoms
  • Delegations
  • Disputes
  • Domain
Developers
  • API keys
  • Network
  • Lookup
On-chain

Records are read from BSC Testnet at block 142,718,768. Chain data is public: signing in only chooses what is shown as yours.

Network

Everything your code needs to point at the selected network.

BSC TestnetChain ID 97Reads availableWrites available

Connection
Where this portal reads the network from.
Chain ID
97
RPC host
bsc-testnet-rpc.publicnode.com
Block explorer
testnet.bscscan.com
Deployment
bsc-testnet-20261008
Latest snapshot block
#142 718 768
Contracts
One address per ATP module on this network.
Admission config
Every new Atom and delegation session must carry this config id.
Config ID
0x7abc53…36bd
Creation paused
Tokens
Settlement tokens admitted by this deployment.
TokenAddressDecimalsFee classFee rate
SINSinera
0x0cfc…7712
Fees
Protocol fee rates. Each rate is fixed on the Atom it applies to.
FeeRateWhen it applies
Ordinary, SIN1.5%Ordinary fee on an Atom settled in SIN. It is fixed when the Atom is created and does not change afterwards.
Ordinary, supported stablecoin2.5%Ordinary fee on an Atom settled in a supported stablecoin. It is fixed when the Atom is created and does not change afterwards.
SDK quickstart
Read one Atom on this network with @sinera/atp-sdk.

The SDK is not yet published to npm. Build the package from the ATP-Protocol repository (sdk/typescript) and install the tarball locally.

ModuleAddressWhat it is for
SIN0x0cfc…7712Fixed-supply SIN settlement token (ORI replacement); the SIN fee class
IntentValidator0xf93f…ee9bIntent/policy/signature validation and stateless Core/case receipt consistency projection
ProtocolConfigRegistry0xe13e…a181Append-only module configurations and current admission config
AtomCore0x5db8…a46cAtom identity, lifecycle, deadlines, terminal outcome, final route
EscrowVault0x0ede…649bExact ERC-20 escrow accounting, transfers and fee claims
SettlementFeePolicy0x8f75…531aFee snapshot terms and fee-token admission (SIN 150 / stablecoin 250 BPS; dispute 500 / 1500 BPS)
AssetRegistry0x3211…e514Inventory, reservations, and conserved terminal asset disposition
DelegationManager0x1624…38d5Root-created bounded sessions and monotonic consumption
ArbitrationAwardAuthority0x60a5…c959Immutable 2-of-3 committee signature verification
ArbitrationCaseManager0xd507…3b2bDispute procedure, filings, trace, consensus and independent-award verification
SettlementEngine0x47bd…5e33Validation and execution of a Core-authorized terminal decision
TimeExecutor0xef39…3cd2Optional permissionless batching of Core timeout calls
ATPMetadataRegistry0x7503…5abeAppend-only root-publisher metadata commitments
ATPReceipt0xba7d…36f8Optional post-finality soulbound receipt projection
SessionExecutorFactory0x1721…2294Factory for bounded prefunded SessionExecutor payers
SessionExecutor0x69b0…0fdcNarrow prefunded payer for createAndEscrowWithSession
No, creation is open
18
SIN
1.5% (150 bps)
USDTUSDT (test mock)Test token
0x8800…78096Supported stablecoin2.5% (250 bps)
USDCUSDC (test mock)Test token
0xbdca…41e56Supported stablecoin2.5% (250 bps)
Dispute, self-settlement5%A dispute the buyer and the seller settle between themselves.
Dispute, Sinera or award15%A dispute decided through the Sinera route or by an independent award.
read-atom.ts
import { createPublicClient, http } from "viem";import { createAtpClient, type Deployment } from "@sinera/atp-sdk";
// The RPC endpoint. Host: bsc-testnet-rpc.publicnode.com; use your provider's full URL.const publicClient = createPublicClient({ transport: http("https://bsc-testnet-rpc.publicnode.com"),});
// The pinned deployment: every value is from this page. A runtime hash is the Keccak-256// of the module's deployed code; the SDK refuses to read if the chain does not match it.const deployment: Deployment = { chainId: 97n, configId: "0x7abc539244cf4517dc09c0ea4bb3458eddecf79a2c37249e740da03f3d5b36bd", deploymentBlock: 135492193n, modules: { AtomCore: { address: "0x5db8ce9604c03cc43a5dc9dc20fb76583ba5a46c", runtimeHash: "0x206d00cbdde264c6ebd40571b72a0c9b00b74ca98ab4a05930f2f39f302f5917" }, ProtocolConfigRegistry: { address: "0xe13eb0ab51da756a3595644b3b8ba9620131a181", runtimeHash: "0xfc2fd691bfb683ec0a077ded675eb11d78b6a326f8de7c560f83b9ffbde987fd" }, },};
const atp = createAtpClient({ publicClient, deployment });
// Reads default to finalized state.const atom = await atp.read.atom( { chainId: 97n, atomCore: "0x5db8ce9604c03cc43a5dc9dc20fb76583ba5a46c", atomId: "0x30797e1f193f1992328e26bf82a156e4b2318da2ab51a69cad962aa44083e6d1" }, { blockTag: "finalized" },);console.log(atom.state, atom.outcome);