Guides
Create a Pool
Walkthrough of deploying a new payment pool via web UI or CLI.
Learn how to deploy a new SplitPay payment pool on Stellar Testnet.
Goal & Requirements
- Goal: Deploy an on-chain Pool with unique ID, designated owner, and supported asset.
- Requirements: Stellar CLI installed, funded Testnet account, and deployed SplitPay contract ID.
Step 1: Choose Supported Asset
On Stellar Testnet, use the native XLM Stellar Asset Contract:
CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC
Step 2: Deploy Pool via Stellar CLI
CONTRACT="CCOXHXGFTYVRRCJ7U32QZJCWXDTNQLRMDS3IAGW5MGFEWOUEXNYYKLHF"ASSET="CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC"OWNER_ADDR=$(stellar keys address deployer)stellar contract invoke \ --id "$CONTRACT" \ --source deployer \ --network testnet \ -- \ create_pool \ --pool_id 1 \ --owner "$OWNER_ADDR" \ --asset "$ASSET"Step 3: Alternative — Create via Web UI
Alternatively, open splitpay.samkiel.dev/pools/new, connect your Freighter wallet, fill in the pool ID and asset address, and sign the invocation.
Expected Result & Verification
Verify the pool exists by querying contract state:
stellar contract invoke \ --id "$CONTRACT" \ --source deployer \ --network testnet \ -- \ get_pool \ --pool_id 1Troubleshooting
Error: PoolAlreadyExists (16): A pool with this ID already exists. Increment your pool_id to an unused integer.
Error: NotInitialized (2): The SplitPay contract has not had its administrator initialized. Run initialize first.