OffBlocks
  • πŸ‘‹Welcome to OffBlocks
  • Overview
    • πŸ’‘What we do
    • ✨Core Concepts
    • πŸ“œWhitepaper
    • ⛓️Supported Blockchains and Assets
    • ❔FAQ
  • Developer Guides
    • πŸ—οΈSystem Architecture
    • βš™οΈAPI Integration
      • πŸš€Getting Started
      • πŸ“―Postman
      • πŸ”‘Authentication
      • πŸ”Request Signatures
      • πŸ†”Idempotency
      • ⛓️Blockchain Identifiers
      • πŸ“’Blockchain Updates
      • πŸ“²Sign in With X
      • πŸ’°Fees
      • πŸ•ΉοΈSimulator
      • πŸ”’API Reference
        • πŸ¦Έβ€β™‚οΈCustomers
        • 🏦Accounts
        • πŸ’³Cards
        • πŸ”ƒTransactions
        • πŸͺWebhooks
        • πŸ•ΉοΈSimulator
        • πŸš‚Engine
      • ⏭️States and Transitions
        • πŸ¦Έβ€β™‚οΈCustomer States
        • 🏦Account States
        • πŸ’³Card States
        • πŸ”‘Authorisation States
        • πŸ”ƒTransaction States
    • 🧬Smart Contracts
      • OffBlocksEscrow.sol
      • OffBlocksSmartWalletFactory.sol
      • OffBlocksSmartWallet.sol
      • PendingWithdrawal.sol
      • Interfaces
    • πŸ”’Step-by-step Guide
      • 1️⃣API Credentials
      • 2️⃣Authentication
      • 3️⃣Request Preparation
      • 4️⃣Customer Creation
      • 5️⃣Customer Verification
      • 6️⃣Account Creation
      • 7️⃣Card Issuance
      • 8️⃣Card Authorisations
      • 9️⃣Webhooks
  • Use Cases
    • πŸ’°Wallet Providers
    • πŸ§‘β€πŸŒΎDeFi Apps
    • 🏦Neo-banks and FinTechs
Powered by GitBook
On this page
  • Chain Identifier
  • Account Identifier
  • Transaction Identifier
  • Asset Identifier
  1. Developer Guides
  2. API Integration

Blockchain Identifiers

PreviousIdempotencyNextBlockchain Updates

Last updated 1 year ago

The OffBlocks API is chain-agnostic, meaning that our services can theoretically be integrated with a variety of different blockchains that support smart-contract functionality. This includes, but is not limited to, EVM-compatible L1 and L2 chains, Solana, and Tron.

To effectively set up entities such as users and accounts, perform compliance monitoring, and manage the transaction lifecycle, we employ universal identifiers for blockchain entities. We have chosen a CAIP-compatible () naming convention for , and identifiers, our internal Transaction identifier is also using -like structure for consistency.

Chain Identifier

We use a blockchain namespace identifier suggested by . Here are some examples of what it would look like for supported chains:

// zkSync Era Mainnet
eip155:324

// zkSync Sepolia Testnet
eip155:300
// Arbitrum One
eip155:42161

// Arbitrum Sepolia Testnet
eip155:421614
// Polygon Mainnet
eip155:137

// Polygon Mumbai Testnet
eip155:80001
// StarkNet Mainnet
starknet:SN_MAIN

// StarkNet Sepolia
starknet:SN_SEPOLIA
// Solana Mainnet
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

// Solana Devnet
solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1

// Solana Testnet
solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z
// Tron Mainnet
tron:27Lqcw

// Tron Shasta Testnet
tron:4oPwXB

// Tron Nile Testnet
tron:6FhfKq

Account Identifier

We use a blockchain account identifier suggested by . Here are some examples of what it would look like for supported chains:

// zkSync Era Mainnet
eip155:324:0x22227A31dd842196A246d8f3b775998560eAa61d

// zkSync Sepolia Testnet
eip155:300:0x22227A31dd842196A246d8f3b775998560eAa61d
// Arbitrum One
eip155:42161:0x22227A31dd842196A246d8f3b775998560eAa61d

// Arbitrum Sepolia Testnet
eip155:421614:0x22227A31dd842196A246d8f3b775998560eAa61d
// Polygon Mainnet
eip155:137:0x22227A31dd842196A246d8f3b775998560eAa61d

// Polygon Mumbai Testnet
eip155:80001:0x22227A31dd842196A246d8f3b775998560eAa61d
// StarkNet Mainnet
starknet:SN_MAIN:0x02DdfB499765c064eaC5039E3841AA5f382E73B598097a40073BD8B48170Ab57

// StarkNet Sepolia
starknet:SN_SEPOLIA:0x02DdfB499765c064eaC5039E3841AA5f382E73B598097a40073BD8B48170Ab57
// Solana Mainnet
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp:7S3P4HxJpyyigGzodYwHtCxZyUQe9JiBMHyRWXArAaKv

// Solana Devnet
solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1:DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK

// Solana Testnet
solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z:6LmSRCiu3z6NCSpF19oz1pHXkYkN4jWbj9K1nVELpDkT
// Tron Mainnet
tron:27Lqcw:TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL

// Tron Shasta Testnet
tron:4oPwXB:TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL

// Tron Nile Testnet
tron:6FhfKq:TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL

Transaction Identifier

// zkSync Era Mainnet
eip155:324:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3

// zkSync Sepolia Testnet
eip155:300:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3
// Arbitrum One
eip155:42161:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3

// Arbitrum Sepolia Testnet
eip155:421614:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3
// Polygon Mainnet
eip155:137:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3

// Polygon Mumbai Testnet
eip155:80001:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3
// StarkNet Mainnet
starknet:SN_MAIN:0x03628d947d5aa8e2eeecbd49767ccea7ecce183b644f439bb8946a70576cff3c

// StarkNet Sepolia
starknet:SN_SEPOLIA:0x03628d947d5aa8e2eeecbd49767ccea7ecce183b644f439bb8946a70576cff3c
// Solana Mainnet
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp:4agwj7yrJMc9K95v8zH1Bxg7vPPr5f5tN45Asu3asbjmc4iCaWDgQDWuYVvsrVzKkrJcB2ZXmbgToDvGX1kYgmz7

// Solana Devnet
solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1:4agwj7yrJMc9K95v8zH1Bxg7vPPr5f5tN45Asu3asbjmc4iCaWDgQDWuYVvsrVzKkrJcB2ZXmbgToDvGX1kYgmz7

// Solana Testnet
solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z:4agwj7yrJMc9K95v8zH1Bxg7vPPr5f5tN45Asu3asbjmc4iCaWDgQDWuYVvsrVzKkrJcB2ZXmbgToDvGX1kYgmz7
// Tron Mainnet
tron:27Lqcw:7e1c4712c81b5e2b960883dc4beb78c26f3549e862c139aab88206eb4a577430

// Tron Shasta Testnet
tron:4oPwXB:7e1c4712c81b5e2b960883dc4beb78c26f3549e862c139aab88206eb4a577430

// Tron Nile Testnet
tron:6FhfKq:7e1c4712c81b5e2b960883dc4beb78c26f3549e862c139aab88206eb4a577430

Asset Identifier

// zkSync Era Mainnet
eip155:324/erc20:0x6b175474e89094c44da98b954eedeac495271d0f

// zkSync Sepolia Testnet
eip155:300/erc20:0x6b175474e89094c44da98b954eedeac495271d0f
// Arbitrum One
eip155:42161/erc20:0x6b175474e89094c44da98b954eedeac495271d0f

// Arbitrum Sepolia Testnet
eip155:421614/erc20:0x6b175474e89094c44da98b954eedeac495271d0f
// Polygon Mainnet
eip155:137/erc20:0x6b175474e89094c44da98b954eedeac495271d0f

// Polygon Mumbai Testnet
eip155:80001/erc20:0x6b175474e89094c44da98b954eedeac495271d0f
// StarkNet Mainnet
starknet:SN_MAIN/erc20:0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8

// StarkNet Sepolia
starknet:SN_SEPOLIA/erc20:0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8
// Solana Mainnet
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

// Solana Devnet
solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

// Solana Testnet
solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
// Tron Mainnet
tron:27Lqcw/trc20:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

// Tron Shasta Testnet
tron:4oPwXB/trc20:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

// Tron Nile Testnet
tron:6FhfKq/trc20:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

We use a blockchain transaction identifier that is similar to the account identifier, as suggested by , where the transaction hash replaces the account address. Here are some examples of what it would look like for supported chains:

We use a blockchain asset identifier suggested by . Here are some examples of what it would look like for supported chains:

βš™οΈ
⛓️
Chain Agnostic Improvement Proposal
Chain
Account
Asset
Account
CAIP-2
CAIP-10
CAIP-10
CAIP-19