Hosted Portal
Send users into a branded tax experience with a launch URL or one server-side create call.
Option 1: Open a launch URL
Build a URL with your stable user ID, the user's wallets, and optional email, then redirect the browser to it. Awaken creates or reuses the user, starts imports and calculations, and opens the portal automatically.
A launch URL contains its credential. Use only the key Awaken issued for this browser flow. Never put your server-side partner secret in a URL.
export interface Wallet {address: string;provider?: string;}export interface BuildUrlParams {userId: string;wallets?: Wallet[];apiKey: string;email?: string;}export function buildLaunchUrl(params: BuildUrlParams,baseUrl = "https://embed.awaken.tax",) {const searchParams = new URLSearchParams({userId: params.userId,apiKey: params.apiKey,});if (params.wallets?.length) {searchParams.set("wallets", JSON.stringify(params.wallets));}if (params.email) searchParams.set("email", params.email);return baseUrl + "/launch?" + searchParams.toString();}
Option 2: Create first, then open the portal
Create the user and attach up to four wallets from your server. When the request succeeds, open https://embed.awaken.tax/portal?code=YOUR_USER_ID. The portal reads the imported data and lets the user request tax forms.
curl https://api.awaken.tax/api/crunch \-H "content-type: application/json" \-H "x-api-key: $AWAKEN_PARTNER_KEY" \--data '{"userId":"user-42","email":"user@example.com","wallets":[{"address":"0xabc…","provider":"ethereum"},{"address":"SolanaAddress…","provider":"solana"}]}'
Link wallets with the npm package
For a related signup flow that adds wallets to a new or existing full Awaken account, install @awakentax/crypto-tax. The SDK creates a URL; opening it guides new users through signup and lets existing users add the supplied wallets.
npm install @awakentax/crypto-tax
Create an Awaken wallet link
Initialize the SDK on your server with an issued API key, create the link, and send the returned URL to the user.
import { CryptoTaxSDK } from "@awakentax/crypto-tax";import type { CreateLinkRequest } from "@awakentax/crypto-tax";const cryptoTax = new CryptoTaxSDK({apiKey: process.env.AWAKEN_API_KEY!,});const request: CreateLinkRequest = {wallets: [{ address: "0x1234…", name: "Primary wallet" },{ address: "0xabcd…" },],};const { url, code } = await cryptoTax.createLink(request);console.log({ url, code });
What users see
The portal can use your partner name, logo, and branding. Users see import and calculation progress, review their tax preview, select a tax year, and request reports without your team building those screens.
The embedded report flow is currently intended for US tax reporting. Confirm country eligibility during onboarding.