Discover routes. Every compatible path, found in one call.
Speaks Solana natively
- Program
- PDA
- Instruction
- Account
- Mint
- SPL Token
- Token 2022
- Token Account
- CPI
- Signature
Cons discovers routes, compares providers and confirms delivery.
Compare providers. Cost, speed and security, side by side.
Confirm delivery. One status model from signature to receipt.
One route.
Every chain.
Describe the intent.
Cons finds the path.
Tokens and messages share one engine, one lifecycle and one receipt.
Token routing. Assets resolved by mint, never by ticker alone.
Message routing. Arbitrary payloads to programs and contracts. Delivery and execution tracked apart.
- AvailabilityRequired
- Cost
- Speed
- Security
- Reliability
Route intelligence. Eligibility first. Then cost, speed, security and health.
Route comparison. Every eligible provider, normalized into one view.
- Created
- Submitted
- In Transit
- Received
- Confirmed
CREATED
One lifecycle. Every provider state maps to nine Cons states.
- Request
- Request ID
- Source
- Solana signature
- Destination
- Base tx hash
- Provider
- Selected route
- Submitted
- timestamp
- Confirmed
- timestamp
Unified receipt. Solana signature and destination ID in one record.
Reliable by design.
Explicit by default.
Every trust assumption stays visible and selectable.
- Provider AActive
- Provider BActive
- Provider CActive
- Provider DDegraded
- Provider EPaused
Provider health. Supported is not the same as usable. Cons checks both.
Retry and fallback. Retry repeats the route. Fallback switches it, only when policy allows.
Multi path messaging. Require two of three confirmations before a message counts.
- Provider A
- Provider B
- Provider C
- Provider D
3 eligible routes
Provider policy. Allowlist the providers your application trusts. Try it.
Native to Solana.
Honest about the rest.
Deterministic rules live on chain. Dynamic routing stays off chain.
Program and PDAs
SPL Token and Token 2022
Signatures in every receipt
Ship cross chain
like a single call.
One interface. One status model. Multiple providers.
const route = await cons.transfer({
sourceChain: "solana",
destinationChain: "base",
token: "USDC",
amount: "100",
recipient,
priority: "cost"
})
route.status // IN_TRANSIT
- One interface
Routes, quotes and requests through one SDK and API.
- One status model
Provider states normalized into Cons states.
- Provider adapters
Quote, prepare, send, status and verify. Same shape everywhere.
- Normalized receipts
Chain specific IDs without forcing one hash format.
- Route commitment
A signed request cannot silently switch routes.
- Observability
Signatures, program errors and retries in one view.
- 01Describe the intent
Source, destination, asset or payload, and policy.
- 02Cons selects the route
Eligible routes compared. One committed.
- 03Track one receipt
From Solana signature to confirmation.
