API
GET /api/tiers
What a node costs and what the price buys. No parameters, no authentication.
Request
Request
GET /api/tiersResponse
200 application/json
{
"tiers": [
{
"id": "base",
"label": "Base",
"priceWei": "20000000000000000",
"maxPerWallet": 50,
"holdingWei": "0",
"holdingToken": null,
"payoutBps": 10000,
"onSale": true,
"enforcedBy": {
"price": "operator",
"maxPerWallet": "operator",
"holding": "operator"
}
}
]
}| Field | Type | Meaning |
|---|---|---|
priceWei | string | Exact wei a transfer must carry. Anything else is held for review. |
maxPerWallet | number | How many of this tier one wallet may hold. |
holdingWei | string | FINEXIS that must be held to buy it. "0" means open to anyone. |
payoutBps | number | Accrual against the base per-credit range. 10000 is the base rate. |
enforcedBy | object | Which rules the contract applies and which we do. See below, it is the part worth reading. |
Only one limit is on chain
The contract enforces the total nodes per wallet and nothing else. The per-tier allowance, the price and the holding threshold are applied by us before minting, soenforcedBy reports them as operator. An API that presented all of it as one kind of guarantee would be the most convincing place to get that wrong. Tiers explains the split.Caching
Cached for 30 seconds. For what one specific wallet may buy right now, including its token balance and remaining allowance, the deploy flow uses a per-address quote instead; this route is the same answer for everyone.