SDK Plugin Config
Same required pins as Sandbox · SDK Plugin Config (Sepolia · indexer · Gateway contract · Circle USDC + EURC).
| Field | Type | Required | Description |
|---|---|---|---|
chainId | bigint | yes | chain (Sepolia: 11155111n) |
tenebraeIndexerUrl | string | yes | Non-empty indexer base URL; trailing slash normalized |
tenebraeGatewayContractAddress | Address | yes | Tenebrae protocol on-chain entry point |
supportedTokens | { chainId, contract }[] | yes | Allowlisted ERC-20 rows for this host |
Sepolia product pins
Import deployment pins from @tenebra/shared/constants/tenebrae-sdk/tenebrae-sdk-lab-sepolia.constants — do not
hardcode gateway or token addresses in integrator apps.
import {
TENEBRAE_SDK_LAB_SEPOLIA_CHAIN_ID,
TENEBRAE_SDK_LAB_SEPOLIA_EURC,
TENEBRAE_SDK_LAB_SEPOLIA_GATEWAY,
TENEBRAE_SDK_LAB_SEPOLIA_USDC,
} from '@tenebra/shared/constants/tenebrae-sdk/tenebrae-sdk-lab-sepolia.constants';
const TENEBRAE_INDEXER_URL = 'https://indexer.re2.xyz';
const config = {
chainId: TENEBRAE_SDK_LAB_SEPOLIA_CHAIN_ID,
tenebraeIndexerUrl: TENEBRAE_INDEXER_URL,
tenebraeGatewayContractAddress: TENEBRAE_SDK_LAB_SEPOLIA_GATEWAY,
supportedTokens: [
{ chainId: TENEBRAE_SDK_LAB_SEPOLIA_CHAIN_ID, contract: TENEBRAE_SDK_LAB_SEPOLIA_USDC },
{ chainId: TENEBRAE_SDK_LAB_SEPOLIA_CHAIN_ID, contract: TENEBRAE_SDK_LAB_SEPOLIA_EURC },
],
};
Asset id
Use this shape in balance / prepare verbs after initialize. Amount wrapping lives on
Methods.
| Field | Type | Description |
|---|---|---|
__type | 'erc20' | Asset kind |
contract | Address | Token contract |
const ASSET_TOKEN_USDC: AssetId = {
__type: 'erc20',
contract: TENEBRAE_SDK_LAB_SEPOLIA_USDC,
};