TANITARDevelopers
Dashboard guide

Web3 configuration

Run Tanitar's on-chain features on your own testnet, contracts and signer, and verify and self-test the deployment, from the dashboard.

Tanitar can mint medals, badges and achievements as NFTs and run currency ↔ crypto exchanges on test networks. By default every chain uses Tanitar's own test infrastructure. If you prefer, you can register your own test network, deployed contracts and signer for a chain; Tanitar then runs that chain's fulfilments and exchanges for your tenant there, and only there.

Testnet and devnet only. A configuration that names a mainnet network, or a network that reports a mainnet identity, is refused.

Two places in the dashboard are involved:

WhereWhat it does
Dashboard → Web3 (titled Web3 infrastructure)Register, verify, rotate, suspend and delete your own infrastructure bundles
Dashboard → Rewards, sections Deployment evidence and Testnet self-testSee what was verified on each chain and send a live test transaction

For the verification API, see Web3 verification.

Bundles

A bundle is everything Tanitar needs for one chain, registered in one step: the network, its expected identity, your deployed contracts, and your signer. You can have one bundle per chain. A chain without a bundle keeps using Tanitar's test infrastructure.

StateMeaning
pending_verificationRegistered, not yet proven. Nothing uses it
activeVerified. Fulfilments and exchanges for your tenant on this chain run here
rotatingA replacement signer is staged; the current signer stays in force until you activate the replacement
suspendedNo new signing and no unsent work; transactions already submitted keep reconciling
disabledThe chain is not advertised for your tenant

Register a bundle

  1. In Register a bundle, fill in Network, contracts and signer:

    FieldWhat to enter
    Chainethereum, rootstock, hedera or solana
    RPC endpointYour node's HTTP(S) URL. Stored and never shown again; only its host is shown back, because provider URLs often carry an API key
    Expected network identityThe decimal chain id (EVM chains) or the genesis hash (Solana). The network must report exactly this
    ArtifactsOne per line: kind address registeredCodeHash abiVersion. kind is medal, trophy, organization-badge, achievement or exchange, each at most once
    Signer addressThe address that signs for this chain
    Signing keyThe signer's private key
  2. Select Register bundle. The bundle appears as pending_verification.

The signing key is write-only. Tanitar stores it encrypted, never displays it again and cannot return it. You own its backup, funding and recovery; a lost key is replaced by rotation.

Verify

Select Verify now on the bundle. Tanitar checks that the network reports the identity you registered, that each contract's deployed code matches the code hash you registered and passes Tanitar's conformance probes, and that the signer address is the one derived from the key you registered. When verification passes, the bundle becomes active.

The page states what this means: the code is customer-registered and verified by Tanitar conformance checks. Tanitar has not audited your contract.

Run a testnet self-test

In Dashboard → Rewards → Testnet self-test, pick a verified Chain and select Run self-test. Tanitar sends one real zero-value transfer from the signer to itself. It mints nothing and moves no player value, but it spends the signer's testnet funds for the fee.

  • At most one self-test per chain every 15 minutes, and ten per day.
  • It is refused when the signer cannot cover the fee plus a safety reserve.
  • A pending result says Awaiting confirmation; read it again in a moment.

Deployment evidence in the same page shows, per chain, the network it answered, each contract's identity, and whether its code matched. Re-verify now re-reads the chain without changing what is advertised.

Rotate the signer

  1. In Rotate the signer, enter the Replacement signer address and Replacement signing key, then select Stage replacement. The bundle becomes rotating; the current signer keeps working.
  2. Select Verify now. The replacement must pass verification.
  3. Select Activate replacement signer. The replacement takes over.

Suspend, lift, delete

  • Suspend (suspected key compromise) stops all new signing on the chain at once. Use it the moment you suspect the key has leaked, then rotate.
  • Lift suspension resumes a suspended bundle.
  • Delete bundle removes it. The chain returns to Tanitar's test infrastructure.

If Tanitar cannot read your bundle configuration, on-chain requests for your tenant are refused with 503. They never fall back to Tanitar's signer.

What can go wrong

CodeWhyWhat to do
WEB3_BUNDLE_MAINNET_REFUSEDThe expected network identity is a mainnetRegister a testnet or devnet
WEB3_BUNDLE_ENDPOINT_REFUSEDThe RPC endpoint is not an allowed addressUse a public HTTP(S) endpoint
WEB3_BUNDLE_INCOMPLETEAn artifact kind appears more than onceList each kind once
WEB3_BUNDLE_EXISTSA bundle already exists for this chainRotate or delete the existing bundle
WEB3_BUNDLE_CODE_MISMATCHThe deployed code does not match the hash you registeredCheck the contract address and registered hash; nothing is advertised on this chain until it matches
WEB3_BUNDLE_NOT_VERIFIEDYou tried to activate a replacement signer that has not passed verificationSelect Verify now first
WEB3_BUNDLE_NOT_ROTATINGThere is no staged replacement to activateStage a replacement first
WEB3_BUNDLE_STATE_INVALIDThe action is not allowed in the bundle's state, for example rotating a disabled bundleCheck the state table above
WEB3_BUNDLE_REVISION_CONFLICTSomeone changed the bundle since you loaded the pageThe page reloads; retry
Organization members have read-only accessYour role is org:memberAsk an admin

On this page