API
Pull SAFE devnet data programmatically straight from the SafeCoin network's own JSON-RPC API.
Chain JSON-RPC API
This is the same JSON-RPC endpoint this explorer itself reads from, a direct line to the devnet, not limited to what we've indexed. Endpoint: https://api.safecoin.dev. Standard JSON-RPC 2.0 over HTTP POST. Every request needs a jsonrpc, id, method, and params array.
Swipe left/right on the table below to see more columns.
| Method | Description |
|---|---|
| safe_getLatestCheckpointSequenceNumber | Latest checkpoint sequence number. |
| safe_getCheckpoint | Fetch a checkpoint by sequence number or digest. |
| safe_getTotalTransactionBlocks | Total transaction count on the network. |
| safe_getTransactionBlock | Fetch a transaction block by digest, with optional effects/events/balance/object changes. |
| safe_getObject | Fetch an object by ID, with optional content/type/owner options. |
| safex_getLatestSafeSystemState | Current epoch, validator set, stake, and subsidy state. |
| safex_getAllBalances | All coin balances owned by an address. |
| safex_getAllCoins | Paginated coin objects owned by an address. |
| safex_getOwnedObjects | Paginated objects owned by an address, with optional type filter. |
| safex_getCoinMetadata | Name, symbol, and decimals for a coin type. |
| safex_getTotalSupply | Total supply for a coin type. |
| safex_getStakes | Active delegated stakes for an address. |
| safex_getCommitteeInfo | Validator committee info for an epoch. |
| safex_getBalance | Balance of one coin type for an address (defaults to SAFE). |
| safex_queryTransactionBlocks | Query transaction blocks by filter (sender, recipient, input/changed object, move function), paginated. |
| safex_getDynamicFields | Dynamic fields owned by a parent object, paginated. |
| safex_getReferenceGasPrice | Current reference gas price for the epoch. |
Example:
$ curl https://api.safecoin.dev \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"safe_getLatestCheckpointSequenceNumber","params":[]}'
{"jsonrpc":"2.0","id":1,"result":"23593237"}Or with the SafeCoin TypeScript SDK (@safecoin/safe), the same client this explorer uses:
import { SafeClient, getFullnodeUrl } from "@safecoin/safe/client";
const client = new SafeClient({ url: getFullnodeUrl("devnet") }); // https://api.safecoin.dev
const seq = await client.getLatestCheckpointSequenceNumber();
const bal = await client.getBalance({ owner: "0x…" }); // SAFE balance
const meta = await client.getCoinMetadata({ coinType: "0x2::safe::SAFE" });
const txs = await client.queryTransactionBlocks({
filter: { FromAddress: "0x…" },
options: { showEffects: true, showBalanceChanges: true },
limit: 20,
});Some Beta-status features aren't supported on this endpoint yet, notably showDisplay on object queries returns an explicit "not supported" error rather than display data. See individual pages (e.g. Object, NFTs) for how this explorer works around that.

