Connect over JSON-RPC
The Basis Network devnet is a public development network, open to the internet, but every request needs a personal token. Everything you need to connect is right here.
It is not a production environment: devnet LITHOS has no value and the chain may be reset without notice.
Setup
The token goes in the path, not in a header. Export a single variable and the official CLI works with no other changes:
export BASIS_RPC_URL=https://rpc.basisnetwork.com.co/<your-token> The same URL works with any client that speaks JSON-RPC over HTTPS:
curl -X POST https://rpc.basisnetwork.com.co/<your-token> \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' Each token identifies one person and is revoked individually. Don’t publish it or paste it into a repository: whoever has it talks to the network on your behalf. If it leaks, ask us for a new one and we’ll revoke the old one on the spot.
Network details
| Parameter | Value |
|---|---|
| Chain ID | 6969 (0x1b39) |
| Internal name | basis-devnet-6969 |
| Currency | LITHOS |
| Smallest unit | tomo — 1 LITHOS = 1,000,000,000 tomos |
| Decimals | 9 |
| Minimum base fee | 100 tomos per unit of gas |
| Cost of a transfer | 21,000 gas × 100 = 0.0021 LITHOS |
| Block time | ≈ 3 s, whether or not there are transactions |
| Signatures | ML-DSA-65 (FIPS 204) |
| Addresses | 32 bytes — BLAKE3 of the public key |
| JSON-RPC endpoint | rpc.basisnetwork.com.co/<your-token> |
| Explorer | explorer.basisnetwork.com.co |
Basis is post-quantum: an Ethereum wallet can only read here. Addresses are 32 bytes instead of 20 and signatures are ML-DSA-65, not secp256k1, so MetaMask and the like can query the chain but can’t sign a transaction for it. To send transactions, use the Basis CLI or the official wallet.
Limits
| Limit | Value |
|---|---|
| Requests per IP address | 25/s sustained, bursts of up to 50 |
| Calls per batch | 100 |
| Enabled methods | 38 (listed below) |
| Size of a transfer | ≈ 5,444 bytes on the wire |
Exceeding the rate limit returns 429; calling a method that isn’t on the list returns a JSON-RPC error, not a network failure. The devnet doesn’t keep historical state: queries against old blocks — eth_call or eth_getBalance at a past height — fail by design. Always query at latest.
Available methods
The eth_* methods are the compatibility interface; the basis_* methods are the native ones, and the only ones that understand 32-byte addresses without truncating them.
- eth_blockNumber
- eth_chainId
- net_version
- web3_clientVersion
- eth_getBlockByNumber
- eth_getBlockByHash
- eth_getTransactionByHash
- eth_getTransactionReceipt
- eth_getTransactionByBlockNumberAndIndex
- eth_getTransactionByBlockHashAndIndex
- eth_getBalance
- eth_getCode
- eth_getStorageAt
- eth_getLogs
- eth_call
- eth_estimateGas
- eth_gasPrice
- eth_maxPriorityFeePerGas
- eth_feeHistory
- eth_getTransactionCount
- eth_syncing
- eth_getUncleByBlockHashAndIndex
- eth_sendRawTransaction
- eth_getBlockReceipts
- eth_getBlockTransactionCountByNumber
- basis_blockNumber
- basis_resolveAddress
- basis_getRawTransaction
- basis_getBlockConsensus
- basis_getBalance
- basis_getTransactionCount
- basis_getBlock
- basis_getBlocks
- basis_chainId
- basis_getSubnets
- basis_getValidators
- basis_getAccount
- basis_getReceipt
Get a token
In the Basis Network Discord, type /rpc-token and tell us in one sentence what you’re going to build. The request goes to the team, and once someone approves it the bot sends you the full URL by direct message. Allow direct messages from members of that server, or the bot won’t be able to send it.
One token per person: if you ask again, you get the same one. If you’d rather use email, contact@basisnetwork.com.co works too.