Skip to main content
Cherp provides a full test mode for developing and debugging your integration without moving real funds.

Test mode API keys

Use your pk_test_ API key for test mode. Test and live mode use the same base URL (https://api.cherp.dev/v1) and the same code path — test mode routes to testnets automatically.
Key formatEnvironmentChains
pk_live_<32chars>ProductionSolana mainnet, Base mainnet, Tempo mainnet
pk_test_<32chars>Test modeSolana devnet, Base Sepolia, Tempo Moderato

Simulating state transitions

The simulate endpoint lets you force state transitions without waiting for real chain confirmations:
curl -X POST https://api.cherp.dev/v1/test/intents/pi_abc123.../simulate \
  -H "Authorization: Bearer pk_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "targetState": "confirmed" }'

Available transitions

Target stateDescription
confirmedSimulate a successful confirmation
failedSimulate an on-chain failure
expiredSimulate TTL expiry
droppedSimulate a dropped transaction (Solana)

Failure reasons

When simulating a failed state, you can optionally specify a reason:
{
  "targetState": "failed",
  "failureReason": "insufficient_balance"
}
Available reasons: insufficient_balance, revert, slippage.

Test chain endpoints

ChainTestnet RPC
Solanahttps://api.devnet.solana.com
Basehttps://sepolia.base.org
Tempohttps://rpc.moderato.tempo.xyz

Webhooks in test mode

Webhooks fire in test mode the same way they do in production. The livemode field in the webhook payload is false for test events, letting your server distinguish between test and live traffic.