Environments
AMP2 uses separate infrastructure for testing and production. Testnet and mainnet use separate Liquid networks, credentials, and server URLs.
AMP2 runs on separate infrastructure for testing and production. Both environments expose the same API surface, but operate on different Liquid networks with different credentials.
Testnet
| Property | Value |
|---|---|
| Base URL | https://amp.enterprise.blockstream.com/ |
| Liquid network | Liquid Testnet |
| AMP2 keyorigin xpub | Provided during onboarding (included in invite data) |
| LBTC | Free testnet LBTC (from faucet) |
| Purpose | Integration development, flow validation |
Use testnet for all development and QA work. Assets issued on testnet have no monetary value and the environment can be reset independently of production.
Mainnet
| Property | Value |
|---|---|
| Base URL | Provided during issuer onboarding |
| Liquid network | Liquid Mainnet |
| LBTC | Real LBTC (pegged from Bitcoin) |
| Purpose | Production asset operations |
Only use mainnet after completing security review, key management setup, and full end to end testing on testnet.
Invite data
TODO: Show image of invite data
Before you can authenticate with the SDK, you need invite data from Blockstream. The invite payload contains:
| Field | Description |
|---|---|
device_uuid | Unique identifier for this device/integration |
invite_string | One time string consumed during account activation |
| One time private key | Hex encoded key used to sign the initial authorization request |
| Server RSA public key | PEM encoded RSA key for encrypting requests to AMP2 |
| Server ECDSA public key | Compressed hex P-256 key for verifying AMP2 responses |
| API base URL | The AMP2 server URL for this environment |
Invite data is typically delivered via a secure URL. Each invite is single use: once the authorization call succeeds, the one time key is consumed and cannot be reused.
Access model
The SDK packages (@blockstream/cryptic, @blockstream/ecs-registry, @blockstream/amp-registry) are private. To get access:
- Contact Blockstream to request issuer onboarding.
- Receive npm registry credentials or a scoped access token.
- Configure your
.npmrcwith the registry URL and auth token. - Receive invite data for your target environment (testnet first, mainnet after validation).
Environment differences
| Aspect | Testnet | Mainnet |
|---|---|---|
| xpub derivation paths | Testnet BIP paths (87h/1h/0h) | Mainnet BIP paths (87h/0h/0h) |
| LBTC funding | Faucets | Real BTC peg in |
| Asset persistence | May be reset | Permanent |
| COSE encryption | Enabled | Enabled |
Caution: Never use testnet keys, credentials, or invite data on mainnet, and vice versa. The xpub derivation paths differ between networks, and mixing them will produce invalid descriptors.
Next steps
- Issuer Quickstart: from invite to first wallet registration
- Venue Quickstart: LWK setup and descriptor registration
Use cases
AMP2 supports tokenization scenarios on Liquid. The page maps each scenario to issuance, restrictions, lifecycle operations, and monitoring capabilities.
Issuer quickstart
The guide explains the shortest path from invite data to first AMP2 wallet registration for an issuer. The issuer creates an authenticated SDK session and receives a WID.