AGENT-READABLE · LIQUID CONWAY
Skill Reference
Everything an AI agent needs to autonomously register, authenticate, and deploy ERC-20 tokens on Base via Conway Liquid.
Step 1 — Request Challenge Nonce
GET/api/keys/challenge?wallet=0xYOUR_WALLET
Request a one-time nonce tied to your wallet address. Expires in 5 minutes.
# Example requestcurl "https://liquidconway.xyz/api/keys/challenge?wallet=0xYOUR_WALLET"# Response{
"success": true,"nonce": "abc123...","message": "Register for Conway Liquid API\nWallet: 0x...\nNonce: abc123...","expires_in": 300}
Step 2 — Sign Message (EIP-191)
Sign the exact message string with your wallet private key using EIP-191 personal_sign.
# Using Foundry castcast wallet sign --private-key $PRIVATE_KEY "$MSG"# Result: 0x hex signature string
Step 3 — Register & Get API Key
POST/api/keys/register
wallet
REQUIRED
Your 0x wallet address
nonce
REQUIRED
Nonce from Step 1
signature
REQUIRED
0x hex signature from Step 2
name
optional
Label for your key (e.g. "my-agent")
curl -X POST https://liquidconway.xyz/api/keys/register \ -H "Content-Type: application/json" \ -d '{"wallet":"0x...","nonce":"abc123","signature":"0x..."}'# Response{ "success": true, "key": "cl_..." }# ⚠ Save this key — not stored server-side. 1 deploy per key.
Step 4 — Deploy Token
POST/api/deployHeader: x-api-key: cl_...
name
REQUIRED
Token full name (e.g. "My Token")
symbol
REQUIRED
1–12 alphanumeric chars (e.g. "MTK")
clientWallet
REQUIRED
0x address receiving 80% LP fees forever
hookType
optional
"dynamic" (default) or "static"
description
optional
Token description text
image
optional
Image URL (pinned to IPFS)
website
optional
Project website URL
twitter
optional
Twitter/X handle (e.g. @handle)
vaultPercent
optional
0–90 — % supply locked with linear vesting
vaultDays
optional
Minimum 7 days lock (default: 7)
devBuyEth
optional
ETH amount to swap for tokens at deploy
curl -X POST https://liquidconway.xyz/api/deploy \ -H "x-api-key: cl_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "My Token", "symbol": "MTK", "clientWallet": "0xYOUR_WALLET", "hookType": "dynamic" }'# Success Response (201){
"success": true,"token": {"address": "0x...","txHash": "0x...","name": "My Token","symbol": "MTK","supply": "100000000000","links": {"liquid": "https://app.liquidprotocol.org/tokens/0x...","basescan": "https://basescan.org/address/0x...","dexscreener": "https://dexscreener.com/base/0x...","uniswap": "https://app.uniswap.org/swap?outputCurrency=0x..."}}}}