From e4a16c344d4fcacd037223138b33ccf8351dfdc6 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Mon, 10 Nov 2025 23:48:54 +0100 Subject: [PATCH 01/20] new config --- components/academy/learning-path-configs/blockchain.config.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 components/academy/learning-path-configs/blockchain.config.ts diff --git a/components/academy/learning-path-configs/blockchain.config.ts b/components/academy/learning-path-configs/blockchain.config.ts new file mode 100644 index 00000000000..e69de29bb2d From 2e445cd456a39113ab2066a7e623cf8aacbc24b6 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Thu, 13 Nov 2025 18:08:20 +0100 Subject: [PATCH 02/20] new layout 2 --- .../blockchain-developer.config.ts | 12 ++ .../blockchain-developer-academy/page.tsx | 64 +++++++ .../[...slug]/page.tsx | 2 +- .../avalanche-developer.config.ts | 87 +++------- .../blockchain-developer.config.ts | 59 +++++++ .../blockchain.config.ts | 0 .../codebase-entrepreneur.config.ts | 8 +- components/academy/learning-tree.tsx | 15 +- .../academy/shared/academy-bubble.config.tsx | 7 +- .../academy/shared/academy-learning-path.tsx | 9 +- components/academy/shared/academy-types.tsx | 2 +- .../avacloudapis/02-overview/01-about.mdx | 0 .../02-overview/02-apis-vs-rpc.mdx | 0 .../02-overview/03-dataapi-endpoints.mdx | 0 .../avacloudapis/02-overview/04-webhooks.mdx | 0 .../01-avacloud-account.mdx | 0 .../02-setup-starter-kit.mdx | 0 .../03-environment-setup/03-what-we-build.mdx | 0 .../01-overview.mdx | 0 .../02-understanding-code.mdx | 0 .../03-modifying-code.mdx | 0 .../04-erc20-token-balance-app/04-final.mdx | 0 .../05-wallet-portfolio-app/01-overview.mdx | 0 .../02-understanding-code.mdx | 0 .../03-modifying-code.mdx | 0 .../06-block-explorer-app/01-overview.mdx | 0 .../02-understanding-code.mdx | 0 .../03-modifying-code.mdx | 0 .../07-using-webhooks/01-overview.mdx | 0 .../avacloudapis/index.mdx | 0 .../avacloudapis/meta.json | 0 .../01-avalanche-consensus-intro.mdx | 0 .../02-consensus-mechanisms.mdx | 0 .../03-snowman-consensus.mdx | 0 .../04-tps-vs-ttf.mdx | 0 .../01-multi-chain-architecture.mdx | 0 .../02-L1.mdx | 0 .../03-benefits.mdx | 0 .../03a-etna-upgrade.mdx | 0 .../04-custom-blockchains-vs-layer-2.mdx | 0 .../05-setup-core.mdx | 0 .../06-use-dexalot.mdx | 0 .../04-creating-an-l1/01-creating-an-l1.mdx | 0 .../01a-create-builder-account.mdx | 0 .../04-creating-an-l1/02-connect-core.mdx | 0 .../02a-claim-testnet-tokens.mdx | 0 .../03-network-architecture.mdx | 0 .../05-create-blockchain.mdx | 0 .../04-creating-an-l1/06-run-a-node.mdx | 0 .../07-convert-subnet-l1.mdx | 0 .../04-creating-an-l1/08-test-l1.mdx | 0 .../04-creating-an-l1/09-remove-node.mdx | 0 .../05-interoperability/01-introduction.mdx | 0 .../02-source-message-destination.mdx | 0 .../03-icm-icmContracts-and-ictt.mdx | 0 .../04-signature-schemes.mdx | 0 .../05-interoperability/05-signature-demo.mdx | 0 .../06-multi-signatures.mdx | 0 .../07-multi-signature-demo.mdx | 0 .../08-signature-aggregation.mdx | 0 .../05-interoperability/09-use-cases.mdx | 0 .../01-independent-tokenomics.mdx | 0 .../11-staking-token.mdx | 0 .../00-vm-customization.mdx | 0 .../07b-vm-customization/01-configuration.mdx | 0 .../07b-vm-customization/02-modification.mdx | 0 .../07b-vm-customization/03-creation.mdx | 0 .../01-permissioning.mdx | 0 .../08-permissioning-users/02-compliance.mdx | 0 .../04-tx-allowlist.mdx | 0 .../05-activate-tx-allowlist.mdx | 0 .../06-contract-deployer-allowlist.mdx | 0 ...7-activate-contract-deployer-allowlist.mdx | 0 .../01-permissioning-validators.mdx | 0 .../02-private-blockchains.mdx | 0 .../03-case-study-intain-markets.mdx | 0 .../get-certificate.mdx | 0 .../avalanche-fundamentals/index.mdx | 0 .../avalanche-fundamentals/meta.json | 0 .../02-intro-to-evm/01-origin-of-evm.mdx | 0 .../02-accounts-keys-address.mdx | 0 .../03-transactons-and-blocks.mdx | 0 .../05-different-evm-versions.mdx | 0 .../03-development-env-setup/00-intro.mdx | 0 .../02-create-codespaces.mdx | 0 .../03-codespace-in-vscode.mdx | 0 .../04-your-evm-blockchain/00-intro.mdx | 0 .../01-avalanche-cli.mdx | 0 .../02-create-your-blockchain.mdx | 0 .../03-sending-tokens.mdx | 0 .../00-vm-configuration.mdx | 0 .../01-genesis-block.mdx | 0 .../02-create-your-genesis.mdx | 0 .../03-setup-chainid.mdx | 0 .../04-gas-fees-and-limit.mdx | 0 .../05-gas-fee-configuration.mdx | 0 .../06-configuring-gas-fees.mdx | 0 .../07-initial-token-allocation.mdx | 0 ...uild-and-run-custom-genesis-blockchain.mdx | 0 .../01-what-are-precompiles.mdx | 0 .../06-precompiles/02-why-precompiles.mdx | 0 .../03-interact-wtih-precompile.mdx | 0 .../07-hash-function-precompile/00-intro.mdx | 0 .../01-create-solidity-interface.mdx | 0 .../02-generate-the-precompile.mdx | 0 .../03-unpack-input-pack-output.mdx | 0 .../04-implementing-precompile.mdx | 0 .../05-configkey-and-contractaddr.mdx | 0 .../06-register-precompile.mdx | 0 .../07-build-and-run.mdx | 0 .../08-interact-with-md5.mdx | 0 .../08-calculator-precompile/00-intro.mdx | 0 .../01-create-solidity-interface.mdx | 0 .../02-generating-precompile.mdx | 0 .../03-unpacking-and-packing.mdx | 0 .../04-implementing-precompile.mdx | 0 .../05-set-configkey-contractaddr.mdx | 0 .../06-create-genesis-block.mdx | 0 .../07-testing-precompile.mdx | 0 .../08-autogenerated-tests.mdx | 0 .../09-unit-tests.mdx | 0 .../10-fuzz-tests.mdx | 0 .../11-test-calculatorplus.mdx | 0 .../09-stateful-precompiles/00-intro.mdx | 0 .../01-interacting-with-precompile.mdx | 0 .../00-intro.mdx | 0 .../01-create-solidity-interface.mdx | 0 .../02-store-data-in-evm.mdx | 0 .../03-implement-set-counter.mdx | 0 .../04-read-date-from-evm.mdx | 0 .../05-implement-getcounter-increment.mdx | 0 .../06-setting-base-gasfees.mdx | 0 .../07-set-configkey-contractaddr.mdx | 0 .../08-initial-state.mdx | 0 .../09-define-default-values-via-go.mdx | 0 .../10-define-default-values-via-genesis.mdx | 0 .../11-testing-precompile-hardhat.mdx | 0 .../12-build-your-precompile.mdx | 0 .../customizing-evm/index.mdx | 0 .../customizing-evm/meta.json | 0 .../01-introduction.mdx | 0 .../02-understanding-the-flow.mdx | 0 .../03-orchestrating-vrf-requests.mdx | 0 .../04-bring-vrf-to-unsupported-l1.mdx | 0 .../05-deploy-vrf-wrapper.mdx | 0 .../06-deploy-vrf-consumer.mdx | 0 .../07-create-vrf-subscription.mdx | 0 .../08-request-random-words.mdx | 0 .../01-introduction.mdx | 0 .../01-introduction.mdx | 0 .../04-ccip-icm/01-introduction.mdx | 0 .../icm-chainlink/certificate.mdx | 0 .../icm-chainlink/index.mdx | 0 .../icm-chainlink/meta.json | 0 .../01-interopability-between-blockchains.mdx | 0 .../02-source-message-destination.mdx | 0 .../03-multi-chain-networks.mdx | 0 ...nteroperability-in-multi-chain-systems.mdx | 0 .../05-finality-and-interoperability.mdx | 0 .../06-trusted-third-parties.mdx | 0 .../01-avalanche-starter-kit.mdx | 0 .../03-avalanche-starter-kit/02-set-up.mdx | 0 .../03-close-and-reopen-codespace.mdx | 0 .../03-avalanche-starter-kit/04-networks.mdx | 0 .../05-foundry-quickstart.mdx | 0 .../04-icm-basics/01-icm-basics.mdx | 0 .../02-recap-bytes-encoding-decoding.mdx | 0 .../04-icm-basics/03-sending-a-message.mdx | 0 .../04-create-sender-contract.mdx | 0 .../04-icm-basics/05-receiving-a-message.mdx | 0 .../06-create-receiver-contract.mdx | 0 .../04-icm-basics/07-send-a-message.mdx | 0 .../08-adapting-the-contract-exercise.mdx | 0 .../01-two-way-communication.mdx | 0 .../02-sender-contract.mdx | 0 .../03-create-sender-contract.mdx | 0 .../04-receiver-contract.mdx | 0 .../05-create-the-receiver-contract.mdx | 0 .../06-send-a-roundtrip-message.mdx | 0 .../07-adapt-the-contracts.mdx | 0 .../01-invoking-functions.mdx | 0 .../02-encoding-multiple-values.mdx | 0 .../03-create-simple-calculator-sender.mdx | 0 .../04-create-simple-calulcator-receiver.mdx | 0 .../05-call-simple-calculator.mdx | 0 .../06-encoding-function-name.mdx | 0 .../07-extend-calculator.mdx | 0 .../07-icm-registry/01-icm-registry.mdx | 0 .../02-how-the-icm-registry-works.mdx | 0 .../03-interact-with-the-registry.mdx | 0 .../04-retrieving-icm-from-registry.mdx | 0 .../05-verify-sender-is-icm.mdx | 0 .../01-avalanche-warp-messaging.mdx | 0 .../02-p-chain.mdx | 0 .../03-warp-message-format.mdx | 0 .../04-awm-relayer.mdx | 0 .../05-dataflow.mdx | 0 .../06-message-pickup.mdx | 0 .../07-message-delivery.mdx | 0 .../08-load-considerations.mdx | 0 .../09-trust-assumption-of-awm.mdx | 0 .../01-relayer-introduction.mdx | 0 .../02-relayer-configuration.mdx | 0 .../03-configure-and-run-relayer.mdx | 0 .../01-restricting-the-relayer.mdx | 0 .../02-allowed-relayers.mdx | 0 .../01-incentivizing-a-relayer.mdx | 0 .../02-fee-data-flow.mdx | 0 .../03-determining-the-fee-amount.mdx | 0 .../04-setting-incentives.mdx | 0 .../05-deploy-fee-token-contract.mdx | 0 .../06-incentivize-an-awm-relayer.mdx | 0 .../07-interaction-flow-with-fees.mdx | 0 .../01-introduction.mdx | 0 .../02-understanding-the-flow.mdx | 0 .../03-orchestrating-vrf-requests.mdx | 0 .../04-bring-vrf-to-unsupported-l1.mdx | 0 .../05-deploy-vrf-wrapper.mdx | 0 .../06-deploy-vrf-consumer.mdx | 0 .../07-create-vrf-subscription.mdx | 0 .../08-request-random-words.mdx | 0 .../interchain-messaging/certificate.mdx | 0 .../interchain-messaging/index.mdx | 0 .../interchain-messaging/meta.json | 0 .../02-getting-started/01-introduction.mdx | 0 .../03-tokens/01-tokens.mdx | 0 .../03-tokens/02-native-tokens.mdx | 0 .../03-tokens/03-transfer-native-tokens.mdx | 0 .../05-transfers-in-smart-contracts.mdx | 0 .../03-tokens/07-erc-20-tokens.mdx | 0 .../03-tokens/08-transfer-an-erc-20-token.mdx | 0 .../03-tokens/09-transfer-erc20-to-sc.mdx | 0 .../03-tokens/10-wrapped-native-tokens.mdx | 0 .../11-create-a-wrapped-native-token.mdx | 0 .../04-token-bridging/01-token-bridging.mdx | 0 .../02-bridge-architecture.mdx | 0 .../03-use-a-demo-bridge.mdx | 0 .../04-token-bridging/04-bridge-hacks.mdx | 0 ...01-avalanche-interchain-token-transfer.mdx | 0 .../02-bridge-design.mdx | 0 .../03-file-structure.mdx | 0 .../04-token-home.mdx | 0 .../05-token-remote.mdx | 0 .../01-erc-20-to-erc-20-bridge.mdx | 0 .../02-deploy-erc-20-token.mdx | 0 .../03-deploy-home.mdx | 0 .../04-deploy-remote.mdx | 0 .../05-register-remote.mdx | 0 .../06-transfer-tokens.mdx | 0 .../07-avacloud-and-core-bridge.mdx | 0 .../08-deploy-your-own-frontend.mdx | 0 .../01-tokens-on-multiple-chain.mdx | 0 .../02-deploy-token-remote.mdx | 0 .../03-register-remote.mdx | 0 .../04-multihop.mdx | 0 .../01-native-to-erc-20-bridge.mdx | 0 .../02-deploy-native-token-home.mdx | 0 .../03-deploy-erc20-token-remote.mdx | 0 .../04-register-remote.mdx | 0 .../05-bridge-tokens.mdx | 0 .../12-send-and-call/01-intro.mdx | 0 .../03-send-and-call-receivers.mdx | 0 .../12-send-and-call/04-mock-receivers.mdx | 0 .../12-send-and-call/05-mock-receiver.mdx | 0 .../07-exchange-contract.mdx | 0 .../08-deploy-wrapped-exchange-contract.mdx | 0 .../14-scaling-decimals/01-math-example.mdx | 0 .../14-scaling-decimals/02-example.mdx | 0 .../interchain-token-transfer/certificate.mdx | 0 .../interchain-token-transfer/index.mdx | 0 .../interchain-token-transfer/meta.json | 0 .../01-introduction.mdx | 0 .../02-token-design.mdx | 0 .../03-native-tokens.mdx | 0 .../04-transfer-native-token.mdx | 0 .../01-tokens-fundamentals/05-erc20.mdx | 0 .../06-deploy-erc20.mdx | 0 .../08-native-and-erc20-tokens.mdx | 0 .../01b-native-vs-erc20/09-wrapped-tokens.mdx | 0 .../10-deploy-wrapped-tokens.mdx | 0 .../02-custom-tokens/01-introduction.mdx | 0 .../02-custom-native-vs-erc20-native.mdx | 0 .../02-custom-tokens/03-native-vs-staking.mdx | 0 .../02-custom-tokens/04-token-symbol.mdx | 0 .../05-create-custom-token.mdx | 0 .../06-native-token-allocation.mdx | 0 .../07-configure-token-allocation.mdx | 0 .../03-precompiles/01-introduction.mdx | 0 .../03-precompiles/02-precompiles.mdx | 0 .../03-precompile-architecture.mdx | 0 .../04-native-minter/01-introduction.mdx | 0 .../02-native-token-minting-rights.mdx | 0 .../03-activate-native-minter.mdx | 0 .../05-fee-config/01-introduction.mdx | 0 .../05-fee-config/02-transaction-fees.mdx | 0 .../05-fee-config/03-activate-fee-config.mdx | 0 .../01-initial-allocation.mdx | 0 .../02-vesting-schedules.mdx | 0 .../03-bonding-curves.mdx | 0 .../07-token-distribution/04-airdrop.mdx | 0 .../08-governance/01-introduction.mdx | 0 .../08-governance/02-governance-models.mdx | 0 .../08-governance/03-daos.mdx | 0 .../08-governance/04-quadratic-voting.mdx | 0 .../08-governance/05-governance-20.mdx | 0 .../l1-native-tokenomics/dappVsL1.mdx | 0 .../l1-native-tokenomics/index.mdx | 0 .../l1-native-tokenomics/meta.json | 0 .../l1-native-tokenomics/token-ownership.mdx | 0 content/academy/avalanche-developer/meta.json | 15 ++ .../01-avalanche-starter-kit.mdx | 0 .../03-avalanche-starter-kit/02-set-up.mdx | 0 .../03-create-blockchain.mdx | 0 .../04-add-blockchain-to-wallet.mdx | 0 .../05-add-ewoq-account.mdx | 0 .../03-avalanche-starter-kit/06-networks.mdx | 0 .../07-pause-and-resume.mdx | 0 .../multi-chain-architecture/certificate.mdx | 0 .../multi-chain-architecture/index.mdx | 0 .../multi-chain-architecture/meta.json | 0 .../01-introduction/01-pchain-review.mdx | 0 .../01-introduction/02-multi-chain-review.mdx | 0 .../01-introduction/03-interop.mdx | 0 .../01-introduction/04-proxy-pattern.mdx | 0 .../01-blockchain-permissioning.mdx | 0 .../02-proof-of-authority.mdx | 0 .../03-validator-manager-contract.mdx | 0 .../02-proof-of-authority/04-etna-upgrade.mdx | 0 .../03-create-an-L1/01-create-subnet.mdx | 0 .../03-create-an-L1/02-transparent-proxy.mdx | 0 .../03-create-an-L1/03-genesis-breakdown.mdx | 0 .../04-convert-subnet-to-l1.mdx | 0 .../03-create-an-L1/05-query-l1-details.mdx | 0 .../01-vmc-deployment-intro.mdx | 0 .../02-deploy-validator-manager.mdx | 0 .../03-upgrade-proxy.mdx | 0 .../04-set-initial-configuration.mdx | 0 .../05-initialize-validator-set.mdx | 0 .../06-check-contract.mdx | 0 .../01-introduction.mdx | 0 .../02-query-validator-set.mdx | 0 .../03-add-validator.mdx | 0 .../04-add-validator-demo.mdx | 0 .../05-change-weight.mdx | 0 .../06-change-weight-demo.mdx | 0 .../07-remove-validator.mdx | 0 .../08-remove-validator-demo.mdx | 0 .../09-expired-validator-registration.mdx | 0 .../10-pchain-disable-validator.mdx | 0 .../01-read-validator-manager.mdx | 0 .../02-query-validator-set.mdx | 0 .../03-deploy-poa-manager.mdx | 0 .../04-vmc-deployed-structure.mdx | 0 .../registering-validator.mdx | 0 .../03-deployment-options.mdx | 0 .../permissioned-l1s/certificate.mdx | 0 .../permissioned-l1s/index.mdx | 0 .../permissioned-l1s/meta.json | 0 .../01-review/01-pchain-review.mdx | 2 +- .../01-review/02-multi-chain-review.mdx | 2 +- .../01-review/03-permissioned-l1s-review.mdx | 0 .../01-review/04-native-tokenomics-review.mdx | 0 .../02-proof-of-stake/01-introduction.mdx | 0 .../02-proof-of-stake/02-staking-token.mdx | 0 .../02-proof-of-stake/03-liquid-staking.mdx | 0 .../03-staking-contract-post-etna.mdx | 0 .../04-register-validators.mdx | 0 .../permissionless-l1s/certificate.mdx | 0 .../permissionless-l1s/index.mdx | 0 .../permissionless-l1s/meta.json | 0 .../01-legal-foundations/01-introduction.mdx | 0 .../02-legal-jurisdiction.mdx | 0 .../03-token-classification.mdx | 0 .../04-legal-documentation.mdx | 0 .../05-intellectual-property.mdx | 0 .../06-ongoing-compliance.mdx | 0 .../07-applying-frameworks.mdx | 0 .../01-legal-foundations/08-key-takeaways.mdx | 0 .../01-legal-foundations/09-flashcards.mdx | 0 .../01-legal-foundations/10-quiz.mdx | 0 .../01-introduction.mdx | 0 .../02-assessing-security.mdx | 0 .../03-it-governance.mdx | 0 .../04-cryptographic-assets.mdx | 0 .../05-data-strategy.mdx | 0 .../06-key-takeaways.mdx | 0 .../07-flashcards.mdx | 0 .../01b-security-fundamentals/08-quiz.mdx | 0 .../01-introduction.mdx | 0 .../02-understanding-canvas.mdx | 0 .../03-applying-canvas.mdx | 0 .../04-key-takeaways.mdx | 0 .../05-flashcards.mdx | 0 .../02-business-model-canvas/06-quiz.mdx | 0 .../07-additional-learning.mdx | 0 .../03-user-personas/01-introduction.mdx | 0 .../02-finding-first-users.mdx | 0 .../03-asking-right-questions.mdx | 0 .../04-why-engagement-matters.mdx | 0 .../05-engagement-strategy.mdx | 0 .../03-user-personas/06-key-takeaways.mdx | 0 .../03-user-personas/07-flashcards.mdx | 0 .../03-user-personas/08-quiz.mdx | 0 .../09-additional-learning.mdx | 0 .../foundations-web3-venture/certificate.mdx | 0 .../foundations-web3-venture/index.mdx | 0 .../foundations-web3-venture/meta.json | 0 .../09-fundraising/01-introduction.mdx | 0 .../09-fundraising/02-fundraising-process.mdx | 0 .../03-why-fundraising-matters.mdx | 0 .../04-implementing-strategy.mdx | 0 .../09-fundraising/05-key-takeaways.mdx | 0 .../09-fundraising/06-additional-learning.mdx | 0 .../09-fundraising/07-flashcards.mdx | 0 .../09-fundraising/08-quiz.mdx | 0 .../09-fundraising/09-prepare-mock-pitch.mdx | 0 .../10-grants/01-introduction.mdx | 0 .../10-grants/02-success-criteria.mdx | 0 .../10-grants/03-common-mistakes.mdx | 0 .../10-grants/04-beyond-funding.mdx | 0 .../10-grants/05-key-takeaways.mdx | 0 .../10-grants/06-flashcards.mdx | 0 .../fundraising-finance/10-grants/07-quiz.mdx | 0 .../11-pitching/01-introduction.mdx | 0 .../02-effective-pitch-storytelling.mdx | 0 .../11-pitching/03-building-credibility.mdx | 0 .../11-pitching/04-advanced-techniques.mdx | 0 .../11-pitching/05-pitch-success.mdx | 0 .../11-pitching/06-why-it-matters.mdx | 0 .../11-pitching/07-applying.mdx | 0 .../11-pitching/08-key-takeways.mdx | 0 .../11-pitching/09-flashcards.mdx | 0 .../11-pitching/10-quiz.mdx | 0 .../fundraising-finance/certificate.mdx | 0 .../fundraising-finance/index.mdx | 0 .../fundraising-finance/meta.json | 0 .../04-gtm-strategies/01-introduction.mdx | 0 .../02-structured-framework.mdx | 0 .../03-web3-market-considerations.mdx | 0 .../04-optimizing-execution.mdx | 0 .../05-applying-principles.mdx | 0 .../04-gtm-strategies/06-key-takeaways.mdx | 0 .../04-gtm-strategies/07-flashcards.mdx | 0 .../04-gtm-strategies/08-quiz.mdx | 0 .../go-to-market/05-sales/01-introduction.mdx | 0 .../02-defining-value-proposition.mdx | 0 .../05-sales/03-understanding-your-buyer.mdx | 0 .../05-sales/04-selling-during-mvp.mdx | 0 .../05-sales/05-managing-first-customers.mdx | 0 .../05-sales/06-outreach-and-sales-calls.mdx | 0 .../05-sales/07-managing-leads.mdx | 0 .../05-sales/08-expanding-sales-team.mdx | 0 .../05-sales/09-key-takeaways.mdx | 0 .../go-to-market/05-sales/10-flashcards.mdx | 0 .../go-to-market/05-sales/11-quiz.mdx | 0 .../05-sales/12-additional-learning.mdx | 0 .../06-pricing/01-introduction.mdx | 0 ...nderstanding-web3-pricing-fundamentals.mdx | 0 .../03-building-your-pricing-framework.mdx | 0 .../04-selecting-the-right-pricing-model.mdx | 0 ...st-estimation-in-decentralized-systems.mdx | 0 .../06-regional-adaptation-strategies.mdx | 0 .../07-enterprise-client-approach.mdx | 0 .../06-pricing/08-key-takeaways.mdx | 0 .../go-to-market/06-pricing/09-flashcards.mdx | 0 .../go-to-market/06-pricing/10-quiz.mdx | 0 .../go-to-market/certificate.mdx | 0 .../go-to-market/index.mdx | 0 .../go-to-market/meta.json | 0 .../avalanche-entrepreneur}/meta.json | 0 .../07-community-building/01-introduction.mdx | 0 .../02-understanding-your-foundation.mdx | 0 .../03-social-media-strategy-blueprint.mdx | 0 .../04-content-creation-without-full-team.mdx | 0 .../05-scalable-content-strategies.mdx | 0 .../06-content-iteration-and-observation.mdx | 0 .../07-building-authentic-engagement.mdx | 0 .../08-common-community-mistakes.mdx | 0 .../09-event-planning-for-community.mdx | 0 .../10-key-takeaways.mdx | 0 .../11-additional-learning.mdx | 0 .../07-community-building/12-flashcards.mdx | 0 .../07-community-building/13-quiz.mdx | 0 .../01-introduction.mdx | 0 .../08-mastering-tokenomics/02-tokenomics.mdx | 0 .../03-token-mechanics.mdx | 0 .../08-mastering-tokenomics/04-pitfalls.mdx | 0 .../05-why-they-matter.mdx | 0 .../06-applying-startup.mdx | 0 .../07-key-takeaway.mdx | 0 .../08-mastering-tokenomics/08-flashcard.mdx | 0 .../08-mastering-tokenomics/09-quiz.mdx | 0 .../10-additional-learning.mdx | 0 .../web3-community-architect/certificate.mdx | 0 .../web3-community-architect/index.mdx | 0 .../web3-community-architect/meta.json | 0 .../01-what-is-a-blockchain.mdx | 0 .../02-decentralized-computer.mdx | 0 .../03-decentralized-applications.mdx | 0 .../02-what-is-a-blockchain/04-use-cases.mdx | 0 .../01-payments-use-case.mdx | 0 .../02-account-balances-transfers.mdx | 0 .../03-payments-use-case/03-ledger.mdx | 0 .../04-signatures/01-signatures.mdx | 0 .../01-tx-ordering-through-consensus.mdx | 0 .../02-longest-chain-consensus.mdx | 0 .../xx-tx-lifecycle.mdx | 0 .../01-sybil-protection.mdx | 0 .../06-smart-contracts/01-smart-contracts.mdx | 0 .../01-native-tokens.mdx | 0 .../02-erc-20-tokens.mdx | 0 .../03-deploy-and-transfer-erc-20-tokens.mdx | 0 .../04-wrapped-tokens.mdx | 0 .../05-deploy-and-interact-wrapped-tokens.mdx | 0 .../06-token-decimals.mdx | 0 .../01-vms-and-blockchains.mdx | 0 .../02-state-machine.mdx | 0 .../08-vms-and-blockchains/03-blockchains.mdx | 0 .../04-variety-of-vm.mdx | 0 .../get-certificate.mdx | 0 .../blockchain-fundamentals/index.mdx | 0 .../blockchain-fundamentals/meta.json | 0 .../xx-decentralization.mdx | 0 .../xx-regulation/01-regulation.mdx | 0 .../xx-tbd-sections/02-proof-of-work.mdx | 0 .../xx-tbd-sections/03-proof-of-stake.mdx | 0 .../xx-tbd-sections/xx-signature-schemes.mdx | 0 .../blockchain-fundamentals/xx-tokens.mdx | 0 .../01-digital-assets-overview.mdx | 0 .../02-current-uses.mdx | 0 .../03-limitations.mdx | 0 .../01-how-private-is-the-blockchain.mdx | 0 .../02-real-privacy/02-compliance.mdx | 0 .../03-necessities-solved-with-privacy.mdx | 0 .../03-encrypted-tokens/01-privacity-eerc.mdx | 0 .../03-encrypted-tokens/02-comparison.mdx | 0 .../03-technology-behind.mdx | 0 .../04-usability-eerc/01-deployments-mode.mdx | 0 .../04-usability-eerc/02-use-cases.mdx | 0 .../01-step-by-step.mdx | 0 .../encrypted-erc/index.mdx | 0 .../encrypted-erc/meta.json | 0 .../academy/blockchain-developer/meta.json | 8 + .../01-avalanche-starter-kit.mdx | 0 .../02-avalanche-starter-kit/02-set-up.mdx | 0 .../03-close-and-reopen-codespace.mdx | 0 .../03-create-blockchain.mdx | 0 .../02-avalanche-starter-kit/04-networks.mdx | 0 .../05-pause-and-resume.mdx | 0 .../01-building-programs-on-blockchain.mdx | 0 .../02-what-is-solidity.mdx | 0 .../03-foundry-quickstart.mdx | 0 .../04-create-new-smart-contract.mdx | 0 .../04-hello-world-part-1/01-intro.mdx | 0 .../02-primitive-value-and-types.mdx | 0 .../04-hello-world-part-1/03-functions.mdx | 0 .../04-hello-world-part-1/04-contracts.mdx | 0 .../05-solidity-file-structure.mdx | 0 .../06-build-basic-smart-contract.mdx | 0 .../05-hello-world-part-2/01-intro.mdx | 0 .../05-hello-world-part-2/02-control-flow.mdx | 0 .../03-data-structures.mdx | 0 .../04-contract-constructor.mdx | 0 .../05-hello-world-part-2/05-modifiers.mdx | 0 .../05-hello-world-part-2/06-events.mdx | 0 .../01-contract-standarization.mdx | 0 .../02-inheritance.mdx | 0 .../03-interfaces.mdx | 0 .../04-abstract.mdx | 0 .../01-erc20-intro.mdx | 0 .../02-technical-walkthrough.mdx | 0 .../03-interacting-with-erc20-tokens.mdx | 0 .../04-deploying-your-erc20-token.mdx | 0 .../01-erc721-intro.mdx | 0 .../02-technical-walkthrough.mdx | 0 .../03-interacting-with-erc721-tokens.mdx | 0 .../04-deploying-your-erc721-token.mdx | 0 .../08-erc721-smart-contracts/05-uris.mdx | 0 .../solidity-foundry/index.mdx | 0 .../solidity-foundry/meta.json | 0 content/academy/meta.json | 17 +- next.config.mjs | 158 ++++++++++++++++-- scripts/versions.json | 8 +- source.config.ts | 4 +- 584 files changed, 372 insertions(+), 107 deletions(-) create mode 100644 app/(home)/blockchain-developer-academy/blockchain-developer.config.ts create mode 100644 app/(home)/blockchain-developer-academy/page.tsx create mode 100644 components/academy/learning-path-configs/blockchain-developer.config.ts delete mode 100644 components/academy/learning-path-configs/blockchain.config.ts rename content/academy/{ => avalanche-developer}/avacloudapis/02-overview/01-about.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/02-overview/02-apis-vs-rpc.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/02-overview/03-dataapi-endpoints.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/02-overview/04-webhooks.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/03-environment-setup/01-avacloud-account.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/03-environment-setup/03-what-we-build.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/04-erc20-token-balance-app/01-overview.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/04-erc20-token-balance-app/04-final.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/05-wallet-portfolio-app/01-overview.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/06-block-explorer-app/01-overview.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/06-block-explorer-app/02-understanding-code.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/06-block-explorer-app/03-modifying-code.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/07-using-webhooks/01-overview.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/index.mdx (100%) rename content/academy/{ => avalanche-developer}/avacloudapis/meta.json (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/05-interoperability/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/05-interoperability/09-use-cases.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/07b-vm-customization/02-modification.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/07b-vm-customization/03-creation.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/get-certificate.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/index.mdx (100%) rename content/academy/{ => avalanche-developer}/avalanche-fundamentals/meta.json (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/03-development-env-setup/00-intro.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/03-development-env-setup/02-create-codespaces.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/04-your-evm-blockchain/00-intro.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/05-genesis-configuration/01-genesis-block.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/06-precompiles/01-what-are-precompiles.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/06-precompiles/02-why-precompiles.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/07-hash-function-precompile/00-intro.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/00-intro.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/09-unit-tests.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/09-stateful-precompiles/00-intro.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/00-intro.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/index.mdx (100%) rename content/academy/{ => avalanche-developer}/customizing-evm/meta.json (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/04-ccip-icm/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/certificate.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/index.mdx (100%) rename content/academy/{ => avalanche-developer}/icm-chainlink/meta.json (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/02-interoperability/02-source-message-destination.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/04-icm-basics/01-icm-basics.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/04-icm-basics/03-sending-a-message.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/04-icm-basics/07-send-a-message.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/05-two-way-communication/02-sender-contract.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/07-icm-registry/01-icm-registry.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/certificate.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/index.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-messaging/meta.json (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/02-getting-started/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/03-tokens/01-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/03-tokens/02-native-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/12-send-and-call/01-intro.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/14-scaling-decimals/02-example.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/certificate.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/index.mdx (100%) rename content/academy/{ => avalanche-developer}/interchain-token-transfer/meta.json (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/03-precompiles/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/03-precompiles/02-precompiles.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/04-native-minter/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/05-fee-config/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/08-governance/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/08-governance/02-governance-models.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/08-governance/03-daos.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/08-governance/05-governance-20.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/dappVsL1.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/index.mdx (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/meta.json (100%) rename content/academy/{ => avalanche-developer}/l1-native-tokenomics/token-ownership.mdx (100%) create mode 100644 content/academy/avalanche-developer/meta.json rename content/academy/{ => avalanche-developer}/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx (100%) rename content/academy/{ => avalanche-developer}/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx (100%) rename content/academy/{ => avalanche-developer}/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx (100%) rename content/academy/{ => avalanche-developer}/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx (100%) rename content/academy/{ => avalanche-developer}/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx (100%) rename content/academy/{ => avalanche-developer}/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx (100%) rename content/academy/{ => avalanche-developer}/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx (100%) rename content/academy/{ => avalanche-developer}/multi-chain-architecture/certificate.mdx (100%) rename content/academy/{ => avalanche-developer}/multi-chain-architecture/index.mdx (100%) rename content/academy/{ => avalanche-developer}/multi-chain-architecture/meta.json (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/01-introduction/01-pchain-review.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/01-introduction/02-multi-chain-review.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/01-introduction/03-interop.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/01-introduction/04-proxy-pattern.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/XX-registering-validator/registering-validator.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/certificate.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/index.mdx (100%) rename content/academy/{ => avalanche-developer}/permissioned-l1s/meta.json (100%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/01-review/01-pchain-review.mdx (54%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/01-review/02-multi-chain-review.mdx (58%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx (100%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/01-review/04-native-tokenomics-review.mdx (100%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/02-proof-of-stake/01-introduction.mdx (100%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx (100%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx (100%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx (100%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx (100%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/certificate.mdx (100%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/index.mdx (100%) rename content/academy/{ => avalanche-developer}/permissionless-l1s/meta.json (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01-legal-foundations/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01-legal-foundations/10-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/03-user-personas/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/03-user-personas/07-flashcards.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/03-user-personas/08-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/03-user-personas/09-additional-learning.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/certificate.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/index.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/foundations-web3-venture/meta.json (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/09-fundraising/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/09-fundraising/02-fundraising-process.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/09-fundraising/04-implementing-strategy.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/09-fundraising/05-key-takeaways.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/09-fundraising/06-additional-learning.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/09-fundraising/07-flashcards.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/09-fundraising/08-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/10-grants/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/10-grants/02-success-criteria.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/10-grants/03-common-mistakes.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/10-grants/04-beyond-funding.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/10-grants/05-key-takeaways.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/10-grants/06-flashcards.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/10-grants/07-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/11-pitching/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/11-pitching/03-building-credibility.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/11-pitching/04-advanced-techniques.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/11-pitching/05-pitch-success.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/11-pitching/06-why-it-matters.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/11-pitching/07-applying.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/11-pitching/08-key-takeways.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/11-pitching/09-flashcards.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/11-pitching/10-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/certificate.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/index.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/fundraising-finance/meta.json (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/04-gtm-strategies/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/04-gtm-strategies/02-structured-framework.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/04-gtm-strategies/05-applying-principles.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/04-gtm-strategies/06-key-takeaways.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/04-gtm-strategies/07-flashcards.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/04-gtm-strategies/08-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/02-defining-value-proposition.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/03-understanding-your-buyer.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/04-selling-during-mvp.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/05-managing-first-customers.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/06-outreach-and-sales-calls.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/07-managing-leads.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/08-expanding-sales-team.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/09-key-takeaways.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/10-flashcards.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/11-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/05-sales/12-additional-learning.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/06-pricing/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/06-pricing/03-building-your-pricing-framework.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/06-pricing/07-enterprise-client-approach.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/06-pricing/08-key-takeaways.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/06-pricing/09-flashcards.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/06-pricing/10-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/certificate.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/index.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/go-to-market/meta.json (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/meta.json (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/08-common-community-mistakes.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/09-event-planning-for-community.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/10-key-takeaways.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/11-additional-learning.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/12-flashcards.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/07-community-building/13-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/certificate.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/index.mdx (100%) rename content/{codebase-entrepreneur => academy/avalanche-entrepreneur}/web3-community-architect/meta.json (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/04-signatures/01-signatures.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/get-certificate.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/index.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/meta.json (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/xx-decentralization.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/xx-regulation/01-regulation.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx (100%) rename content/academy/{ => blockchain-developer}/blockchain-fundamentals/xx-tokens.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/02-real-privacy/02-compliance.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/03-encrypted-tokens/02-comparison.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/04-usability-eerc/02-use-cases.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/index.mdx (100%) rename content/academy/{ => blockchain-developer}/encrypted-erc/meta.json (100%) create mode 100644 content/academy/blockchain-developer/meta.json rename content/academy/{ => blockchain-developer}/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/04-hello-world-part-1/01-intro.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/04-hello-world-part-1/03-functions.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/04-hello-world-part-1/04-contracts.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/05-hello-world-part-2/01-intro.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/05-hello-world-part-2/06-events.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/06-contract-standarization/02-inheritance.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/06-contract-standarization/03-interfaces.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/06-contract-standarization/04-abstract.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/index.mdx (100%) rename content/academy/{ => blockchain-developer}/solidity-foundry/meta.json (100%) diff --git a/app/(home)/blockchain-developer-academy/blockchain-developer.config.ts b/app/(home)/blockchain-developer-academy/blockchain-developer.config.ts new file mode 100644 index 00000000000..18096e86306 --- /dev/null +++ b/app/(home)/blockchain-developer-academy/blockchain-developer.config.ts @@ -0,0 +1,12 @@ +import type { AcademyLandingPageConfig } from '@/components/academy/shared/academy-types'; + +export const blockchainDeveloperAcademyLandingPageConfig: AcademyLandingPageConfig = { + id: 'blockchain-developer-academy', + name: 'Blockchain Developer Academy', + heroTitle: 'Blockchain', + heroAccent: 'Developer', + heroDescription: 'Start your blockchain development journey from the ground up. Master the fundamentals of blockchain technology, learn Solidity programming, and explore privacy-enhancing technologies to build secure and innovative decentralized applications.', + pathType: 'blockchain', + showBlogs: true, +}; + diff --git a/app/(home)/blockchain-developer-academy/page.tsx b/app/(home)/blockchain-developer-academy/page.tsx new file mode 100644 index 00000000000..249ff36a2c5 --- /dev/null +++ b/app/(home)/blockchain-developer-academy/page.tsx @@ -0,0 +1,64 @@ +import type { Metadata } from "next"; +import { createMetadata } from "@/utils/metadata"; +import { blog } from "@/lib/source"; +import { AcademyLayout } from "@/components/academy/shared/academy-layout"; +import { blockchainDeveloperAcademyLandingPageConfig } from "./blockchain-developer.config"; + +export const metadata: Metadata = createMetadata({ + title: "Blockchain Developer Academy", + description: + "Master blockchain fundamentals and smart contract development from the ground up", + openGraph: { + url: "/blockchain-developer-academy", + images: { + url: "/api/og/academy", + width: 1200, + height: 630, + alt: "Blockchain Developer Academy", + }, + }, + twitter: { + images: { + url: "/api/og/academy", + width: 1200, + height: 630, + alt: "Blockchain Developer Academy", + }, + }, +}); + +export default function BlockchainDeveloperAcademyPage(): React.ReactElement { + // Get all guides server-side + const blogPages = [...blog.getPages()] + .sort( + (a, b) => + new Date((b.data.date as string) ?? b.url).getTime() - + new Date((a.data.date as string) ?? a.url).getTime() + ) + .slice(0, 9); // Limit to 9 guides + + // Serialize blog data to pass to client component + const blogs = blogPages.map((page) => ({ + url: page.url, + data: { + title: page.data.title || "Untitled", + description: page.data.description || "", + topics: (page.data.topics as string[]) || [], + date: + page.data.date instanceof Date + ? page.data.date.toISOString() + : (page.data.date as string) || "", + }, + file: { + name: page.url, // Use URL instead of file.name in v16 + }, + })); + + return ( + + ); +} + diff --git a/app/codebase-entrepreneur-academy/[...slug]/page.tsx b/app/codebase-entrepreneur-academy/[...slug]/page.tsx index f1f16204ac5..d2b9d23d8ad 100644 --- a/app/codebase-entrepreneur-academy/[...slug]/page.tsx +++ b/app/codebase-entrepreneur-academy/[...slug]/page.tsx @@ -47,7 +47,7 @@ export default async function Page(props: { const page = codebaseEntrepreneurAcademy.getPage(params.slug); if (!page) notFound(); - const path = `content/codebase-entrepreneur${page.url.replace('/codebase-entrepreneur/', '/')}.mdx`; + const path = `content/academy/avalanche-entrepreneur${page.url.replace('/codebase-entrepreneur-academy/', '/')}.mdx`; const editUrl = `https://github.com/ava-labs/builders-hub/edit/master/${path}`; const MDX = page.data.body; const course = COURSES.codebaseEntrepreneur.find( diff --git a/components/academy/learning-path-configs/avalanche-developer.config.ts b/components/academy/learning-path-configs/avalanche-developer.config.ts index 020dc5d5b0a..7b285e1b22c 100644 --- a/components/academy/learning-path-configs/avalanche-developer.config.ts +++ b/components/academy/learning-path-configs/avalanche-developer.config.ts @@ -2,120 +2,87 @@ import { BookOpen, ArrowLeftRight, Layers, Coins, Code, Shield } from 'lucide-re import type { CourseNode } from '../learning-tree'; export const avalancheLearningPaths: CourseNode[] = [ - // Foundation Layer - { - id: "blockchain-fundamentals", - name: "Blockchain Fundamentals", - description: "Start here to learn about blockchain and solidity basics", - slug: "blockchain-fundamentals", - category: "Fundamentals", - position: { x: 50, y: 0 }, - mobileOrder: 1 - }, - // Second Layer - Intro to Solidity - { - id: "intro-to-solidity", - name: "Intro to Solidity", - description: "Start here to learn about Solidity basics with Foundry", - slug: "solidity-foundry", - category: "Fundamentals", - dependencies: ["avalanche-fundamentals"], - position: { x: 20, y: 300 }, - mobileOrder: 2 - }, - - // Third Layer - Avalanche Fundamentals + // Foundation Layer - Avalanche Fundamentals { id: "avalanche-fundamentals", name: "Avalanche Fundamentals", description: "Learn about Avalanche Consensus, Multi-Chain Architecture, and VMs", - slug: "avalanche-fundamentals", + slug: "avalanche-developer/avalanche-fundamentals", category: "Fundamentals", - dependencies: ["blockchain-fundamentals"], - position: { x: 50, y: 150 }, - mobileOrder: 3 + position: { x: 50, y: 0 }, + mobileOrder: 1 }, - // Fourth Layer - Branching paths + // Second Layer - Branching paths { id: "customizing-evm", name: "Customizing the EVM", description: "Add custom precompiles and configure the EVM", - slug: "customizing-evm", + slug: "avalanche-developer/customizing-evm", category: "VM Customization", dependencies: ["avalanche-fundamentals"], - position: { x:80, y: 300 }, - mobileOrder: 10 - }, - { - id: "encrypted-erc", - name: "Encrypted ERC", - description: "Learn about eERC tokens to add privacy to your applications", - slug: "encrypted-erc", - category: "Privacy", - dependencies: ["intro-to-solidity"], - position: { x: 20, y: 450 }, - mobileOrder: 11 + position: { x:80, y: 200 }, + mobileOrder: 2 }, { id: "interchain-messaging", name: "Interchain Messaging", description: "Build apps leveraging Avalanche's Interchain Messaging", - slug: "interchain-messaging", + slug: "avalanche-developer/interchain-messaging", category: "Interoperability", dependencies: ["avalanche-fundamentals"], - position: { x: 65, y: 450 }, - mobileOrder: 4 + position: { x: 65, y: 200 }, + mobileOrder: 3 }, { id: "permissioned-l1s", name: "Permissioned L1s", description: "Create and manage permissioned blockchains with Proof of Authority", - slug: "permissioned-l1s", + slug: "avalanche-developer/permissioned-l1s", category: "L1 Development", dependencies: ["avalanche-fundamentals"], - position: { x: 35, y: 600 }, - mobileOrder: 7 + position: { x: 35, y: 350 }, + mobileOrder: 6 }, { id: "l1-native-tokenomics", name: "L1 Native Tokenomics", description: "Design L1 economics with custom token, native minting rights and transaction fees", - slug: "l1-native-tokenomics", + slug: "avalanche-developer/l1-native-tokenomics", category: "L1 Tokenomics", dependencies: ["avalanche-fundamentals"], - position: { x: 50, y: 750 }, - mobileOrder: 8 + position: { x: 50, y: 500 }, + mobileOrder: 7 }, - // Fifth Layer - Advanced topics (adjusted for no overlap) + // Third Layer - Advanced topics { id: "interchain-token-transfer", name: "Interchain Token Transfer", description: "Transfer assets between chains using Interchain Messaging", - slug: "interchain-token-transfer", + slug: "avalanche-developer/interchain-token-transfer", category: "Interoperability", dependencies: ["interchain-messaging"], - position: { x: 80, y: 600 }, - mobileOrder: 5 + position: { x: 80, y: 350 }, + mobileOrder: 4 }, { id: "icm-chainlink", name: "Chainlink via ICM", description: "Use Chainlink services on an L1 through the Interchain Messaging", - slug: "icm-chainlink", + slug: "avalanche-developer/icm-chainlink", category: "Interoperability", dependencies: ["interchain-messaging"], - position: { x: 65, y: 900 }, - mobileOrder: 6 + position: { x: 65, y: 500 }, + mobileOrder: 5 }, { id: "permissionless-l1s", name: "Permissionless L1s", description: "Create and manage permissionless blockchains with Proof of Stake", - slug: "permissionless-l1s", + slug: "avalanche-developer/permissionless-l1s", category: "L1 Development", dependencies: ["permissioned-l1s", "l1-native-tokenomics"], - position: { x: 35, y: 900 }, - mobileOrder: 9 + position: { x: 35, y: 650 }, + mobileOrder: 8 }, ]; diff --git a/components/academy/learning-path-configs/blockchain-developer.config.ts b/components/academy/learning-path-configs/blockchain-developer.config.ts new file mode 100644 index 00000000000..a9e230a6e3d --- /dev/null +++ b/components/academy/learning-path-configs/blockchain-developer.config.ts @@ -0,0 +1,59 @@ +import { BookOpen, Code, Shield } from 'lucide-react'; +import type { CourseNode } from '../learning-tree'; + +export const blockchainLearningPaths: CourseNode[] = [ + // Foundation Layer + { + id: "blockchain-fundamentals", + name: "Blockchain Fundamentals", + description: "Start here to learn about blockchain and solidity basics", + slug: "blockchain-developer/blockchain-fundamentals", + category: "Fundamentals", + position: { x: 50, y: 0 }, + mobileOrder: 1 + }, + // Second Layer - Intro to Solidity + { + id: "intro-to-solidity", + name: "Intro to Solidity", + description: "Start here to learn about Solidity basics with Foundry", + slug: "blockchain-developer/solidity-foundry", + category: "Development", + dependencies: ["blockchain-fundamentals"], + position: { x: 50, y: 200 }, + mobileOrder: 2 + }, + // Third Layer - Encrypted ERC + { + id: "encrypted-erc", + name: "Encrypted ERC", + description: "Learn about eERC tokens to add privacy to your applications", + slug: "blockchain-developer/encrypted-erc", + category: "Privacy", + dependencies: ["intro-to-solidity"], + position: { x: 50, y: 400 }, + mobileOrder: 3 + }, +]; + +export const blockchainCategoryStyles = { + "Fundamentals": { + gradient: "from-blue-500 to-blue-600", + icon: BookOpen, + lightBg: "bg-blue-50", + darkBg: "dark:bg-blue-950/30" + }, + "Development": { + gradient: "from-orange-500 to-orange-600", + icon: Code, + lightBg: "bg-orange-50", + darkBg: "dark:bg-orange-950/30" + }, + "Privacy": { + gradient: "from-indigo-500 to-indigo-600", + icon: Shield, + lightBg: "bg-indigo-50", + darkBg: "dark:bg-indigo-950/30" + }, +}; + diff --git a/components/academy/learning-path-configs/blockchain.config.ts b/components/academy/learning-path-configs/blockchain.config.ts deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/components/academy/learning-path-configs/codebase-entrepreneur.config.ts b/components/academy/learning-path-configs/codebase-entrepreneur.config.ts index 2a501435934..a99ad1dc518 100644 --- a/components/academy/learning-path-configs/codebase-entrepreneur.config.ts +++ b/components/academy/learning-path-configs/codebase-entrepreneur.config.ts @@ -7,7 +7,7 @@ export const entrepreneurLearningPaths: CourseNode[] = [ id: "codebase-foundation", name: "Level 1: Foundations of a Web3 Venture", description: "Establishing essential blockchain and business fundamentals.", - slug: "foundations-web3-venture", + slug: "avalanche-entrepreneur/foundations-web3-venture", category: "Fundamentals", position: { x: 50, y: 0 }, mobileOrder: 1 @@ -18,7 +18,7 @@ export const entrepreneurLearningPaths: CourseNode[] = [ id: "codebase-gtm", name: "Level 2: Go-To-Market Strategist", description: "Master go-to-market strategies for Web3 products and services.", - slug: "go-to-market", + slug: "avalanche-entrepreneur/go-to-market", category: "Business Strategy", dependencies: ["codebase-foundation"], position: { x: 30, y: 200 }, @@ -28,7 +28,7 @@ export const entrepreneurLearningPaths: CourseNode[] = [ id: "codebase-web3-community-architect", name: "Level 3: Web3 Community Architect", description: "Learn to build and manage thriving Web3 communities.", - slug: "web3-community-architect", + slug: "avalanche-entrepreneur/web3-community-architect", category: "Community", dependencies: ["codebase-foundation"], position: { x: 70, y: 200 }, @@ -40,7 +40,7 @@ export const entrepreneurLearningPaths: CourseNode[] = [ id: "codebase-fundraising", name: "Level 4: Fundraising & Finance Pro", description: "Master fundraising strategies and financial management in Web3.", - slug: "fundraising-finance", + slug: "avalanche-entrepreneur/fundraising-finance", category: "Finance", dependencies: ["codebase-web3-community-architect", "codebase-gtm"], position: { x: 50, y: 400 }, diff --git a/components/academy/learning-tree.tsx b/components/academy/learning-tree.tsx index 9caec622185..7410d5ac924 100644 --- a/components/academy/learning-tree.tsx +++ b/components/academy/learning-tree.tsx @@ -21,9 +21,10 @@ export interface CourseNode { // Import configs import { avalancheLearningPaths, avalancheCategoryStyles } from './learning-path-configs/avalanche-developer.config'; import { entrepreneurLearningPaths, entrepreneurCategoryStyles } from './learning-path-configs/codebase-entrepreneur.config'; +import { blockchainLearningPaths, blockchainCategoryStyles } from './learning-path-configs/blockchain-developer.config'; interface LearningTreeProps { - pathType?: 'avalanche' | 'entrepreneur'; + pathType?: 'avalanche' | 'entrepreneur' | 'blockchain'; } export default function LearningTree({ pathType = 'avalanche' }: LearningTreeProps) { @@ -31,8 +32,16 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro const isMobile = useIsMobile(); // Select the appropriate learning paths and styles based on pathType - const learningPaths = pathType === 'avalanche' ? avalancheLearningPaths : entrepreneurLearningPaths; - const categoryStyles = pathType === 'avalanche' ? avalancheCategoryStyles : entrepreneurCategoryStyles; + const learningPaths = pathType === 'avalanche' + ? avalancheLearningPaths + : pathType === 'blockchain' + ? blockchainLearningPaths + : entrepreneurLearningPaths; + const categoryStyles = pathType === 'avalanche' + ? avalancheCategoryStyles + : pathType === 'blockchain' + ? blockchainCategoryStyles + : entrepreneurCategoryStyles; // Function to get all ancestor nodes (dependencies) of a given node const getAncestors = (nodeId: string, ancestors: Set = new Set()): Set => { diff --git a/components/academy/shared/academy-bubble.config.tsx b/components/academy/shared/academy-bubble.config.tsx index aa05edeb041..2765993d9d8 100644 --- a/components/academy/shared/academy-bubble.config.tsx +++ b/components/academy/shared/academy-bubble.config.tsx @@ -6,6 +6,7 @@ import type { BubbleNavigationConfig } from '@/components/navigation/bubble-navi export const academyBubbleConfig: BubbleNavigationConfig = { items: [ { id: "avalanche", label: "Avalanche Developer", href: "/academy" }, + { id: "blockchain", label: "Blockchain Developer", href: "/blockchain-developer-academy" }, { id: "entrepreneur", label: "Codebase Entrepreneur", href: "/codebase-entrepreneur-academy" }, ], activeColor: "bg-red-600", @@ -19,9 +20,11 @@ export const academyBubbleConfig: BubbleNavigationConfig = { export function AcademyBubbleNav() { const getActiveItem = (pathname: string, items: typeof academyBubbleConfig.items) => { - if (pathname === "/codebase-entrepreneur-academy") { + if (pathname === "/codebase-entrepreneur-academy" || pathname.startsWith("/codebase-entrepreneur-academy/")) { return "entrepreneur"; - } else if (pathname === "/academy" || pathname.startsWith("/academy/avalanche")) { + } else if (pathname === "/blockchain-developer-academy" || pathname.startsWith("/blockchain-developer-academy/")) { + return "blockchain"; + } else if (pathname === "/academy" || pathname.startsWith("/academy/")) { return "avalanche"; } return "avalanche"; diff --git a/components/academy/shared/academy-learning-path.tsx b/components/academy/shared/academy-learning-path.tsx index da8846cce1e..390b61f26d8 100644 --- a/components/academy/shared/academy-learning-path.tsx +++ b/components/academy/shared/academy-learning-path.tsx @@ -1,7 +1,7 @@ import LearningTree from '@/components/academy/learning-tree'; interface AcademyLearningPathProps { - defaultPathType: 'avalanche' | 'entrepreneur'; + defaultPathType: 'avalanche' | 'entrepreneur' | 'blockchain'; } export function AcademyLearningPath({ defaultPathType }: AcademyLearningPathProps) { @@ -14,6 +14,11 @@ export function AcademyLearningPath({ defaultPathType }: AcademyLearningPathProp Learning Path for{" "} {pathType === 'avalanche' ? ( "Avalanche" + ) : pathType === 'blockchain' ? ( + <> + Blockchain + {" "}Developer + ) : ( <> Codebase @@ -32,6 +37,8 @@ export function AcademyLearningPath({ defaultPathType }: AcademyLearningPathProp {pathType === 'avalanche' ? 'Start with fundamentals, progress to advanced' + : pathType === 'blockchain' + ? 'Master blockchain basics and smart contract development' : 'Build your foundation, scale your venture' } diff --git a/components/academy/shared/academy-types.tsx b/components/academy/shared/academy-types.tsx index 37fd93b23c7..e7a9a9dbb76 100644 --- a/components/academy/shared/academy-types.tsx +++ b/components/academy/shared/academy-types.tsx @@ -6,7 +6,7 @@ export interface AcademyLandingPageConfig { heroTitle: string; heroAccent: string; heroDescription: string; - pathType: 'avalanche' | 'entrepreneur'; + pathType: 'avalanche' | 'entrepreneur' | 'blockchain'; customContent?: ReactNode; showBlogs?: boolean; features?: { diff --git a/content/academy/avacloudapis/02-overview/01-about.mdx b/content/academy/avalanche-developer/avacloudapis/02-overview/01-about.mdx similarity index 100% rename from content/academy/avacloudapis/02-overview/01-about.mdx rename to content/academy/avalanche-developer/avacloudapis/02-overview/01-about.mdx diff --git a/content/academy/avacloudapis/02-overview/02-apis-vs-rpc.mdx b/content/academy/avalanche-developer/avacloudapis/02-overview/02-apis-vs-rpc.mdx similarity index 100% rename from content/academy/avacloudapis/02-overview/02-apis-vs-rpc.mdx rename to content/academy/avalanche-developer/avacloudapis/02-overview/02-apis-vs-rpc.mdx diff --git a/content/academy/avacloudapis/02-overview/03-dataapi-endpoints.mdx b/content/academy/avalanche-developer/avacloudapis/02-overview/03-dataapi-endpoints.mdx similarity index 100% rename from content/academy/avacloudapis/02-overview/03-dataapi-endpoints.mdx rename to content/academy/avalanche-developer/avacloudapis/02-overview/03-dataapi-endpoints.mdx diff --git a/content/academy/avacloudapis/02-overview/04-webhooks.mdx b/content/academy/avalanche-developer/avacloudapis/02-overview/04-webhooks.mdx similarity index 100% rename from content/academy/avacloudapis/02-overview/04-webhooks.mdx rename to content/academy/avalanche-developer/avacloudapis/02-overview/04-webhooks.mdx diff --git a/content/academy/avacloudapis/03-environment-setup/01-avacloud-account.mdx b/content/academy/avalanche-developer/avacloudapis/03-environment-setup/01-avacloud-account.mdx similarity index 100% rename from content/academy/avacloudapis/03-environment-setup/01-avacloud-account.mdx rename to content/academy/avalanche-developer/avacloudapis/03-environment-setup/01-avacloud-account.mdx diff --git a/content/academy/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx b/content/academy/avalanche-developer/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx similarity index 100% rename from content/academy/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx rename to content/academy/avalanche-developer/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx diff --git a/content/academy/avacloudapis/03-environment-setup/03-what-we-build.mdx b/content/academy/avalanche-developer/avacloudapis/03-environment-setup/03-what-we-build.mdx similarity index 100% rename from content/academy/avacloudapis/03-environment-setup/03-what-we-build.mdx rename to content/academy/avalanche-developer/avacloudapis/03-environment-setup/03-what-we-build.mdx diff --git a/content/academy/avacloudapis/04-erc20-token-balance-app/01-overview.mdx b/content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/01-overview.mdx similarity index 100% rename from content/academy/avacloudapis/04-erc20-token-balance-app/01-overview.mdx rename to content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/01-overview.mdx diff --git a/content/academy/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx b/content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx rename to content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx diff --git a/content/academy/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx b/content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx rename to content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx diff --git a/content/academy/avacloudapis/04-erc20-token-balance-app/04-final.mdx b/content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/04-final.mdx similarity index 100% rename from content/academy/avacloudapis/04-erc20-token-balance-app/04-final.mdx rename to content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/04-final.mdx diff --git a/content/academy/avacloudapis/05-wallet-portfolio-app/01-overview.mdx b/content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/01-overview.mdx similarity index 100% rename from content/academy/avacloudapis/05-wallet-portfolio-app/01-overview.mdx rename to content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/01-overview.mdx diff --git a/content/academy/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx b/content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx rename to content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx diff --git a/content/academy/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx b/content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx rename to content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx diff --git a/content/academy/avacloudapis/06-block-explorer-app/01-overview.mdx b/content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/01-overview.mdx similarity index 100% rename from content/academy/avacloudapis/06-block-explorer-app/01-overview.mdx rename to content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/01-overview.mdx diff --git a/content/academy/avacloudapis/06-block-explorer-app/02-understanding-code.mdx b/content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avacloudapis/06-block-explorer-app/02-understanding-code.mdx rename to content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/02-understanding-code.mdx diff --git a/content/academy/avacloudapis/06-block-explorer-app/03-modifying-code.mdx b/content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avacloudapis/06-block-explorer-app/03-modifying-code.mdx rename to content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/03-modifying-code.mdx diff --git a/content/academy/avacloudapis/07-using-webhooks/01-overview.mdx b/content/academy/avalanche-developer/avacloudapis/07-using-webhooks/01-overview.mdx similarity index 100% rename from content/academy/avacloudapis/07-using-webhooks/01-overview.mdx rename to content/academy/avalanche-developer/avacloudapis/07-using-webhooks/01-overview.mdx diff --git a/content/academy/avacloudapis/index.mdx b/content/academy/avalanche-developer/avacloudapis/index.mdx similarity index 100% rename from content/academy/avacloudapis/index.mdx rename to content/academy/avalanche-developer/avacloudapis/index.mdx diff --git a/content/academy/avacloudapis/meta.json b/content/academy/avalanche-developer/avacloudapis/meta.json similarity index 100% rename from content/academy/avacloudapis/meta.json rename to content/academy/avalanche-developer/avacloudapis/meta.json diff --git a/content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx diff --git a/content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx diff --git a/content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx diff --git a/content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx diff --git a/content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx diff --git a/content/academy/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/01-introduction.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/01-introduction.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/01-introduction.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx diff --git a/content/academy/avalanche-fundamentals/05-interoperability/09-use-cases.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/09-use-cases.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/05-interoperability/09-use-cases.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/09-use-cases.mdx diff --git a/content/academy/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx diff --git a/content/academy/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx diff --git a/content/academy/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx diff --git a/content/academy/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx diff --git a/content/academy/avalanche-fundamentals/07b-vm-customization/02-modification.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/02-modification.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07b-vm-customization/02-modification.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/02-modification.mdx diff --git a/content/academy/avalanche-fundamentals/07b-vm-customization/03-creation.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/03-creation.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/07b-vm-customization/03-creation.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/03-creation.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx diff --git a/content/academy/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx diff --git a/content/academy/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx diff --git a/content/academy/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx diff --git a/content/academy/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx diff --git a/content/academy/avalanche-fundamentals/get-certificate.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/get-certificate.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/get-certificate.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/get-certificate.mdx diff --git a/content/academy/avalanche-fundamentals/index.mdx b/content/academy/avalanche-developer/avalanche-fundamentals/index.mdx similarity index 100% rename from content/academy/avalanche-fundamentals/index.mdx rename to content/academy/avalanche-developer/avalanche-fundamentals/index.mdx diff --git a/content/academy/avalanche-fundamentals/meta.json b/content/academy/avalanche-developer/avalanche-fundamentals/meta.json similarity index 100% rename from content/academy/avalanche-fundamentals/meta.json rename to content/academy/avalanche-developer/avalanche-fundamentals/meta.json diff --git a/content/academy/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx b/content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx similarity index 100% rename from content/academy/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx rename to content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx diff --git a/content/academy/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx b/content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx similarity index 100% rename from content/academy/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx rename to content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx diff --git a/content/academy/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx b/content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx similarity index 100% rename from content/academy/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx rename to content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx diff --git a/content/academy/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx b/content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx similarity index 100% rename from content/academy/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx rename to content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx diff --git a/content/academy/customizing-evm/03-development-env-setup/00-intro.mdx b/content/academy/avalanche-developer/customizing-evm/03-development-env-setup/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/03-development-env-setup/00-intro.mdx rename to content/academy/avalanche-developer/customizing-evm/03-development-env-setup/00-intro.mdx diff --git a/content/academy/customizing-evm/03-development-env-setup/02-create-codespaces.mdx b/content/academy/avalanche-developer/customizing-evm/03-development-env-setup/02-create-codespaces.mdx similarity index 100% rename from content/academy/customizing-evm/03-development-env-setup/02-create-codespaces.mdx rename to content/academy/avalanche-developer/customizing-evm/03-development-env-setup/02-create-codespaces.mdx diff --git a/content/academy/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx b/content/academy/avalanche-developer/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx similarity index 100% rename from content/academy/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx rename to content/academy/avalanche-developer/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx diff --git a/content/academy/customizing-evm/04-your-evm-blockchain/00-intro.mdx b/content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/04-your-evm-blockchain/00-intro.mdx rename to content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/00-intro.mdx diff --git a/content/academy/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx b/content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx similarity index 100% rename from content/academy/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx rename to content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx diff --git a/content/academy/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx b/content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx similarity index 100% rename from content/academy/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx rename to content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx diff --git a/content/academy/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx b/content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx similarity index 100% rename from content/academy/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx rename to content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx b/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx rename to content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/01-genesis-block.mdx b/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/01-genesis-block.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/01-genesis-block.mdx rename to content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/01-genesis-block.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx b/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx rename to content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx b/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx rename to content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx b/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx rename to content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx b/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx rename to content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx b/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx rename to content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx b/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx rename to content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx diff --git a/content/academy/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx b/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx similarity index 100% rename from content/academy/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx rename to content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx diff --git a/content/academy/customizing-evm/06-precompiles/01-what-are-precompiles.mdx b/content/academy/avalanche-developer/customizing-evm/06-precompiles/01-what-are-precompiles.mdx similarity index 100% rename from content/academy/customizing-evm/06-precompiles/01-what-are-precompiles.mdx rename to content/academy/avalanche-developer/customizing-evm/06-precompiles/01-what-are-precompiles.mdx diff --git a/content/academy/customizing-evm/06-precompiles/02-why-precompiles.mdx b/content/academy/avalanche-developer/customizing-evm/06-precompiles/02-why-precompiles.mdx similarity index 100% rename from content/academy/customizing-evm/06-precompiles/02-why-precompiles.mdx rename to content/academy/avalanche-developer/customizing-evm/06-precompiles/02-why-precompiles.mdx diff --git a/content/academy/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx b/content/academy/avalanche-developer/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx rename to content/academy/avalanche-developer/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/00-intro.mdx b/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/00-intro.mdx rename to content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/00-intro.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx b/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx rename to content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx b/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx rename to content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx b/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx rename to content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx b/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx rename to content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx b/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx rename to content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx b/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx rename to content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx diff --git a/content/academy/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx b/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx similarity index 100% rename from content/academy/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx rename to content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/00-intro.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/00-intro.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/00-intro.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/09-unit-tests.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/09-unit-tests.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/09-unit-tests.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/09-unit-tests.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx diff --git a/content/academy/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx b/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx similarity index 100% rename from content/academy/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx rename to content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx diff --git a/content/academy/customizing-evm/09-stateful-precompiles/00-intro.mdx b/content/academy/avalanche-developer/customizing-evm/09-stateful-precompiles/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/09-stateful-precompiles/00-intro.mdx rename to content/academy/avalanche-developer/customizing-evm/09-stateful-precompiles/00-intro.mdx diff --git a/content/academy/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx b/content/academy/avalanche-developer/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx rename to content/academy/avalanche-developer/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/00-intro.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/00-intro.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/00-intro.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/00-intro.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx diff --git a/content/academy/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx b/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx similarity index 100% rename from content/academy/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx rename to content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx diff --git a/content/academy/customizing-evm/index.mdx b/content/academy/avalanche-developer/customizing-evm/index.mdx similarity index 100% rename from content/academy/customizing-evm/index.mdx rename to content/academy/avalanche-developer/customizing-evm/index.mdx diff --git a/content/academy/customizing-evm/meta.json b/content/academy/avalanche-developer/customizing-evm/meta.json similarity index 100% rename from content/academy/customizing-evm/meta.json rename to content/academy/avalanche-developer/customizing-evm/meta.json diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx b/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx rename to content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx b/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx rename to content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx b/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx rename to content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx b/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx rename to content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx b/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx rename to content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx b/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx rename to content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx b/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx rename to content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx diff --git a/content/academy/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx b/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx similarity index 100% rename from content/academy/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx rename to content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx diff --git a/content/academy/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx b/content/academy/avalanche-developer/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx similarity index 100% rename from content/academy/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx rename to content/academy/avalanche-developer/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx diff --git a/content/academy/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx b/content/academy/avalanche-developer/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx similarity index 100% rename from content/academy/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx rename to content/academy/avalanche-developer/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx diff --git a/content/academy/icm-chainlink/04-ccip-icm/01-introduction.mdx b/content/academy/avalanche-developer/icm-chainlink/04-ccip-icm/01-introduction.mdx similarity index 100% rename from content/academy/icm-chainlink/04-ccip-icm/01-introduction.mdx rename to content/academy/avalanche-developer/icm-chainlink/04-ccip-icm/01-introduction.mdx diff --git a/content/academy/icm-chainlink/certificate.mdx b/content/academy/avalanche-developer/icm-chainlink/certificate.mdx similarity index 100% rename from content/academy/icm-chainlink/certificate.mdx rename to content/academy/avalanche-developer/icm-chainlink/certificate.mdx diff --git a/content/academy/icm-chainlink/index.mdx b/content/academy/avalanche-developer/icm-chainlink/index.mdx similarity index 100% rename from content/academy/icm-chainlink/index.mdx rename to content/academy/avalanche-developer/icm-chainlink/index.mdx diff --git a/content/academy/icm-chainlink/meta.json b/content/academy/avalanche-developer/icm-chainlink/meta.json similarity index 100% rename from content/academy/icm-chainlink/meta.json rename to content/academy/avalanche-developer/icm-chainlink/meta.json diff --git a/content/academy/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx b/content/academy/avalanche-developer/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx rename to content/academy/avalanche-developer/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx diff --git a/content/academy/interchain-messaging/02-interoperability/02-source-message-destination.mdx b/content/academy/avalanche-developer/interchain-messaging/02-interoperability/02-source-message-destination.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/02-source-message-destination.mdx rename to content/academy/avalanche-developer/interchain-messaging/02-interoperability/02-source-message-destination.mdx diff --git a/content/academy/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx b/content/academy/avalanche-developer/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx rename to content/academy/avalanche-developer/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx diff --git a/content/academy/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx b/content/academy/avalanche-developer/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx rename to content/academy/avalanche-developer/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx diff --git a/content/academy/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx b/content/academy/avalanche-developer/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx rename to content/academy/avalanche-developer/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx diff --git a/content/academy/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx b/content/academy/avalanche-developer/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx similarity index 100% rename from content/academy/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx rename to content/academy/avalanche-developer/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx diff --git a/content/academy/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx b/content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx similarity index 100% rename from content/academy/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx rename to content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx diff --git a/content/academy/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx b/content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx similarity index 100% rename from content/academy/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx rename to content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx diff --git a/content/academy/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx b/content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx similarity index 100% rename from content/academy/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx rename to content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx diff --git a/content/academy/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx b/content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx similarity index 100% rename from content/academy/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx rename to content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx diff --git a/content/academy/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx b/content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx similarity index 100% rename from content/academy/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx rename to content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/01-icm-basics.mdx b/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/01-icm-basics.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/01-icm-basics.mdx rename to content/academy/avalanche-developer/interchain-messaging/04-icm-basics/01-icm-basics.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx b/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx rename to content/academy/avalanche-developer/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/03-sending-a-message.mdx b/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/03-sending-a-message.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/03-sending-a-message.mdx rename to content/academy/avalanche-developer/interchain-messaging/04-icm-basics/03-sending-a-message.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx b/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx rename to content/academy/avalanche-developer/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx b/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx rename to content/academy/avalanche-developer/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx b/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx rename to content/academy/avalanche-developer/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/07-send-a-message.mdx b/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/07-send-a-message.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/07-send-a-message.mdx rename to content/academy/avalanche-developer/interchain-messaging/04-icm-basics/07-send-a-message.mdx diff --git a/content/academy/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx b/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx similarity index 100% rename from content/academy/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx rename to content/academy/avalanche-developer/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx b/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx rename to content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/02-sender-contract.mdx b/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/02-sender-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/02-sender-contract.mdx rename to content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/02-sender-contract.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx b/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx rename to content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx b/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx rename to content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx b/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx rename to content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx b/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx rename to content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx diff --git a/content/academy/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx b/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx similarity index 100% rename from content/academy/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx rename to content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx b/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx rename to content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx b/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx rename to content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx b/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx rename to content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx b/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx rename to content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx b/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx rename to content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx b/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx rename to content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx diff --git a/content/academy/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx b/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx similarity index 100% rename from content/academy/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx rename to content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx diff --git a/content/academy/interchain-messaging/07-icm-registry/01-icm-registry.mdx b/content/academy/avalanche-developer/interchain-messaging/07-icm-registry/01-icm-registry.mdx similarity index 100% rename from content/academy/interchain-messaging/07-icm-registry/01-icm-registry.mdx rename to content/academy/avalanche-developer/interchain-messaging/07-icm-registry/01-icm-registry.mdx diff --git a/content/academy/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx b/content/academy/avalanche-developer/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx similarity index 100% rename from content/academy/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx rename to content/academy/avalanche-developer/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx diff --git a/content/academy/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx b/content/academy/avalanche-developer/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx similarity index 100% rename from content/academy/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx rename to content/academy/avalanche-developer/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx diff --git a/content/academy/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx b/content/academy/avalanche-developer/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx similarity index 100% rename from content/academy/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx rename to content/academy/avalanche-developer/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx diff --git a/content/academy/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx b/content/academy/avalanche-developer/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx similarity index 100% rename from content/academy/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx rename to content/academy/avalanche-developer/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx b/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx rename to content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx b/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx rename to content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx b/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx rename to content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx b/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx rename to content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx b/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx rename to content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx b/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx rename to content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx b/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx rename to content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx b/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx rename to content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx diff --git a/content/academy/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx b/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx similarity index 100% rename from content/academy/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx rename to content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx diff --git a/content/academy/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx b/content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx similarity index 100% rename from content/academy/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx rename to content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx diff --git a/content/academy/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx b/content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx similarity index 100% rename from content/academy/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx rename to content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx diff --git a/content/academy/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx b/content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx similarity index 100% rename from content/academy/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx rename to content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx diff --git a/content/academy/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx b/content/academy/avalanche-developer/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx similarity index 100% rename from content/academy/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx rename to content/academy/avalanche-developer/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx diff --git a/content/academy/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx b/content/academy/avalanche-developer/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx similarity index 100% rename from content/academy/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx rename to content/academy/avalanche-developer/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx b/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx rename to content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx b/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx rename to content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx b/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx rename to content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx b/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx rename to content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx b/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx rename to content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx b/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx rename to content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx diff --git a/content/academy/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx b/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx similarity index 100% rename from content/academy/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx rename to content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx b/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx rename to content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx b/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx rename to content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx b/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx rename to content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx b/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx rename to content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx b/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx rename to content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx b/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx rename to content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx b/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx rename to content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx diff --git a/content/academy/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx b/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx similarity index 100% rename from content/academy/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx rename to content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx diff --git a/content/academy/interchain-messaging/certificate.mdx b/content/academy/avalanche-developer/interchain-messaging/certificate.mdx similarity index 100% rename from content/academy/interchain-messaging/certificate.mdx rename to content/academy/avalanche-developer/interchain-messaging/certificate.mdx diff --git a/content/academy/interchain-messaging/index.mdx b/content/academy/avalanche-developer/interchain-messaging/index.mdx similarity index 100% rename from content/academy/interchain-messaging/index.mdx rename to content/academy/avalanche-developer/interchain-messaging/index.mdx diff --git a/content/academy/interchain-messaging/meta.json b/content/academy/avalanche-developer/interchain-messaging/meta.json similarity index 100% rename from content/academy/interchain-messaging/meta.json rename to content/academy/avalanche-developer/interchain-messaging/meta.json diff --git a/content/academy/interchain-token-transfer/02-getting-started/01-introduction.mdx b/content/academy/avalanche-developer/interchain-token-transfer/02-getting-started/01-introduction.mdx similarity index 100% rename from content/academy/interchain-token-transfer/02-getting-started/01-introduction.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/02-getting-started/01-introduction.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/01-tokens.mdx b/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/01-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/01-tokens.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/03-tokens/01-tokens.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/02-native-tokens.mdx b/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/02-native-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/02-native-tokens.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/03-tokens/02-native-tokens.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx b/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx b/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx b/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx b/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx b/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx b/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx diff --git a/content/academy/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx b/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx similarity index 100% rename from content/academy/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx diff --git a/content/academy/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx b/content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx similarity index 100% rename from content/academy/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx diff --git a/content/academy/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx b/content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx similarity index 100% rename from content/academy/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx diff --git a/content/academy/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx b/content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx similarity index 100% rename from content/academy/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx diff --git a/content/academy/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx b/content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx similarity index 100% rename from content/academy/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx diff --git a/content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx b/content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx similarity index 100% rename from content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx diff --git a/content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx b/content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx similarity index 100% rename from content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx diff --git a/content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx b/content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx similarity index 100% rename from content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx diff --git a/content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx b/content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx similarity index 100% rename from content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx diff --git a/content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx b/content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx b/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx b/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx b/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx b/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx b/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx b/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx b/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx diff --git a/content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx b/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx similarity index 100% rename from content/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx diff --git a/content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx b/content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx similarity index 100% rename from content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx diff --git a/content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx b/content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx diff --git a/content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx b/content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx diff --git a/content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx b/content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx similarity index 100% rename from content/academy/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx diff --git a/content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx b/content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx similarity index 100% rename from content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx diff --git a/content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx b/content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx similarity index 100% rename from content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx diff --git a/content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx b/content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx diff --git a/content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx b/content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx similarity index 100% rename from content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx diff --git a/content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx b/content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx similarity index 100% rename from content/academy/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx diff --git a/content/academy/interchain-token-transfer/12-send-and-call/01-intro.mdx b/content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/01-intro.mdx similarity index 100% rename from content/academy/interchain-token-transfer/12-send-and-call/01-intro.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/01-intro.mdx diff --git a/content/academy/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx b/content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx similarity index 100% rename from content/academy/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx diff --git a/content/academy/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx b/content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx similarity index 100% rename from content/academy/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx diff --git a/content/academy/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx b/content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx similarity index 100% rename from content/academy/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx diff --git a/content/academy/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx b/content/academy/avalanche-developer/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx similarity index 100% rename from content/academy/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx diff --git a/content/academy/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx b/content/academy/avalanche-developer/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx similarity index 100% rename from content/academy/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx diff --git a/content/academy/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx b/content/academy/avalanche-developer/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx similarity index 100% rename from content/academy/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx diff --git a/content/academy/interchain-token-transfer/14-scaling-decimals/02-example.mdx b/content/academy/avalanche-developer/interchain-token-transfer/14-scaling-decimals/02-example.mdx similarity index 100% rename from content/academy/interchain-token-transfer/14-scaling-decimals/02-example.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/14-scaling-decimals/02-example.mdx diff --git a/content/academy/interchain-token-transfer/certificate.mdx b/content/academy/avalanche-developer/interchain-token-transfer/certificate.mdx similarity index 100% rename from content/academy/interchain-token-transfer/certificate.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/certificate.mdx diff --git a/content/academy/interchain-token-transfer/index.mdx b/content/academy/avalanche-developer/interchain-token-transfer/index.mdx similarity index 100% rename from content/academy/interchain-token-transfer/index.mdx rename to content/academy/avalanche-developer/interchain-token-transfer/index.mdx diff --git a/content/academy/interchain-token-transfer/meta.json b/content/academy/avalanche-developer/interchain-token-transfer/meta.json similarity index 100% rename from content/academy/interchain-token-transfer/meta.json rename to content/academy/avalanche-developer/interchain-token-transfer/meta.json diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx diff --git a/content/academy/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx diff --git a/content/academy/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx diff --git a/content/academy/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx diff --git a/content/academy/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx diff --git a/content/academy/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx diff --git a/content/academy/l1-native-tokenomics/03-precompiles/01-introduction.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/03-precompiles/01-introduction.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/03-precompiles/02-precompiles.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/02-precompiles.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/03-precompiles/02-precompiles.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/02-precompiles.mdx diff --git a/content/academy/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx diff --git a/content/academy/l1-native-tokenomics/04-native-minter/01-introduction.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/04-native-minter/01-introduction.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx diff --git a/content/academy/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx diff --git a/content/academy/l1-native-tokenomics/05-fee-config/01-introduction.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/05-fee-config/01-introduction.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx diff --git a/content/academy/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx diff --git a/content/academy/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx diff --git a/content/academy/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx diff --git a/content/academy/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx diff --git a/content/academy/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx diff --git a/content/academy/l1-native-tokenomics/08-governance/01-introduction.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/08-governance/01-introduction.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/08-governance/01-introduction.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/08-governance/01-introduction.mdx diff --git a/content/academy/l1-native-tokenomics/08-governance/02-governance-models.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/08-governance/02-governance-models.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/08-governance/02-governance-models.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/08-governance/02-governance-models.mdx diff --git a/content/academy/l1-native-tokenomics/08-governance/03-daos.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/08-governance/03-daos.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/08-governance/03-daos.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/08-governance/03-daos.mdx diff --git a/content/academy/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx diff --git a/content/academy/l1-native-tokenomics/08-governance/05-governance-20.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/08-governance/05-governance-20.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/08-governance/05-governance-20.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/08-governance/05-governance-20.mdx diff --git a/content/academy/l1-native-tokenomics/dappVsL1.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/dappVsL1.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/dappVsL1.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/dappVsL1.mdx diff --git a/content/academy/l1-native-tokenomics/index.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/index.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/index.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/index.mdx diff --git a/content/academy/l1-native-tokenomics/meta.json b/content/academy/avalanche-developer/l1-native-tokenomics/meta.json similarity index 100% rename from content/academy/l1-native-tokenomics/meta.json rename to content/academy/avalanche-developer/l1-native-tokenomics/meta.json diff --git a/content/academy/l1-native-tokenomics/token-ownership.mdx b/content/academy/avalanche-developer/l1-native-tokenomics/token-ownership.mdx similarity index 100% rename from content/academy/l1-native-tokenomics/token-ownership.mdx rename to content/academy/avalanche-developer/l1-native-tokenomics/token-ownership.mdx diff --git a/content/academy/avalanche-developer/meta.json b/content/academy/avalanche-developer/meta.json new file mode 100644 index 00000000000..e2a564f393e --- /dev/null +++ b/content/academy/avalanche-developer/meta.json @@ -0,0 +1,15 @@ +{ + "pages": [ + "avalanche-fundamentals", + "customizing-evm", + "interchain-messaging", + "interchain-token-transfer", + "icm-chainlink", + "permissioned-l1s", + "l1-native-tokenomics", + "permissionless-l1s", + "multi-chain-architecture", + "avacloudapis" + ] +} + diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx b/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx similarity index 100% rename from content/academy/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx rename to content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx b/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx similarity index 100% rename from content/academy/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx rename to content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx b/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx similarity index 100% rename from content/academy/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx rename to content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx b/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx similarity index 100% rename from content/academy/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx rename to content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx b/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx similarity index 100% rename from content/academy/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx rename to content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx b/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx similarity index 100% rename from content/academy/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx rename to content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx diff --git a/content/academy/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx b/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx similarity index 100% rename from content/academy/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx rename to content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx diff --git a/content/academy/multi-chain-architecture/certificate.mdx b/content/academy/avalanche-developer/multi-chain-architecture/certificate.mdx similarity index 100% rename from content/academy/multi-chain-architecture/certificate.mdx rename to content/academy/avalanche-developer/multi-chain-architecture/certificate.mdx diff --git a/content/academy/multi-chain-architecture/index.mdx b/content/academy/avalanche-developer/multi-chain-architecture/index.mdx similarity index 100% rename from content/academy/multi-chain-architecture/index.mdx rename to content/academy/avalanche-developer/multi-chain-architecture/index.mdx diff --git a/content/academy/multi-chain-architecture/meta.json b/content/academy/avalanche-developer/multi-chain-architecture/meta.json similarity index 100% rename from content/academy/multi-chain-architecture/meta.json rename to content/academy/avalanche-developer/multi-chain-architecture/meta.json diff --git a/content/academy/permissioned-l1s/01-introduction/01-pchain-review.mdx b/content/academy/avalanche-developer/permissioned-l1s/01-introduction/01-pchain-review.mdx similarity index 100% rename from content/academy/permissioned-l1s/01-introduction/01-pchain-review.mdx rename to content/academy/avalanche-developer/permissioned-l1s/01-introduction/01-pchain-review.mdx diff --git a/content/academy/permissioned-l1s/01-introduction/02-multi-chain-review.mdx b/content/academy/avalanche-developer/permissioned-l1s/01-introduction/02-multi-chain-review.mdx similarity index 100% rename from content/academy/permissioned-l1s/01-introduction/02-multi-chain-review.mdx rename to content/academy/avalanche-developer/permissioned-l1s/01-introduction/02-multi-chain-review.mdx diff --git a/content/academy/permissioned-l1s/01-introduction/03-interop.mdx b/content/academy/avalanche-developer/permissioned-l1s/01-introduction/03-interop.mdx similarity index 100% rename from content/academy/permissioned-l1s/01-introduction/03-interop.mdx rename to content/academy/avalanche-developer/permissioned-l1s/01-introduction/03-interop.mdx diff --git a/content/academy/permissioned-l1s/01-introduction/04-proxy-pattern.mdx b/content/academy/avalanche-developer/permissioned-l1s/01-introduction/04-proxy-pattern.mdx similarity index 100% rename from content/academy/permissioned-l1s/01-introduction/04-proxy-pattern.mdx rename to content/academy/avalanche-developer/permissioned-l1s/01-introduction/04-proxy-pattern.mdx diff --git a/content/academy/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx b/content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx similarity index 100% rename from content/academy/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx rename to content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx diff --git a/content/academy/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx b/content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx similarity index 100% rename from content/academy/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx rename to content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx diff --git a/content/academy/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx b/content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx similarity index 100% rename from content/academy/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx rename to content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx diff --git a/content/academy/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx b/content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx similarity index 100% rename from content/academy/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx rename to content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx diff --git a/content/academy/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx b/content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx similarity index 100% rename from content/academy/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx rename to content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx diff --git a/content/academy/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx b/content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx similarity index 100% rename from content/academy/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx rename to content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx diff --git a/content/academy/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx b/content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx similarity index 100% rename from content/academy/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx rename to content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx diff --git a/content/academy/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx b/content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx similarity index 100% rename from content/academy/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx rename to content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx diff --git a/content/academy/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx b/content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx similarity index 100% rename from content/academy/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx rename to content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx b/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx rename to content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx b/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx rename to content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx b/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx rename to content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx b/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx rename to content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx b/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx rename to content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx diff --git a/content/academy/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx b/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx similarity index 100% rename from content/academy/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx rename to content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx b/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx rename to content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx b/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx rename to content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx b/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx rename to content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx b/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx rename to content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx b/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx rename to content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx b/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx rename to content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx b/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx rename to content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx b/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx rename to content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx b/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx rename to content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx diff --git a/content/academy/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx b/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx similarity index 100% rename from content/academy/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx rename to content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx diff --git a/content/academy/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx b/content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx rename to content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx diff --git a/content/academy/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx b/content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx rename to content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx diff --git a/content/academy/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx b/content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx rename to content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx diff --git a/content/academy/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx b/content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx rename to content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx diff --git a/content/academy/permissioned-l1s/XX-registering-validator/registering-validator.mdx b/content/academy/avalanche-developer/permissioned-l1s/XX-registering-validator/registering-validator.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-registering-validator/registering-validator.mdx rename to content/academy/avalanche-developer/permissioned-l1s/XX-registering-validator/registering-validator.mdx diff --git a/content/academy/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx b/content/academy/avalanche-developer/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx similarity index 100% rename from content/academy/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx rename to content/academy/avalanche-developer/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx diff --git a/content/academy/permissioned-l1s/certificate.mdx b/content/academy/avalanche-developer/permissioned-l1s/certificate.mdx similarity index 100% rename from content/academy/permissioned-l1s/certificate.mdx rename to content/academy/avalanche-developer/permissioned-l1s/certificate.mdx diff --git a/content/academy/permissioned-l1s/index.mdx b/content/academy/avalanche-developer/permissioned-l1s/index.mdx similarity index 100% rename from content/academy/permissioned-l1s/index.mdx rename to content/academy/avalanche-developer/permissioned-l1s/index.mdx diff --git a/content/academy/permissioned-l1s/meta.json b/content/academy/avalanche-developer/permissioned-l1s/meta.json similarity index 100% rename from content/academy/permissioned-l1s/meta.json rename to content/academy/avalanche-developer/permissioned-l1s/meta.json diff --git a/content/academy/permissionless-l1s/01-review/01-pchain-review.mdx b/content/academy/avalanche-developer/permissionless-l1s/01-review/01-pchain-review.mdx similarity index 54% rename from content/academy/permissionless-l1s/01-review/01-pchain-review.mdx rename to content/academy/avalanche-developer/permissionless-l1s/01-review/01-pchain-review.mdx index c00c36f94b3..dfe0997110e 100644 --- a/content/academy/permissionless-l1s/01-review/01-pchain-review.mdx +++ b/content/academy/avalanche-developer/permissionless-l1s/01-review/01-pchain-review.mdx @@ -6,6 +6,6 @@ authors: [nicolasarnedo] icon: Book --- -import PChainReview from '@/content/academy/permissioned-l1s/01-introduction/01-pchain-review.mdx'; +import PChainReview from '@/content/academy/avalanche-developer/permissioned-l1s/01-introduction/01-pchain-review.mdx'; diff --git a/content/academy/permissionless-l1s/01-review/02-multi-chain-review.mdx b/content/academy/avalanche-developer/permissionless-l1s/01-review/02-multi-chain-review.mdx similarity index 58% rename from content/academy/permissionless-l1s/01-review/02-multi-chain-review.mdx rename to content/academy/avalanche-developer/permissionless-l1s/01-review/02-multi-chain-review.mdx index 285b58516f0..cfeb218721e 100644 --- a/content/academy/permissionless-l1s/01-review/02-multi-chain-review.mdx +++ b/content/academy/avalanche-developer/permissionless-l1s/01-review/02-multi-chain-review.mdx @@ -6,6 +6,6 @@ authors: [nicolasarnedo] icon: BookOpen --- -import MultiChainReview from '@/content/academy/permissioned-l1s/01-introduction/02-multi-chain-review.mdx'; +import MultiChainReview from '@/content/academy/avalanche-developer/permissioned-l1s/01-introduction/02-multi-chain-review.mdx'; diff --git a/content/academy/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx b/content/academy/avalanche-developer/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx similarity index 100% rename from content/academy/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx rename to content/academy/avalanche-developer/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx diff --git a/content/academy/permissionless-l1s/01-review/04-native-tokenomics-review.mdx b/content/academy/avalanche-developer/permissionless-l1s/01-review/04-native-tokenomics-review.mdx similarity index 100% rename from content/academy/permissionless-l1s/01-review/04-native-tokenomics-review.mdx rename to content/academy/avalanche-developer/permissionless-l1s/01-review/04-native-tokenomics-review.mdx diff --git a/content/academy/permissionless-l1s/02-proof-of-stake/01-introduction.mdx b/content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/01-introduction.mdx similarity index 100% rename from content/academy/permissionless-l1s/02-proof-of-stake/01-introduction.mdx rename to content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/01-introduction.mdx diff --git a/content/academy/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx b/content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx similarity index 100% rename from content/academy/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx rename to content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx diff --git a/content/academy/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx b/content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx similarity index 100% rename from content/academy/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx rename to content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx diff --git a/content/academy/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx b/content/academy/avalanche-developer/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx similarity index 100% rename from content/academy/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx rename to content/academy/avalanche-developer/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx diff --git a/content/academy/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx b/content/academy/avalanche-developer/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx similarity index 100% rename from content/academy/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx rename to content/academy/avalanche-developer/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx diff --git a/content/academy/permissionless-l1s/certificate.mdx b/content/academy/avalanche-developer/permissionless-l1s/certificate.mdx similarity index 100% rename from content/academy/permissionless-l1s/certificate.mdx rename to content/academy/avalanche-developer/permissionless-l1s/certificate.mdx diff --git a/content/academy/permissionless-l1s/index.mdx b/content/academy/avalanche-developer/permissionless-l1s/index.mdx similarity index 100% rename from content/academy/permissionless-l1s/index.mdx rename to content/academy/avalanche-developer/permissionless-l1s/index.mdx diff --git a/content/academy/permissionless-l1s/meta.json b/content/academy/avalanche-developer/permissionless-l1s/meta.json similarity index 100% rename from content/academy/permissionless-l1s/meta.json rename to content/academy/avalanche-developer/permissionless-l1s/meta.json diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/certificate.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/certificate.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/certificate.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/certificate.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/index.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/index.mdx similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/index.mdx rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/index.mdx diff --git a/content/codebase-entrepreneur/foundations-web3-venture/meta.json b/content/academy/avalanche-entrepreneur/foundations-web3-venture/meta.json similarity index 100% rename from content/codebase-entrepreneur/foundations-web3-venture/meta.json rename to content/academy/avalanche-entrepreneur/foundations-web3-venture/meta.json diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/01-introduction.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/01-introduction.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/10-grants/07-quiz.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/07-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/10-grants/07-quiz.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/07-quiz.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/07-applying.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/07-applying.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/07-applying.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/07-applying.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/certificate.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/certificate.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/certificate.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/certificate.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/index.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/index.mdx similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/index.mdx rename to content/academy/avalanche-entrepreneur/fundraising-finance/index.mdx diff --git a/content/codebase-entrepreneur/fundraising-finance/meta.json b/content/academy/avalanche-entrepreneur/fundraising-finance/meta.json similarity index 100% rename from content/codebase-entrepreneur/fundraising-finance/meta.json rename to content/academy/avalanche-entrepreneur/fundraising-finance/meta.json diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx b/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx b/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx b/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx b/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx b/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx b/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx b/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx diff --git a/content/codebase-entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx b/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/01-introduction.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/01-introduction.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/07-managing-leads.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/07-managing-leads.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/07-managing-leads.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/07-managing-leads.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/10-flashcards.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/10-flashcards.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/10-flashcards.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/10-flashcards.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/11-quiz.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/11-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/11-quiz.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/11-quiz.mdx diff --git a/content/codebase-entrepreneur/go-to-market/05-sales/12-additional-learning.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/12-additional-learning.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/05-sales/12-additional-learning.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/05-sales/12-additional-learning.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/01-introduction.mdx b/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/06-pricing/01-introduction.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx b/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx b/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx b/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx b/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx b/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx b/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx b/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/09-flashcards.mdx b/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/09-flashcards.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/09-flashcards.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/06-pricing/09-flashcards.mdx diff --git a/content/codebase-entrepreneur/go-to-market/06-pricing/10-quiz.mdx b/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/10-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/06-pricing/10-quiz.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/06-pricing/10-quiz.mdx diff --git a/content/codebase-entrepreneur/go-to-market/certificate.mdx b/content/academy/avalanche-entrepreneur/go-to-market/certificate.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/certificate.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/certificate.mdx diff --git a/content/codebase-entrepreneur/go-to-market/index.mdx b/content/academy/avalanche-entrepreneur/go-to-market/index.mdx similarity index 100% rename from content/codebase-entrepreneur/go-to-market/index.mdx rename to content/academy/avalanche-entrepreneur/go-to-market/index.mdx diff --git a/content/codebase-entrepreneur/go-to-market/meta.json b/content/academy/avalanche-entrepreneur/go-to-market/meta.json similarity index 100% rename from content/codebase-entrepreneur/go-to-market/meta.json rename to content/academy/avalanche-entrepreneur/go-to-market/meta.json diff --git a/content/codebase-entrepreneur/meta.json b/content/academy/avalanche-entrepreneur/meta.json similarity index 100% rename from content/codebase-entrepreneur/meta.json rename to content/academy/avalanche-entrepreneur/meta.json diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/certificate.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/certificate.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/certificate.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/certificate.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/index.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/index.mdx similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/index.mdx rename to content/academy/avalanche-entrepreneur/web3-community-architect/index.mdx diff --git a/content/codebase-entrepreneur/web3-community-architect/meta.json b/content/academy/avalanche-entrepreneur/web3-community-architect/meta.json similarity index 100% rename from content/codebase-entrepreneur/web3-community-architect/meta.json rename to content/academy/avalanche-entrepreneur/web3-community-architect/meta.json diff --git a/content/academy/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx diff --git a/content/academy/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx diff --git a/content/academy/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx diff --git a/content/academy/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx diff --git a/content/academy/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx diff --git a/content/academy/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx diff --git a/content/academy/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx diff --git a/content/academy/blockchain-fundamentals/04-signatures/01-signatures.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/04-signatures/01-signatures.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/04-signatures/01-signatures.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/04-signatures/01-signatures.mdx diff --git a/content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx diff --git a/content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx diff --git a/content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx diff --git a/content/academy/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx diff --git a/content/academy/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx diff --git a/content/academy/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx diff --git a/content/academy/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx diff --git a/content/academy/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx diff --git a/content/academy/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx diff --git a/content/academy/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx diff --git a/content/academy/blockchain-fundamentals/get-certificate.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/get-certificate.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/get-certificate.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/get-certificate.mdx diff --git a/content/academy/blockchain-fundamentals/index.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/index.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/index.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/index.mdx diff --git a/content/academy/blockchain-fundamentals/meta.json b/content/academy/blockchain-developer/blockchain-fundamentals/meta.json similarity index 100% rename from content/academy/blockchain-fundamentals/meta.json rename to content/academy/blockchain-developer/blockchain-fundamentals/meta.json diff --git a/content/academy/blockchain-fundamentals/xx-decentralization.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/xx-decentralization.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-decentralization.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/xx-decentralization.mdx diff --git a/content/academy/blockchain-fundamentals/xx-regulation/01-regulation.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/xx-regulation/01-regulation.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-regulation/01-regulation.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/xx-regulation/01-regulation.mdx diff --git a/content/academy/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx diff --git a/content/academy/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx diff --git a/content/academy/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx diff --git a/content/academy/blockchain-fundamentals/xx-tokens.mdx b/content/academy/blockchain-developer/blockchain-fundamentals/xx-tokens.mdx similarity index 100% rename from content/academy/blockchain-fundamentals/xx-tokens.mdx rename to content/academy/blockchain-developer/blockchain-fundamentals/xx-tokens.mdx diff --git a/content/academy/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx b/content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx similarity index 100% rename from content/academy/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx rename to content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx diff --git a/content/academy/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx b/content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx similarity index 100% rename from content/academy/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx rename to content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx diff --git a/content/academy/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx b/content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx similarity index 100% rename from content/academy/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx rename to content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx diff --git a/content/academy/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx b/content/academy/blockchain-developer/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx similarity index 100% rename from content/academy/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx rename to content/academy/blockchain-developer/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx diff --git a/content/academy/encrypted-erc/02-real-privacy/02-compliance.mdx b/content/academy/blockchain-developer/encrypted-erc/02-real-privacy/02-compliance.mdx similarity index 100% rename from content/academy/encrypted-erc/02-real-privacy/02-compliance.mdx rename to content/academy/blockchain-developer/encrypted-erc/02-real-privacy/02-compliance.mdx diff --git a/content/academy/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx b/content/academy/blockchain-developer/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx similarity index 100% rename from content/academy/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx rename to content/academy/blockchain-developer/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx diff --git a/content/academy/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx b/content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx similarity index 100% rename from content/academy/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx rename to content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx diff --git a/content/academy/encrypted-erc/03-encrypted-tokens/02-comparison.mdx b/content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/02-comparison.mdx similarity index 100% rename from content/academy/encrypted-erc/03-encrypted-tokens/02-comparison.mdx rename to content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/02-comparison.mdx diff --git a/content/academy/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx b/content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx similarity index 100% rename from content/academy/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx rename to content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx diff --git a/content/academy/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx b/content/academy/blockchain-developer/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx similarity index 100% rename from content/academy/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx rename to content/academy/blockchain-developer/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx diff --git a/content/academy/encrypted-erc/04-usability-eerc/02-use-cases.mdx b/content/academy/blockchain-developer/encrypted-erc/04-usability-eerc/02-use-cases.mdx similarity index 100% rename from content/academy/encrypted-erc/04-usability-eerc/02-use-cases.mdx rename to content/academy/blockchain-developer/encrypted-erc/04-usability-eerc/02-use-cases.mdx diff --git a/content/academy/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx b/content/academy/blockchain-developer/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx similarity index 100% rename from content/academy/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx rename to content/academy/blockchain-developer/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx diff --git a/content/academy/encrypted-erc/index.mdx b/content/academy/blockchain-developer/encrypted-erc/index.mdx similarity index 100% rename from content/academy/encrypted-erc/index.mdx rename to content/academy/blockchain-developer/encrypted-erc/index.mdx diff --git a/content/academy/encrypted-erc/meta.json b/content/academy/blockchain-developer/encrypted-erc/meta.json similarity index 100% rename from content/academy/encrypted-erc/meta.json rename to content/academy/blockchain-developer/encrypted-erc/meta.json diff --git a/content/academy/blockchain-developer/meta.json b/content/academy/blockchain-developer/meta.json new file mode 100644 index 00000000000..432c728452b --- /dev/null +++ b/content/academy/blockchain-developer/meta.json @@ -0,0 +1,8 @@ +{ + "pages": [ + "blockchain-fundamentals", + "solidity-foundry", + "encrypted-erc" + ] +} + diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx b/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx rename to content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx b/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx rename to content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx b/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx rename to content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx b/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx rename to content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx b/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx rename to content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx diff --git a/content/academy/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx b/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx similarity index 100% rename from content/academy/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx rename to content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx diff --git a/content/academy/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx b/content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx similarity index 100% rename from content/academy/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx rename to content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx diff --git a/content/academy/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx b/content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx similarity index 100% rename from content/academy/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx rename to content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx diff --git a/content/academy/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx b/content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx similarity index 100% rename from content/academy/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx rename to content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx diff --git a/content/academy/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx b/content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx similarity index 100% rename from content/academy/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx rename to content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/01-intro.mdx b/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/01-intro.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/01-intro.mdx rename to content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/01-intro.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx b/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx rename to content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/03-functions.mdx b/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/03-functions.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/03-functions.mdx rename to content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/03-functions.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/04-contracts.mdx b/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/04-contracts.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/04-contracts.mdx rename to content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/04-contracts.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx b/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx rename to content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx diff --git a/content/academy/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx b/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx similarity index 100% rename from content/academy/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx rename to content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/01-intro.mdx b/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/01-intro.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/01-intro.mdx rename to content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/01-intro.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx b/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx rename to content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx b/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx rename to content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx b/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx rename to content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx b/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx rename to content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx diff --git a/content/academy/solidity-foundry/05-hello-world-part-2/06-events.mdx b/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/06-events.mdx similarity index 100% rename from content/academy/solidity-foundry/05-hello-world-part-2/06-events.mdx rename to content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/06-events.mdx diff --git a/content/academy/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx b/content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx similarity index 100% rename from content/academy/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx rename to content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx diff --git a/content/academy/solidity-foundry/06-contract-standarization/02-inheritance.mdx b/content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/02-inheritance.mdx similarity index 100% rename from content/academy/solidity-foundry/06-contract-standarization/02-inheritance.mdx rename to content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/02-inheritance.mdx diff --git a/content/academy/solidity-foundry/06-contract-standarization/03-interfaces.mdx b/content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/03-interfaces.mdx similarity index 100% rename from content/academy/solidity-foundry/06-contract-standarization/03-interfaces.mdx rename to content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/03-interfaces.mdx diff --git a/content/academy/solidity-foundry/06-contract-standarization/04-abstract.mdx b/content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/04-abstract.mdx similarity index 100% rename from content/academy/solidity-foundry/06-contract-standarization/04-abstract.mdx rename to content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/04-abstract.mdx diff --git a/content/academy/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx b/content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx similarity index 100% rename from content/academy/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx rename to content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx diff --git a/content/academy/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx b/content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx similarity index 100% rename from content/academy/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx rename to content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx diff --git a/content/academy/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx b/content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx similarity index 100% rename from content/academy/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx rename to content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx diff --git a/content/academy/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx b/content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx similarity index 100% rename from content/academy/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx rename to content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx diff --git a/content/academy/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx b/content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx similarity index 100% rename from content/academy/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx rename to content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx diff --git a/content/academy/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx b/content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx similarity index 100% rename from content/academy/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx rename to content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx diff --git a/content/academy/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx b/content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx similarity index 100% rename from content/academy/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx rename to content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx diff --git a/content/academy/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx b/content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx similarity index 100% rename from content/academy/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx rename to content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx diff --git a/content/academy/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx b/content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx similarity index 100% rename from content/academy/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx rename to content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx diff --git a/content/academy/solidity-foundry/index.mdx b/content/academy/blockchain-developer/solidity-foundry/index.mdx similarity index 100% rename from content/academy/solidity-foundry/index.mdx rename to content/academy/blockchain-developer/solidity-foundry/index.mdx diff --git a/content/academy/solidity-foundry/meta.json b/content/academy/blockchain-developer/solidity-foundry/meta.json similarity index 100% rename from content/academy/solidity-foundry/meta.json rename to content/academy/blockchain-developer/solidity-foundry/meta.json diff --git a/content/academy/meta.json b/content/academy/meta.json index 91ac594ef96..06855db45d7 100644 --- a/content/academy/meta.json +++ b/content/academy/meta.json @@ -1,16 +1,7 @@ { "pages": [ - "blockchain-fundamentals", - "solidity-foundry", - "avalanche-fundamentals", - "permissioned-l1s", - "l1-native-tokenomics", - "interchain-messaging", - "customizing-evm", - "permissionless-l1s", - "interchain-token-transfer", - "icm-chainlink", - "avacloudapis", - "encrypted-erc" + "avalanche-developer", + "blockchain-developer", + "avalanche-entrepreneur" ] -} \ No newline at end of file +} diff --git a/next.config.mjs b/next.config.mjs index 4dea883d724..ee104d36a04 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -189,7 +189,7 @@ const config = { }, { source: '/tools/l1-launcher', - destination: '/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1', + destination: '/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1', permanent: true, }, { @@ -254,40 +254,40 @@ const config = { }, { source: '/academy/interchain-messaging/10-running-a-relayer/01-running-a-relayer', - destination: '/academy/interchain-messaging/10-running-a-relayer/01-relayer-introduction', + destination: '/academy/avalanche-developer/interchain-messaging/10-running-a-relayer/01-relayer-introduction', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/02-control-the-avalanche-cli-relayer', - destination: '/academy/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche-developer/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/03-install-relayer', - destination: '/academy/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche-developer/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/05-multichain-relayer-config', - destination: '/academy/interchain-messaging/10-running-a-relayer/02-relayer-configuration#multichain-relayer-configuration', + destination: '/academy/avalanche-developer/interchain-messaging/10-running-a-relayer/02-relayer-configuration#multichain-relayer-configuration', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/06-analyze-relayer-logs', - destination: '/academy/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche-developer/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/03-avalanche-starter-kit/03-create-blockchain', - destination: '/academy/interchain-messaging/03-avalanche-starter-kit/04-networks', + destination: '/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/04-networks', permanent: true, }, { source: '/academy/interchain-messaging/03-avalanche-starter-kit/06-pause-and-resume', - destination: '/academy/interchain-messaging/03-avalanche-starter-kit/04-networks', + destination: '/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/04-networks', permanent: true, }, { source: '/docs/subnets/customize-a-subnet', destination: '/docs/avalanche-l1s/upgrade/customize-avalanche-l1', permanent: true, - }, { + }, { source: '/docs/build/tutorials/platform/create-a-local-test-network', - destination: '/academy/avalanche-fundamentals', + destination: '/academy/avalanche-developer/avalanche-fundamentals', permanent: true, }, { source: '/docs/api-reference/standards/guides/issuing-api-calls', @@ -359,22 +359,22 @@ const config = { permanent: true, }, { source: "/academy/l1-validator-management", - destination: "/academy/permissioned-l1s", + destination: "/academy/avalanche-developer/permissioned-l1s", permanent: true, }, { source: "/academy/l1-validator-management/:path*", - destination: "/academy/permissioned-l1s/:path*", + destination: "/academy/avalanche-developer/permissioned-l1s/:path*", permanent: true, }, { source: "/academy/l1-tokenomics", - destination: "/academy/l1-native-tokenomics", + destination: "/academy/avalanche-developer/l1-native-tokenomics", permanent: true, }, { source: "/academy/l1-tokenomics/:path*", - destination: "/academy/l1-native-tokenomics/:path*", + destination: "/academy/avalanche-developer/l1-native-tokenomics/:path*", permanent: true, }, { @@ -407,6 +407,136 @@ const config = { destination: "/docs/nodes/chain-configs/subnet-evm", permanent: true, }, + { + source: "/academy/avalanche-fundamentals", + destination: "/academy/avalanche-developer/avalanche-fundamentals", + permanent: true, + }, + { + source: "/academy/avalanche-fundamentals/:path*", + destination: "/academy/avalanche-developer/avalanche-fundamentals/:path*", + permanent: true, + }, + { + source: "/academy/blockchain-fundamentals", + destination: "/academy/blockchain-developer/blockchain-fundamentals", + permanent: true, + }, + { + source: "/academy/blockchain-fundamentals/:path*", + destination: "/academy/blockchain-developer/blockchain-fundamentals/:path*", + permanent: true, + }, + { + source: "/academy/solidity-foundry", + destination: "/academy/blockchain-developer/solidity-foundry", + permanent: true, + }, + { + source: "/academy/solidity-foundry/:path*", + destination: "/academy/blockchain-developer/solidity-foundry/:path*", + permanent: true, + }, + { + source: "/academy/encrypted-erc", + destination: "/academy/blockchain-developer/encrypted-erc", + permanent: true, + }, + { + source: "/academy/encrypted-erc/:path*", + destination: "/academy/blockchain-developer/encrypted-erc/:path*", + permanent: true, + }, + { + source: "/academy/customizing-evm", + destination: "/academy/avalanche-developer/customizing-evm", + permanent: true, + }, + { + source: "/academy/customizing-evm/:path*", + destination: "/academy/avalanche-developer/customizing-evm/:path*", + permanent: true, + }, + { + source: "/academy/interchain-messaging", + destination: "/academy/avalanche-developer/interchain-messaging", + permanent: true, + }, + { + source: "/academy/interchain-messaging/:path*", + destination: "/academy/avalanche-developer/interchain-messaging/:path*", + permanent: true, + }, + { + source: "/academy/interchain-token-transfer", + destination: "/academy/avalanche-developer/interchain-token-transfer", + permanent: true, + }, + { + source: "/academy/interchain-token-transfer/:path*", + destination: "/academy/avalanche-developer/interchain-token-transfer/:path*", + permanent: true, + }, + { + source: "/academy/icm-chainlink", + destination: "/academy/avalanche-developer/icm-chainlink", + permanent: true, + }, + { + source: "/academy/icm-chainlink/:path*", + destination: "/academy/avalanche-developer/icm-chainlink/:path*", + permanent: true, + }, + { + source: "/academy/permissioned-l1s", + destination: "/academy/avalanche-developer/permissioned-l1s", + permanent: true, + }, + { + source: "/academy/permissioned-l1s/:path*", + destination: "/academy/avalanche-developer/permissioned-l1s/:path*", + permanent: true, + }, + { + source: "/academy/l1-native-tokenomics", + destination: "/academy/avalanche-developer/l1-native-tokenomics", + permanent: true, + }, + { + source: "/academy/l1-native-tokenomics/:path*", + destination: "/academy/avalanche-developer/l1-native-tokenomics/:path*", + permanent: true, + }, + { + source: "/academy/permissionless-l1s", + destination: "/academy/avalanche-developer/permissionless-l1s", + permanent: true, + }, + { + source: "/academy/permissionless-l1s/:path*", + destination: "/academy/avalanche-developer/permissionless-l1s/:path*", + permanent: true, + }, + { + source: "/academy/multi-chain-architecture", + destination: "/academy/avalanche-developer/multi-chain-architecture", + permanent: true, + }, + { + source: "/academy/multi-chain-architecture/:path*", + destination: "/academy/avalanche-developer/multi-chain-architecture/:path*", + permanent: true, + }, + { + source: "/academy/avacloudapis", + destination: "/academy/avalanche-developer/avacloudapis", + permanent: true, + }, + { + source: "/academy/avacloudapis/:path*", + destination: "/academy/avalanche-developer/avacloudapis/:path*", + permanent: true, + }, ]; }, }; diff --git a/scripts/versions.json b/scripts/versions.json index 59a52ad6d9a..b6783e25182 100644 --- a/scripts/versions.json +++ b/scripts/versions.json @@ -5,9 +5,9 @@ "avaplatform/icm-relayer": "v1.7.3" }, "testnet": { - "avaplatform/avalanchego": "v1.14.0", - "avaplatform/subnet-evm_avalanchego": "v0.8.0_v1.14.0", - "avaplatform/icm-relayer": "v1.7.3" + "avaplatform/avalanchego": "v1.14.0-fuji", + "avaplatform/subnet-evm_avalanchego": "v0.8.0-fuji_v1.14.0-fuji", + "avaplatform/icm-relayer": "v1.7.2-fuji" }, "ava-labs/icm-contracts": "4d5ab0b6dbc653770cfe9709878c9406eb28b71c" -} +} \ No newline at end of file diff --git a/source.config.ts b/source.config.ts index fbf4213171b..a8a97c45650 100644 --- a/source.config.ts +++ b/source.config.ts @@ -59,7 +59,7 @@ export const courseMeta = defineCollections({ export const codebaseEntrepreneur = defineCollections({ type: 'doc', - dir: 'content/codebase-entrepreneur', + dir: 'content/academy/avalanche-entrepreneur', schema: frontmatterSchema.extend({ preview: z.string().optional(), index: z.boolean().default(false), @@ -78,7 +78,7 @@ export const codebaseEntrepreneur = defineCollections({ export const codebaseEntrepreneurMeta = defineCollections({ type: 'meta', - dir: 'content/codebase-entrepreneur', + dir: 'content/academy/avalanche-entrepreneur', schema: metaSchema.extend({ description: z.string().optional(), }), From 9907e8d2a41d65deda16c2613775cb2e8d4a675f Mon Sep 17 00:00:00 2001 From: navillanueva Date: Thu, 13 Nov 2025 21:52:59 +0100 Subject: [PATCH 03/20] new layout 3 --- .../config.ts} | 5 +- app/(home)/academy/avalanche/page.tsx | 63 +++++++++++ .../blockchain/config.ts} | 7 +- .../blockchain}/page.tsx | 14 +-- .../entrepreneur/config.ts} | 13 ++- .../entrepreneur}/page.tsx | 28 ++--- app/(home)/academy/page.tsx | 64 +---------- app/(home)/university/page.tsx | 4 +- .../entrepreneur}/[...slug]/page.tsx | 22 ++-- .../entrepreneur}/layout.tsx | 12 +- app/layout.config.tsx | 8 +- ...eveloper.config.ts => avalanche.config.ts} | 30 ++--- ...veloper.config.ts => blockchain.config.ts} | 6 +- ...eneur.config.ts => entrepreneur.config.ts} | 8 +- components/academy/learning-tree.tsx | 18 ++- .../academy/shared/academy-bubble.config.tsx | 18 ++- components/academy/shared/academy-hero.tsx | 103 +++++++++++++++++- components/academy/shared/academy-layout.tsx | 1 + .../academy/shared/academy-learning-path.tsx | 5 +- components/academy/shared/academy-types.tsx | 1 + components/flashcards/flashcardData.json | 2 +- .../navigation/active-nav-highlighter.tsx | 2 - components/navigation/navbar-dropdown.tsx | 4 +- .../01-legal-foundations/10-quiz.mdx | 15 --- .../01b-security-fundamentals/08-quiz.mdx | 19 ---- .../02-business-model-canvas/06-quiz.mdx | 19 ---- .../03-user-personas/08-quiz.mdx | 17 --- .../09-additional-learning.mdx | 13 --- .../09-fundraising/08-quiz.mdx | 15 --- .../fundraising-finance/10-grants/07-quiz.mdx | 19 ---- .../11-pitching/10-quiz.mdx | 15 --- .../04-gtm-strategies/08-quiz.mdx | 19 ---- .../go-to-market/05-sales/11-quiz.mdx | 17 --- .../go-to-market/06-pricing/10-quiz.mdx | 19 ---- .../07-community-building/13-quiz.mdx | 15 --- .../08-mastering-tokenomics/09-quiz.mdx | 15 --- .../avacloudapis/02-overview/01-about.mdx | 0 .../02-overview/02-apis-vs-rpc.mdx | 0 .../02-overview/03-dataapi-endpoints.mdx | 0 .../avacloudapis/02-overview/04-webhooks.mdx | 0 .../01-avacloud-account.mdx | 0 .../02-setup-starter-kit.mdx | 0 .../03-environment-setup/03-what-we-build.mdx | 0 .../01-overview.mdx | 0 .../02-understanding-code.mdx | 0 .../03-modifying-code.mdx | 0 .../04-erc20-token-balance-app/04-final.mdx | 0 .../05-wallet-portfolio-app/01-overview.mdx | 0 .../02-understanding-code.mdx | 0 .../03-modifying-code.mdx | 0 .../06-block-explorer-app/01-overview.mdx | 0 .../02-understanding-code.mdx | 0 .../03-modifying-code.mdx | 0 .../07-using-webhooks/01-overview.mdx | 0 .../avacloudapis/index.mdx | 0 .../avacloudapis/meta.json | 0 .../01-avalanche-consensus-intro.mdx | 0 .../02-consensus-mechanisms.mdx | 0 .../03-snowman-consensus.mdx | 0 .../04-tps-vs-ttf.mdx | 0 .../01-multi-chain-architecture.mdx | 0 .../02-L1.mdx | 0 .../03-benefits.mdx | 0 .../03a-etna-upgrade.mdx | 0 .../04-custom-blockchains-vs-layer-2.mdx | 0 .../05-setup-core.mdx | 0 .../06-use-dexalot.mdx | 0 .../04-creating-an-l1/01-creating-an-l1.mdx | 0 .../01a-create-builder-account.mdx | 0 .../04-creating-an-l1/02-connect-core.mdx | 0 .../02a-claim-testnet-tokens.mdx | 0 .../03-network-architecture.mdx | 0 .../05-create-blockchain.mdx | 0 .../04-creating-an-l1/06-run-a-node.mdx | 0 .../07-convert-subnet-l1.mdx | 0 .../04-creating-an-l1/08-test-l1.mdx | 0 .../04-creating-an-l1/09-remove-node.mdx | 0 .../05-interoperability/01-introduction.mdx | 0 .../02-source-message-destination.mdx | 0 .../03-icm-icmContracts-and-ictt.mdx | 0 .../04-signature-schemes.mdx | 0 .../05-interoperability/05-signature-demo.mdx | 0 .../06-multi-signatures.mdx | 0 .../07-multi-signature-demo.mdx | 0 .../08-signature-aggregation.mdx | 0 .../05-interoperability/09-use-cases.mdx | 0 .../01-independent-tokenomics.mdx | 0 .../11-staking-token.mdx | 0 .../00-vm-customization.mdx | 0 .../07b-vm-customization/01-configuration.mdx | 0 .../07b-vm-customization/02-modification.mdx | 0 .../07b-vm-customization/03-creation.mdx | 0 .../01-permissioning.mdx | 0 .../08-permissioning-users/02-compliance.mdx | 0 .../04-tx-allowlist.mdx | 0 .../05-activate-tx-allowlist.mdx | 0 .../06-contract-deployer-allowlist.mdx | 0 ...7-activate-contract-deployer-allowlist.mdx | 0 .../01-permissioning-validators.mdx | 0 .../02-private-blockchains.mdx | 0 .../03-case-study-intain-markets.mdx | 0 .../get-certificate.mdx | 0 .../avalanche-fundamentals/index.mdx | 0 .../avalanche-fundamentals/meta.json | 0 .../02-intro-to-evm/01-origin-of-evm.mdx | 0 .../02-accounts-keys-address.mdx | 0 .../03-transactons-and-blocks.mdx | 0 .../05-different-evm-versions.mdx | 0 .../03-development-env-setup/00-intro.mdx | 0 .../02-create-codespaces.mdx | 0 .../03-codespace-in-vscode.mdx | 0 .../04-your-evm-blockchain/00-intro.mdx | 0 .../01-avalanche-cli.mdx | 0 .../02-create-your-blockchain.mdx | 0 .../03-sending-tokens.mdx | 0 .../00-vm-configuration.mdx | 0 .../01-genesis-block.mdx | 0 .../02-create-your-genesis.mdx | 0 .../03-setup-chainid.mdx | 0 .../04-gas-fees-and-limit.mdx | 0 .../05-gas-fee-configuration.mdx | 0 .../06-configuring-gas-fees.mdx | 0 .../07-initial-token-allocation.mdx | 0 ...uild-and-run-custom-genesis-blockchain.mdx | 0 .../01-what-are-precompiles.mdx | 0 .../06-precompiles/02-why-precompiles.mdx | 0 .../03-interact-wtih-precompile.mdx | 0 .../07-hash-function-precompile/00-intro.mdx | 0 .../01-create-solidity-interface.mdx | 0 .../02-generate-the-precompile.mdx | 0 .../03-unpack-input-pack-output.mdx | 0 .../04-implementing-precompile.mdx | 0 .../05-configkey-and-contractaddr.mdx | 0 .../06-register-precompile.mdx | 0 .../07-build-and-run.mdx | 0 .../08-interact-with-md5.mdx | 0 .../08-calculator-precompile/00-intro.mdx | 0 .../01-create-solidity-interface.mdx | 0 .../02-generating-precompile.mdx | 0 .../03-unpacking-and-packing.mdx | 0 .../04-implementing-precompile.mdx | 0 .../05-set-configkey-contractaddr.mdx | 0 .../06-create-genesis-block.mdx | 0 .../07-testing-precompile.mdx | 0 .../08-autogenerated-tests.mdx | 0 .../09-unit-tests.mdx | 0 .../10-fuzz-tests.mdx | 0 .../11-test-calculatorplus.mdx | 0 .../09-stateful-precompiles/00-intro.mdx | 0 .../01-interacting-with-precompile.mdx | 0 .../00-intro.mdx | 0 .../01-create-solidity-interface.mdx | 0 .../02-store-data-in-evm.mdx | 0 .../03-implement-set-counter.mdx | 0 .../04-read-date-from-evm.mdx | 0 .../05-implement-getcounter-increment.mdx | 0 .../06-setting-base-gasfees.mdx | 0 .../07-set-configkey-contractaddr.mdx | 0 .../08-initial-state.mdx | 0 .../09-define-default-values-via-go.mdx | 0 .../10-define-default-values-via-genesis.mdx | 0 .../11-testing-precompile-hardhat.mdx | 0 .../12-build-your-precompile.mdx | 0 .../customizing-evm/index.mdx | 0 .../customizing-evm/meta.json | 0 .../01-introduction.mdx | 0 .../02-understanding-the-flow.mdx | 0 .../03-orchestrating-vrf-requests.mdx | 0 .../04-bring-vrf-to-unsupported-l1.mdx | 0 .../05-deploy-vrf-wrapper.mdx | 0 .../06-deploy-vrf-consumer.mdx | 0 .../07-create-vrf-subscription.mdx | 0 .../08-request-random-words.mdx | 0 .../01-introduction.mdx | 0 .../01-introduction.mdx | 0 .../04-ccip-icm/01-introduction.mdx | 0 .../icm-chainlink/certificate.mdx | 0 .../icm-chainlink/index.mdx | 0 .../icm-chainlink/meta.json | 0 .../01-interopability-between-blockchains.mdx | 0 .../02-source-message-destination.mdx | 0 .../03-multi-chain-networks.mdx | 0 ...nteroperability-in-multi-chain-systems.mdx | 0 .../05-finality-and-interoperability.mdx | 0 .../06-trusted-third-parties.mdx | 0 .../01-avalanche-starter-kit.mdx | 0 .../03-avalanche-starter-kit/02-set-up.mdx | 0 .../03-close-and-reopen-codespace.mdx | 0 .../03-avalanche-starter-kit/04-networks.mdx | 0 .../05-foundry-quickstart.mdx | 0 .../04-icm-basics/01-icm-basics.mdx | 0 .../02-recap-bytes-encoding-decoding.mdx | 0 .../04-icm-basics/03-sending-a-message.mdx | 0 .../04-create-sender-contract.mdx | 0 .../04-icm-basics/05-receiving-a-message.mdx | 0 .../06-create-receiver-contract.mdx | 0 .../04-icm-basics/07-send-a-message.mdx | 0 .../08-adapting-the-contract-exercise.mdx | 0 .../01-two-way-communication.mdx | 0 .../02-sender-contract.mdx | 0 .../03-create-sender-contract.mdx | 0 .../04-receiver-contract.mdx | 0 .../05-create-the-receiver-contract.mdx | 0 .../06-send-a-roundtrip-message.mdx | 0 .../07-adapt-the-contracts.mdx | 0 .../01-invoking-functions.mdx | 0 .../02-encoding-multiple-values.mdx | 0 .../03-create-simple-calculator-sender.mdx | 0 .../04-create-simple-calulcator-receiver.mdx | 0 .../05-call-simple-calculator.mdx | 0 .../06-encoding-function-name.mdx | 0 .../07-extend-calculator.mdx | 0 .../07-icm-registry/01-icm-registry.mdx | 0 .../02-how-the-icm-registry-works.mdx | 0 .../03-interact-with-the-registry.mdx | 0 .../04-retrieving-icm-from-registry.mdx | 0 .../05-verify-sender-is-icm.mdx | 0 .../01-avalanche-warp-messaging.mdx | 0 .../02-p-chain.mdx | 0 .../03-warp-message-format.mdx | 0 .../04-awm-relayer.mdx | 0 .../05-dataflow.mdx | 0 .../06-message-pickup.mdx | 0 .../07-message-delivery.mdx | 0 .../08-load-considerations.mdx | 0 .../09-trust-assumption-of-awm.mdx | 0 .../01-relayer-introduction.mdx | 0 .../02-relayer-configuration.mdx | 0 .../03-configure-and-run-relayer.mdx | 0 .../01-restricting-the-relayer.mdx | 0 .../02-allowed-relayers.mdx | 0 .../01-incentivizing-a-relayer.mdx | 0 .../02-fee-data-flow.mdx | 0 .../03-determining-the-fee-amount.mdx | 0 .../04-setting-incentives.mdx | 0 .../05-deploy-fee-token-contract.mdx | 0 .../06-incentivize-an-awm-relayer.mdx | 0 .../07-interaction-flow-with-fees.mdx | 0 .../01-introduction.mdx | 0 .../02-understanding-the-flow.mdx | 0 .../03-orchestrating-vrf-requests.mdx | 0 .../04-bring-vrf-to-unsupported-l1.mdx | 0 .../05-deploy-vrf-wrapper.mdx | 0 .../06-deploy-vrf-consumer.mdx | 0 .../07-create-vrf-subscription.mdx | 0 .../08-request-random-words.mdx | 0 .../interchain-messaging/certificate.mdx | 0 .../interchain-messaging/index.mdx | 0 .../interchain-messaging/meta.json | 0 .../02-getting-started/01-introduction.mdx | 0 .../03-tokens/01-tokens.mdx | 0 .../03-tokens/02-native-tokens.mdx | 0 .../03-tokens/03-transfer-native-tokens.mdx | 0 .../05-transfers-in-smart-contracts.mdx | 0 .../03-tokens/07-erc-20-tokens.mdx | 0 .../03-tokens/08-transfer-an-erc-20-token.mdx | 0 .../03-tokens/09-transfer-erc20-to-sc.mdx | 0 .../03-tokens/10-wrapped-native-tokens.mdx | 0 .../11-create-a-wrapped-native-token.mdx | 0 .../04-token-bridging/01-token-bridging.mdx | 0 .../02-bridge-architecture.mdx | 0 .../03-use-a-demo-bridge.mdx | 0 .../04-token-bridging/04-bridge-hacks.mdx | 0 ...01-avalanche-interchain-token-transfer.mdx | 0 .../02-bridge-design.mdx | 0 .../03-file-structure.mdx | 0 .../04-token-home.mdx | 0 .../05-token-remote.mdx | 0 .../01-erc-20-to-erc-20-bridge.mdx | 0 .../02-deploy-erc-20-token.mdx | 0 .../03-deploy-home.mdx | 0 .../04-deploy-remote.mdx | 0 .../05-register-remote.mdx | 0 .../06-transfer-tokens.mdx | 0 .../07-avacloud-and-core-bridge.mdx | 0 .../08-deploy-your-own-frontend.mdx | 0 .../01-tokens-on-multiple-chain.mdx | 0 .../02-deploy-token-remote.mdx | 0 .../03-register-remote.mdx | 0 .../04-multihop.mdx | 0 .../01-native-to-erc-20-bridge.mdx | 0 .../02-deploy-native-token-home.mdx | 0 .../03-deploy-erc20-token-remote.mdx | 0 .../04-register-remote.mdx | 0 .../05-bridge-tokens.mdx | 0 .../12-send-and-call/01-intro.mdx | 0 .../03-send-and-call-receivers.mdx | 0 .../12-send-and-call/04-mock-receivers.mdx | 0 .../12-send-and-call/05-mock-receiver.mdx | 0 .../07-exchange-contract.mdx | 0 .../08-deploy-wrapped-exchange-contract.mdx | 0 .../14-scaling-decimals/01-math-example.mdx | 0 .../14-scaling-decimals/02-example.mdx | 0 .../interchain-token-transfer/certificate.mdx | 0 .../interchain-token-transfer/index.mdx | 0 .../interchain-token-transfer/meta.json | 0 .../01-introduction.mdx | 0 .../02-token-design.mdx | 0 .../03-native-tokens.mdx | 0 .../04-transfer-native-token.mdx | 0 .../01-tokens-fundamentals/05-erc20.mdx | 0 .../06-deploy-erc20.mdx | 0 .../08-native-and-erc20-tokens.mdx | 0 .../01b-native-vs-erc20/09-wrapped-tokens.mdx | 0 .../10-deploy-wrapped-tokens.mdx | 0 .../02-custom-tokens/01-introduction.mdx | 0 .../02-custom-native-vs-erc20-native.mdx | 0 .../02-custom-tokens/03-native-vs-staking.mdx | 0 .../02-custom-tokens/04-token-symbol.mdx | 0 .../05-create-custom-token.mdx | 0 .../06-native-token-allocation.mdx | 0 .../07-configure-token-allocation.mdx | 0 .../03-precompiles/01-introduction.mdx | 0 .../03-precompiles/02-precompiles.mdx | 0 .../03-precompile-architecture.mdx | 0 .../04-native-minter/01-introduction.mdx | 0 .../02-native-token-minting-rights.mdx | 0 .../03-activate-native-minter.mdx | 0 .../05-fee-config/01-introduction.mdx | 0 .../05-fee-config/02-transaction-fees.mdx | 0 .../05-fee-config/03-activate-fee-config.mdx | 0 .../01-initial-allocation.mdx | 0 .../02-vesting-schedules.mdx | 0 .../03-bonding-curves.mdx | 0 .../07-token-distribution/04-airdrop.mdx | 0 .../08-governance/01-introduction.mdx | 0 .../08-governance/02-governance-models.mdx | 0 .../08-governance/03-daos.mdx | 0 .../08-governance/04-quadratic-voting.mdx | 0 .../08-governance/05-governance-20.mdx | 0 .../l1-native-tokenomics/dappVsL1.mdx | 0 .../l1-native-tokenomics/index.mdx | 0 .../l1-native-tokenomics/meta.json | 0 .../l1-native-tokenomics/token-ownership.mdx | 0 .../meta.json | 0 .../01-avalanche-starter-kit.mdx | 0 .../03-avalanche-starter-kit/02-set-up.mdx | 0 .../03-create-blockchain.mdx | 0 .../04-add-blockchain-to-wallet.mdx | 0 .../05-add-ewoq-account.mdx | 0 .../03-avalanche-starter-kit/06-networks.mdx | 0 .../07-pause-and-resume.mdx | 0 .../multi-chain-architecture/certificate.mdx | 0 .../multi-chain-architecture/index.mdx | 0 .../multi-chain-architecture/meta.json | 0 .../01-introduction/01-pchain-review.mdx | 0 .../01-introduction/02-multi-chain-review.mdx | 0 .../01-introduction/03-interop.mdx | 0 .../01-introduction/04-proxy-pattern.mdx | 0 .../01-blockchain-permissioning.mdx | 0 .../02-proof-of-authority.mdx | 0 .../03-validator-manager-contract.mdx | 0 .../02-proof-of-authority/04-etna-upgrade.mdx | 0 .../03-create-an-L1/01-create-subnet.mdx | 0 .../03-create-an-L1/02-transparent-proxy.mdx | 0 .../03-create-an-L1/03-genesis-breakdown.mdx | 0 .../04-convert-subnet-to-l1.mdx | 0 .../03-create-an-L1/05-query-l1-details.mdx | 0 .../01-vmc-deployment-intro.mdx | 0 .../02-deploy-validator-manager.mdx | 0 .../03-upgrade-proxy.mdx | 0 .../04-set-initial-configuration.mdx | 0 .../05-initialize-validator-set.mdx | 0 .../06-check-contract.mdx | 0 .../01-introduction.mdx | 0 .../02-query-validator-set.mdx | 0 .../03-add-validator.mdx | 0 .../04-add-validator-demo.mdx | 0 .../05-change-weight.mdx | 0 .../06-change-weight-demo.mdx | 0 .../07-remove-validator.mdx | 0 .../08-remove-validator-demo.mdx | 0 .../09-expired-validator-registration.mdx | 0 .../10-pchain-disable-validator.mdx | 0 .../01-read-validator-manager.mdx | 0 .../02-query-validator-set.mdx | 0 .../03-deploy-poa-manager.mdx | 0 .../04-vmc-deployed-structure.mdx | 0 .../registering-validator.mdx | 0 .../03-deployment-options.mdx | 0 .../permissioned-l1s/certificate.mdx | 0 .../permissioned-l1s/index.mdx | 0 .../permissioned-l1s/meta.json | 0 .../01-review/01-pchain-review.mdx | 2 +- .../01-review/02-multi-chain-review.mdx | 2 +- .../01-review/03-permissioned-l1s-review.mdx | 0 .../01-review/04-native-tokenomics-review.mdx | 0 .../02-proof-of-stake/01-introduction.mdx | 0 .../02-proof-of-stake/02-staking-token.mdx | 0 .../02-proof-of-stake/03-liquid-staking.mdx | 0 .../03-staking-contract-post-etna.mdx | 0 .../04-register-validators.mdx | 0 .../permissionless-l1s/certificate.mdx | 0 .../permissionless-l1s/index.mdx | 0 .../permissionless-l1s/meta.json | 0 .../01-what-is-a-blockchain.mdx | 0 .../02-decentralized-computer.mdx | 0 .../03-decentralized-applications.mdx | 0 .../02-what-is-a-blockchain/04-use-cases.mdx | 0 .../01-payments-use-case.mdx | 0 .../02-account-balances-transfers.mdx | 0 .../03-payments-use-case/03-ledger.mdx | 0 .../04-signatures/01-signatures.mdx | 0 .../01-tx-ordering-through-consensus.mdx | 0 .../02-longest-chain-consensus.mdx | 0 .../xx-tx-lifecycle.mdx | 0 .../01-sybil-protection.mdx | 0 .../06-smart-contracts/01-smart-contracts.mdx | 0 .../01-native-tokens.mdx | 0 .../02-erc-20-tokens.mdx | 0 .../03-deploy-and-transfer-erc-20-tokens.mdx | 0 .../04-wrapped-tokens.mdx | 0 .../05-deploy-and-interact-wrapped-tokens.mdx | 0 .../06-token-decimals.mdx | 0 .../01-vms-and-blockchains.mdx | 0 .../02-state-machine.mdx | 0 .../08-vms-and-blockchains/03-blockchains.mdx | 0 .../04-variety-of-vm.mdx | 0 .../get-certificate.mdx | 0 .../blockchain-fundamentals/index.mdx | 0 .../blockchain-fundamentals/meta.json | 0 .../xx-decentralization.mdx | 0 .../xx-regulation/01-regulation.mdx | 0 .../xx-tbd-sections/02-proof-of-work.mdx | 0 .../xx-tbd-sections/03-proof-of-stake.mdx | 0 .../xx-tbd-sections/xx-signature-schemes.mdx | 0 .../blockchain-fundamentals/xx-tokens.mdx | 0 .../01-digital-assets-overview.mdx | 0 .../02-current-uses.mdx | 0 .../03-limitations.mdx | 0 .../01-how-private-is-the-blockchain.mdx | 0 .../02-real-privacy/02-compliance.mdx | 0 .../03-necessities-solved-with-privacy.mdx | 0 .../03-encrypted-tokens/01-privacity-eerc.mdx | 0 .../03-encrypted-tokens/02-comparison.mdx | 0 .../03-technology-behind.mdx | 0 .../04-usability-eerc/01-deployments-mode.mdx | 0 .../04-usability-eerc/02-use-cases.mdx | 0 .../01-step-by-step.mdx | 0 .../encrypted-erc/index.mdx | 0 .../encrypted-erc/meta.json | 0 .../meta.json | 0 .../01-avalanche-starter-kit.mdx | 0 .../02-avalanche-starter-kit/02-set-up.mdx | 0 .../03-close-and-reopen-codespace.mdx | 0 .../03-create-blockchain.mdx | 0 .../02-avalanche-starter-kit/04-networks.mdx | 0 .../05-pause-and-resume.mdx | 0 .../01-building-programs-on-blockchain.mdx | 0 .../02-what-is-solidity.mdx | 0 .../03-foundry-quickstart.mdx | 0 .../04-create-new-smart-contract.mdx | 0 .../04-hello-world-part-1/01-intro.mdx | 0 .../02-primitive-value-and-types.mdx | 0 .../04-hello-world-part-1/03-functions.mdx | 0 .../04-hello-world-part-1/04-contracts.mdx | 0 .../05-solidity-file-structure.mdx | 0 .../06-build-basic-smart-contract.mdx | 0 .../05-hello-world-part-2/01-intro.mdx | 0 .../05-hello-world-part-2/02-control-flow.mdx | 0 .../03-data-structures.mdx | 0 .../04-contract-constructor.mdx | 0 .../05-hello-world-part-2/05-modifiers.mdx | 0 .../05-hello-world-part-2/06-events.mdx | 0 .../01-contract-standarization.mdx | 0 .../02-inheritance.mdx | 0 .../03-interfaces.mdx | 0 .../04-abstract.mdx | 0 .../01-erc20-intro.mdx | 0 .../02-technical-walkthrough.mdx | 0 .../03-interacting-with-erc20-tokens.mdx | 0 .../04-deploying-your-erc20-token.mdx | 0 .../01-erc721-intro.mdx | 0 .../02-technical-walkthrough.mdx | 0 .../03-interacting-with-erc721-tokens.mdx | 0 .../04-deploying-your-erc721-token.mdx | 0 .../08-erc721-smart-contracts/05-uris.mdx | 0 .../solidity-foundry/index.mdx | 0 .../solidity-foundry/meta.json | 0 .../01-legal-foundations/01-introduction.mdx | 0 .../02-legal-jurisdiction.mdx | 0 .../03-token-classification.mdx | 0 .../04-legal-documentation.mdx | 0 .../05-intellectual-property.mdx | 0 .../06-ongoing-compliance.mdx | 0 .../07-applying-frameworks.mdx | 0 .../01-legal-foundations/08-key-takeaways.mdx | 0 .../01-legal-foundations/09-flashcards.mdx | 2 +- .../01-legal-foundations/10-quiz.mdx | 15 +++ .../01-introduction.mdx | 0 .../02-assessing-security.mdx | 0 .../03-it-governance.mdx | 0 .../04-cryptographic-assets.mdx | 0 .../05-data-strategy.mdx | 0 .../06-key-takeaways.mdx | 0 .../07-flashcards.mdx | 2 +- .../01b-security-fundamentals/08-quiz.mdx | 19 ++++ .../01-introduction.mdx | 0 .../02-understanding-canvas.mdx | 0 .../03-applying-canvas.mdx | 0 .../04-key-takeaways.mdx | 0 .../05-flashcards.mdx | 2 +- .../02-business-model-canvas/06-quiz.mdx | 19 ++++ .../07-additional-learning.mdx | 0 .../03-user-personas/01-introduction.mdx | 0 .../02-finding-first-users.mdx | 0 .../03-asking-right-questions.mdx | 0 .../04-why-engagement-matters.mdx | 0 .../05-engagement-strategy.mdx | 0 .../03-user-personas/06-key-takeaways.mdx | 0 .../03-user-personas/07-flashcards.mdx | 2 +- .../03-user-personas/08-quiz.mdx | 17 +++ .../09-additional-learning.mdx | 13 +++ .../foundations-web3-venture/certificate.mdx | 0 .../foundations-web3-venture/index.mdx | 4 +- .../foundations-web3-venture/meta.json | 0 .../09-fundraising/01-introduction.mdx | 0 .../09-fundraising/02-fundraising-process.mdx | 0 .../03-why-fundraising-matters.mdx | 0 .../04-implementing-strategy.mdx | 0 .../09-fundraising/05-key-takeaways.mdx | 0 .../09-fundraising/06-additional-learning.mdx | 2 +- .../09-fundraising/07-flashcards.mdx | 2 +- .../09-fundraising/08-quiz.mdx | 15 +++ .../09-fundraising/09-prepare-mock-pitch.mdx | 0 .../10-grants/01-introduction.mdx | 0 .../10-grants/02-success-criteria.mdx | 0 .../10-grants/03-common-mistakes.mdx | 0 .../10-grants/04-beyond-funding.mdx | 0 .../10-grants/05-key-takeaways.mdx | 0 .../10-grants/06-flashcards.mdx | 2 +- .../fundraising-finance/10-grants/07-quiz.mdx | 19 ++++ .../11-pitching/01-introduction.mdx | 0 .../02-effective-pitch-storytelling.mdx | 0 .../11-pitching/03-building-credibility.mdx | 0 .../11-pitching/04-advanced-techniques.mdx | 0 .../11-pitching/05-pitch-success.mdx | 0 .../11-pitching/06-why-it-matters.mdx | 0 .../11-pitching/07-applying.mdx | 0 .../11-pitching/08-key-takeways.mdx | 0 .../11-pitching/09-flashcards.mdx | 2 +- .../11-pitching/10-quiz.mdx | 15 +++ .../fundraising-finance/certificate.mdx | 0 .../fundraising-finance/index.mdx | 2 +- .../fundraising-finance/meta.json | 0 .../04-gtm-strategies/01-introduction.mdx | 0 .../02-structured-framework.mdx | 0 .../03-web3-market-considerations.mdx | 0 .../04-optimizing-execution.mdx | 0 .../05-applying-principles.mdx | 0 .../04-gtm-strategies/06-key-takeaways.mdx | 0 .../04-gtm-strategies/07-flashcards.mdx | 2 +- .../04-gtm-strategies/08-quiz.mdx | 19 ++++ .../go-to-market/05-sales/01-introduction.mdx | 0 .../02-defining-value-proposition.mdx | 0 .../05-sales/03-understanding-your-buyer.mdx | 0 .../05-sales/04-selling-during-mvp.mdx | 0 .../05-sales/05-managing-first-customers.mdx | 0 .../05-sales/06-outreach-and-sales-calls.mdx | 0 .../05-sales/07-managing-leads.mdx | 0 .../05-sales/08-expanding-sales-team.mdx | 0 .../05-sales/09-key-takeaways.mdx | 0 .../go-to-market/05-sales/10-flashcards.mdx | 2 +- .../go-to-market/05-sales/11-quiz.mdx | 17 +++ .../05-sales/12-additional-learning.mdx | 0 .../06-pricing/01-introduction.mdx | 0 ...nderstanding-web3-pricing-fundamentals.mdx | 0 .../03-building-your-pricing-framework.mdx | 0 .../04-selecting-the-right-pricing-model.mdx | 0 ...st-estimation-in-decentralized-systems.mdx | 0 .../06-regional-adaptation-strategies.mdx | 0 .../07-enterprise-client-approach.mdx | 0 .../06-pricing/08-key-takeaways.mdx | 0 .../go-to-market/06-pricing/09-flashcards.mdx | 2 +- .../go-to-market/06-pricing/10-quiz.mdx | 19 ++++ .../go-to-market/certificate.mdx | 0 .../go-to-market/index.mdx | 2 +- .../go-to-market/meta.json | 0 .../meta.json | 0 .../07-community-building/01-introduction.mdx | 0 .../02-understanding-your-foundation.mdx | 0 .../03-social-media-strategy-blueprint.mdx | 0 .../04-content-creation-without-full-team.mdx | 0 .../05-scalable-content-strategies.mdx | 0 .../06-content-iteration-and-observation.mdx | 0 .../07-building-authentic-engagement.mdx | 0 .../08-common-community-mistakes.mdx | 0 .../09-event-planning-for-community.mdx | 0 .../10-key-takeaways.mdx | 0 .../11-additional-learning.mdx | 0 .../07-community-building/12-flashcards.mdx | 2 +- .../07-community-building/13-quiz.mdx | 15 +++ .../01-introduction.mdx | 0 .../08-mastering-tokenomics/02-tokenomics.mdx | 0 .../03-token-mechanics.mdx | 0 .../08-mastering-tokenomics/04-pitfalls.mdx | 0 .../05-why-they-matter.mdx | 0 .../06-applying-startup.mdx | 0 .../07-key-takeaway.mdx | 0 .../08-mastering-tokenomics/08-flashcard.mdx | 2 +- .../08-mastering-tokenomics/09-quiz.mdx | 15 +++ .../10-additional-learning.mdx | 0 .../web3-community-architect/certificate.mdx | 0 .../web3-community-architect/index.mdx | 2 +- .../web3-community-architect/meta.json | 0 content/academy/meta.json | 6 +- content/courses.tsx | 6 +- hooks/useCertificates.ts | 8 +- lib/source.ts | 4 +- next.config.mjs | 102 ++++++++++------- .../entrepreneur}/entrepreneur-acadamy.mp4 | Bin source.config.ts | 4 +- 612 files changed, 589 insertions(+), 453 deletions(-) rename app/(home)/academy/{avalanche-developer.config.ts => avalanche/config.ts} (80%) create mode 100644 app/(home)/academy/avalanche/page.tsx rename app/(home)/{blockchain-developer-academy/blockchain-developer.config.ts => academy/blockchain/config.ts} (69%) rename app/(home)/{blockchain-developer-academy => academy/blockchain}/page.tsx (77%) rename app/(home)/{codebase-entrepreneur-academy/codebase-entrepreneur.config.ts => academy/entrepreneur/config.ts} (93%) rename app/(home)/{codebase-entrepreneur-academy => academy/entrepreneur}/page.tsx (80%) rename app/{codebase-entrepreneur-academy => academy/entrepreneur}/[...slug]/page.tsx (87%) rename app/{codebase-entrepreneur-academy => academy/entrepreneur}/layout.tsx (97%) rename components/academy/learning-path-configs/{avalanche-developer.config.ts => avalanche.config.ts} (83%) rename components/academy/learning-path-configs/{blockchain-developer.config.ts => blockchain.config.ts} (90%) rename components/academy/learning-path-configs/{codebase-entrepreneur.config.ts => entrepreneur.config.ts} (90%) delete mode 100644 content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx delete mode 100644 content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx delete mode 100644 content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx delete mode 100644 content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx delete mode 100644 content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx delete mode 100644 content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx delete mode 100644 content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/07-quiz.mdx delete mode 100644 content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx delete mode 100644 content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx delete mode 100644 content/academy/avalanche-entrepreneur/go-to-market/05-sales/11-quiz.mdx delete mode 100644 content/academy/avalanche-entrepreneur/go-to-market/06-pricing/10-quiz.mdx delete mode 100644 content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx delete mode 100644 content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx rename content/academy/{avalanche-developer => avalanche}/avacloudapis/02-overview/01-about.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/02-overview/02-apis-vs-rpc.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/02-overview/03-dataapi-endpoints.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/02-overview/04-webhooks.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/03-environment-setup/01-avacloud-account.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/03-environment-setup/03-what-we-build.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/04-erc20-token-balance-app/01-overview.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/04-erc20-token-balance-app/04-final.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/05-wallet-portfolio-app/01-overview.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/06-block-explorer-app/01-overview.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/06-block-explorer-app/02-understanding-code.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/06-block-explorer-app/03-modifying-code.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/07-using-webhooks/01-overview.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/index.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avacloudapis/meta.json (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/05-interoperability/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/05-interoperability/09-use-cases.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/07b-vm-customization/02-modification.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/07b-vm-customization/03-creation.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/get-certificate.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/index.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/avalanche-fundamentals/meta.json (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/03-development-env-setup/00-intro.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/03-development-env-setup/02-create-codespaces.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/04-your-evm-blockchain/00-intro.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/05-genesis-configuration/01-genesis-block.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/06-precompiles/01-what-are-precompiles.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/06-precompiles/02-why-precompiles.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/07-hash-function-precompile/00-intro.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/00-intro.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/09-unit-tests.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/09-stateful-precompiles/00-intro.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/00-intro.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/index.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/customizing-evm/meta.json (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/04-ccip-icm/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/certificate.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/index.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/icm-chainlink/meta.json (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/02-interoperability/02-source-message-destination.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/04-icm-basics/01-icm-basics.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/04-icm-basics/03-sending-a-message.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/04-icm-basics/07-send-a-message.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/05-two-way-communication/02-sender-contract.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/07-icm-registry/01-icm-registry.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/certificate.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/index.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-messaging/meta.json (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/02-getting-started/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/03-tokens/01-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/03-tokens/02-native-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/12-send-and-call/01-intro.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/14-scaling-decimals/02-example.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/certificate.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/index.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/interchain-token-transfer/meta.json (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/03-precompiles/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/03-precompiles/02-precompiles.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/04-native-minter/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/05-fee-config/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/08-governance/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/08-governance/02-governance-models.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/08-governance/03-daos.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/08-governance/05-governance-20.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/dappVsL1.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/index.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/meta.json (100%) rename content/academy/{avalanche-developer => avalanche}/l1-native-tokenomics/token-ownership.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/meta.json (100%) rename content/academy/{avalanche-developer => avalanche}/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/multi-chain-architecture/certificate.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/multi-chain-architecture/index.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/multi-chain-architecture/meta.json (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/01-introduction/01-pchain-review.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/01-introduction/02-multi-chain-review.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/01-introduction/03-interop.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/01-introduction/04-proxy-pattern.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/XX-registering-validator/registering-validator.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/certificate.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/index.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissioned-l1s/meta.json (100%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/01-review/01-pchain-review.mdx (54%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/01-review/02-multi-chain-review.mdx (58%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/01-review/04-native-tokenomics-review.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/02-proof-of-stake/01-introduction.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/certificate.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/index.mdx (100%) rename content/academy/{avalanche-developer => avalanche}/permissionless-l1s/meta.json (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/04-signatures/01-signatures.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/get-certificate.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/index.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/meta.json (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/xx-decentralization.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/xx-regulation/01-regulation.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/blockchain-fundamentals/xx-tokens.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/02-real-privacy/02-compliance.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/03-encrypted-tokens/02-comparison.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/04-usability-eerc/02-use-cases.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/index.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/encrypted-erc/meta.json (100%) rename content/academy/{blockchain-developer => blockchain}/meta.json (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/04-hello-world-part-1/01-intro.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/04-hello-world-part-1/03-functions.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/04-hello-world-part-1/04-contracts.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/05-hello-world-part-2/01-intro.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/05-hello-world-part-2/06-events.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/06-contract-standarization/02-inheritance.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/06-contract-standarization/03-interfaces.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/06-contract-standarization/04-abstract.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/index.mdx (100%) rename content/academy/{blockchain-developer => blockchain}/solidity-foundry/meta.json (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01-legal-foundations/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx (84%) create mode 100644 content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx (84%) create mode 100644 content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx (85%) create mode 100644 content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/03-user-personas/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/03-user-personas/07-flashcards.mdx (85%) create mode 100644 content/academy/entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx create mode 100644 content/academy/entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/certificate.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/index.mdx (88%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/foundations-web3-venture/meta.json (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/09-fundraising/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/09-fundraising/02-fundraising-process.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/09-fundraising/04-implementing-strategy.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/09-fundraising/05-key-takeaways.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/09-fundraising/06-additional-learning.mdx (84%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/09-fundraising/07-flashcards.mdx (85%) create mode 100644 content/academy/entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/10-grants/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/10-grants/02-success-criteria.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/10-grants/03-common-mistakes.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/10-grants/04-beyond-funding.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/10-grants/05-key-takeaways.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/10-grants/06-flashcards.mdx (86%) create mode 100644 content/academy/entrepreneur/fundraising-finance/10-grants/07-quiz.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/11-pitching/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/11-pitching/03-building-credibility.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/11-pitching/04-advanced-techniques.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/11-pitching/05-pitch-success.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/11-pitching/06-why-it-matters.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/11-pitching/07-applying.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/11-pitching/08-key-takeways.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/11-pitching/09-flashcards.mdx (85%) create mode 100644 content/academy/entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/certificate.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/index.mdx (91%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/fundraising-finance/meta.json (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/04-gtm-strategies/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/04-gtm-strategies/02-structured-framework.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/04-gtm-strategies/05-applying-principles.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/04-gtm-strategies/06-key-takeaways.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/04-gtm-strategies/07-flashcards.mdx (86%) create mode 100644 content/academy/entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/05-sales/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/05-sales/02-defining-value-proposition.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/05-sales/03-understanding-your-buyer.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/05-sales/04-selling-during-mvp.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/05-sales/05-managing-first-customers.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/05-sales/06-outreach-and-sales-calls.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/05-sales/07-managing-leads.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/05-sales/08-expanding-sales-team.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/05-sales/09-key-takeaways.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/05-sales/10-flashcards.mdx (87%) create mode 100644 content/academy/entrepreneur/go-to-market/05-sales/11-quiz.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/05-sales/12-additional-learning.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/06-pricing/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/06-pricing/03-building-your-pricing-framework.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/06-pricing/07-enterprise-client-approach.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/06-pricing/08-key-takeaways.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/06-pricing/09-flashcards.mdx (86%) create mode 100644 content/academy/entrepreneur/go-to-market/06-pricing/10-quiz.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/certificate.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/index.mdx (91%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/go-to-market/meta.json (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/meta.json (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/08-common-community-mistakes.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/09-event-planning-for-community.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/10-key-takeaways.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/11-additional-learning.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/07-community-building/12-flashcards.mdx (85%) create mode 100644 content/academy/entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx (84%) create mode 100644 content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/certificate.mdx (100%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/index.mdx (91%) rename content/academy/{avalanche-entrepreneur => entrepreneur}/web3-community-architect/meta.json (100%) rename public/common-images/{codebase-entrepreneur-academy => academy/entrepreneur}/entrepreneur-acadamy.mp4 (100%) diff --git a/app/(home)/academy/avalanche-developer.config.ts b/app/(home)/academy/avalanche/config.ts similarity index 80% rename from app/(home)/academy/avalanche-developer.config.ts rename to app/(home)/academy/avalanche/config.ts index 695ae579171..6cb31cecee6 100644 --- a/app/(home)/academy/avalanche-developer.config.ts +++ b/app/(home)/academy/avalanche/config.ts @@ -1,10 +1,11 @@ import type { AcademyLandingPageConfig } from '@/components/academy/shared/academy-types'; export const avalancheDeveloperAcademyLandingPageConfig: AcademyLandingPageConfig = { - id: 'avalanche-developer-academy', - name: 'Avalanche Developer Academy', + id: 'academy-avalanche', + name: 'Avalanche Academy', heroTitle: 'Avalanche', heroAccent: 'Developer', + heroAccentWords: ['Developer', 'Blockchain', 'Entrepreneur'], heroDescription: 'Master blockchain development with hands-on courses designed specifically for the Avalanche ecosystem. From fundamentals to advanced L1 development, gain the skills to build the next generation of blockchain applications.', pathType: 'avalanche', showBlogs: true, diff --git a/app/(home)/academy/avalanche/page.tsx b/app/(home)/academy/avalanche/page.tsx new file mode 100644 index 00000000000..aa29b990ec3 --- /dev/null +++ b/app/(home)/academy/avalanche/page.tsx @@ -0,0 +1,63 @@ +import type { Metadata } from "next"; +import { createMetadata } from "@/utils/metadata"; +import { blog } from "@/lib/source"; +import { AcademyLayout } from "@/components/academy/shared/academy-layout"; +import { avalancheDeveloperAcademyLandingPageConfig } from "./config"; + +export const metadata: Metadata = createMetadata({ + title: "Avalanche Academy", + description: + "Learn blockchain development with courses designed for the Avalanche ecosystem", + openGraph: { + url: "/academy", + images: { + url: "/api/og/academy", + width: 1200, + height: 630, + alt: "Avalanche Academy", + }, + }, + twitter: { + images: { + url: "/api/og/academy", + width: 1200, + height: 630, + alt: "Avalanche Academy", + }, + }, +}); + +export default function AvalancheAcademyPage(): React.ReactElement { + // Get all guides server-side + const blogPages = [...blog.getPages()] + .sort( + (a, b) => + new Date((b.data.date as string) ?? b.url).getTime() - + new Date((a.data.date as string) ?? a.url).getTime() + ) + .slice(0, 9); // Limit to 9 guides + + // Serialize blog data to pass to client component + const blogs = blogPages.map((page) => ({ + url: page.url, + data: { + title: page.data.title || "Untitled", + description: page.data.description || "", + topics: (page.data.topics as string[]) || [], + date: + page.data.date instanceof Date + ? page.data.date.toISOString() + : (page.data.date as string) || "", + }, + file: { + name: page.url, // Use URL instead of file.name in v16 + }, + })); + + return ( + + ); +} diff --git a/app/(home)/blockchain-developer-academy/blockchain-developer.config.ts b/app/(home)/academy/blockchain/config.ts similarity index 69% rename from app/(home)/blockchain-developer-academy/blockchain-developer.config.ts rename to app/(home)/academy/blockchain/config.ts index 18096e86306..964ffdf4343 100644 --- a/app/(home)/blockchain-developer-academy/blockchain-developer.config.ts +++ b/app/(home)/academy/blockchain/config.ts @@ -1,10 +1,11 @@ import type { AcademyLandingPageConfig } from '@/components/academy/shared/academy-types'; -export const blockchainDeveloperAcademyLandingPageConfig: AcademyLandingPageConfig = { - id: 'blockchain-developer-academy', - name: 'Blockchain Developer Academy', +export const blockchainAcademyLandingPageConfig: AcademyLandingPageConfig = { + id: 'academy-blockchain', + name: 'Blockchain Academy', heroTitle: 'Blockchain', heroAccent: 'Developer', + heroAccentWords: ['Developer', 'Smart Contracts', 'Privacy'], heroDescription: 'Start your blockchain development journey from the ground up. Master the fundamentals of blockchain technology, learn Solidity programming, and explore privacy-enhancing technologies to build secure and innovative decentralized applications.', pathType: 'blockchain', showBlogs: true, diff --git a/app/(home)/blockchain-developer-academy/page.tsx b/app/(home)/academy/blockchain/page.tsx similarity index 77% rename from app/(home)/blockchain-developer-academy/page.tsx rename to app/(home)/academy/blockchain/page.tsx index 249ff36a2c5..a6f0d666213 100644 --- a/app/(home)/blockchain-developer-academy/page.tsx +++ b/app/(home)/academy/blockchain/page.tsx @@ -2,19 +2,19 @@ import type { Metadata } from "next"; import { createMetadata } from "@/utils/metadata"; import { blog } from "@/lib/source"; import { AcademyLayout } from "@/components/academy/shared/academy-layout"; -import { blockchainDeveloperAcademyLandingPageConfig } from "./blockchain-developer.config"; +import { blockchainAcademyLandingPageConfig } from "./config"; export const metadata: Metadata = createMetadata({ - title: "Blockchain Developer Academy", + title: "Blockchain Academy", description: "Master blockchain fundamentals and smart contract development from the ground up", openGraph: { - url: "/blockchain-developer-academy", + url: "/academy/blockchain", images: { url: "/api/og/academy", width: 1200, height: 630, - alt: "Blockchain Developer Academy", + alt: "Blockchain Academy", }, }, twitter: { @@ -22,12 +22,12 @@ export const metadata: Metadata = createMetadata({ url: "/api/og/academy", width: 1200, height: 630, - alt: "Blockchain Developer Academy", + alt: "Blockchain Academy", }, }, }); -export default function BlockchainDeveloperAcademyPage(): React.ReactElement { +export default function BlockchainAcademyPage(): React.ReactElement { // Get all guides server-side const blogPages = [...blog.getPages()] .sort( @@ -56,7 +56,7 @@ export default function BlockchainDeveloperAcademyPage(): React.ReactElement { return ( ); diff --git a/app/(home)/codebase-entrepreneur-academy/codebase-entrepreneur.config.ts b/app/(home)/academy/entrepreneur/config.ts similarity index 93% rename from app/(home)/codebase-entrepreneur-academy/codebase-entrepreneur.config.ts rename to app/(home)/academy/entrepreneur/config.ts index 82027318e72..3ab22230ee7 100644 --- a/app/(home)/codebase-entrepreneur-academy/codebase-entrepreneur.config.ts +++ b/app/(home)/academy/entrepreneur/config.ts @@ -1,16 +1,17 @@ import type { AcademyLandingPageConfig } from '@/components/academy/shared/academy-types'; -export const codebaseEntrepreneurLandingPageConfig: AcademyLandingPageConfig = { - id: 'codebase-entrepreneur', - name: 'Codebase Entrepreneur Academy', - heroTitle: 'Codebase', +export const entrepreneurAcademyLandingPageConfig: AcademyLandingPageConfig = { + id: 'academy-entrepreneur', + name: 'Entrepreneur Academy', + heroTitle: 'Avalanche', heroAccent: 'Entrepreneur', + heroAccentWords: ['Entrepreneur', 'Founder', 'Builder'], heroDescription: 'Join the next generation of Web3 entrepreneurs. Learn how to build, launch, and scale your blockchain startup with guidance from industry experts and successful founders.', pathType: 'entrepreneur', showBlogs: false, features: { - codebaseBlogs: { - title: 'Codebase Blogs', + highlights: { + title: 'Entrepreneur Highlights', blogs: [ { id: 'suzaku-raises-1-5m', diff --git a/app/(home)/codebase-entrepreneur-academy/page.tsx b/app/(home)/academy/entrepreneur/page.tsx similarity index 80% rename from app/(home)/codebase-entrepreneur-academy/page.tsx rename to app/(home)/academy/entrepreneur/page.tsx index 7a86faba023..3f97cf3b248 100644 --- a/app/(home)/codebase-entrepreneur-academy/page.tsx +++ b/app/(home)/academy/entrepreneur/page.tsx @@ -1,52 +1,52 @@ import type { Metadata } from 'next'; import { createMetadata } from '@/utils/metadata'; import { AcademyLayout } from '@/components/academy/shared/academy-layout'; -import { codebaseEntrepreneurLandingPageConfig } from './codebase-entrepreneur.config'; +import { entrepreneurAcademyLandingPageConfig } from './config'; import { ArrowRight, BookOpen, ExternalLink } from 'lucide-react'; import Link from 'next/link'; export const metadata: Metadata = createMetadata({ - title: 'Codebase Entrepreneur Academy', + title: 'Entrepreneur Academy', description: 'Join the next generation of Web3 entrepreneurs. Learn how to build, launch, and scale your blockchain startup.', openGraph: { - url: '/codebase-entrepreneur-academy', + url: '/academy/entrepreneur', images: { - url: '/api/og/codebase-entrepreneur-academy', + url: '/api/og/academy', width: 1200, height: 630, - alt: 'Codebase Entrepreneur Academy', + alt: 'Entrepreneur Academy', }, }, twitter: { images: { - url: '/api/og/codebase-entrepreneur-academy', + url: '/api/og/academy', width: 1200, height: 630, - alt: 'Codebase Entrepreneur Academy', + alt: 'Entrepreneur Academy', }, }, }); -export default function CodebaseEntrepreneurPage(): React.ReactElement { - const { features } = codebaseEntrepreneurLandingPageConfig; +export default function EntrepreneurAcademyPage(): React.ReactElement { + const { features } = entrepreneurAcademyLandingPageConfig; return ( - {/* Codebase Blogs - inline rendering */} - {features?.codebaseBlogs && ( + {/* Spotlight stories */} + {features?.highlights && (

- {features.codebaseBlogs.title} + {features.highlights.title}

- {features.codebaseBlogs.blogs.map((blog) => ( + {features.highlights.blogs.map((blog) => ( - new Date((b.data.date as string) ?? b.url).getTime() - - new Date((a.data.date as string) ?? a.url).getTime() - ) - .slice(0, 9); // Limit to 9 guides - - // Serialize blog data to pass to client component - const blogs = blogPages.map((page) => ({ - url: page.url, - data: { - title: page.data.title || "Untitled", - description: page.data.description || "", - topics: (page.data.topics as string[]) || [], - date: - page.data.date instanceof Date - ? page.data.date.toISOString() - : (page.data.date as string) || "", - }, - file: { - name: page.url, // Use URL instead of file.name in v16 - }, - })); - - return ( - - ); -} +export { default, metadata } from './avalanche/page'; diff --git a/app/(home)/university/page.tsx b/app/(home)/university/page.tsx index 24b999aa32a..ab7a58a53eb 100644 --- a/app/(home)/university/page.tsx +++ b/app/(home)/university/page.tsx @@ -180,10 +180,10 @@ export default function Page() { href="/academy" /> } - href="/codebase-entrepreneur-academy" + href="/academy/entrepreneur" /> ; }) { const params = await props.params; - const page = codebaseEntrepreneurAcademy.getPage(params.slug); + const page = entrepreneurAcademy.getPage(params.slug); if (!page) notFound(); - const path = `content/academy/avalanche-entrepreneur${page.url.replace('/codebase-entrepreneur-academy/', '/')}.mdx`; + const path = `content/academy/entrepreneur${page.url.replace('/academy/entrepreneur/', '/')}.mdx`; const editUrl = `https://github.com/ava-labs/builders-hub/edit/master/${path}`; const MDX = page.data.body; const course = COURSES.codebaseEntrepreneur.find( @@ -66,7 +66,7 @@ export default async function Page(props: { { "use server"; await posthog.capture("on_rate_document", feedback); @@ -157,24 +157,24 @@ export async function generateMetadata(props: { params: Promise<{ slug: string[] }>; }): Promise { const params = await props.params; - const page = codebaseEntrepreneurAcademy.getPage(params.slug); + const page = entrepreneurAcademy.getPage(params.slug); if (!page) notFound(); const description = page.data.description ?? - "Learn entrepreneurship with Codebase Entrepreneur Academy"; + "Learn entrepreneurship with Entrepreneur Academy"; const imageParams = new URLSearchParams(); imageParams.set( "title", - `${page.data.title} | Codebase Entrepreneur Academy` + `${page.data.title} | Entrepreneur Academy` ); imageParams.set("description", description); const image = { alt: "Banner", - url: `/api/og/codebase-entrepreneur-academy/${ + url: `/api/og/academy/${ params.slug[0] }?${imageParams.toString()}`, width: 1200, @@ -185,7 +185,7 @@ export async function generateMetadata(props: { title: page.data.title, description, openGraph: { - url: `/codebase-entrepreneur-academy/${page.slugs.join("/")}`, + url: `/academy/entrepreneur/${page.slugs.join("/")}`, images: image, }, twitter: { @@ -195,7 +195,7 @@ export async function generateMetadata(props: { } export async function generateStaticParams() { - return codebaseEntrepreneurAcademy.getPages().map((page) => ({ + return entrepreneurAcademy.getPages().map((page) => ({ slug: page.slugs, })); } diff --git a/app/codebase-entrepreneur-academy/layout.tsx b/app/academy/entrepreneur/layout.tsx similarity index 97% rename from app/codebase-entrepreneur-academy/layout.tsx rename to app/academy/entrepreneur/layout.tsx index 5c4b0881e7f..8c7b80fe430 100644 --- a/app/codebase-entrepreneur-academy/layout.tsx +++ b/app/academy/entrepreneur/layout.tsx @@ -1,22 +1,22 @@ import { DocsLayout, type DocsLayoutProps } from 'fumadocs-ui/layouts/notebook'; import type { ReactNode } from 'react'; import { baseOptions, docsMenu, consoleMenu, integrationsMenu, userMenu } from '@/app/layout.config'; -import { codebaseEntrepreneurAcademy } from '@/lib/source'; +import { entrepreneurAcademy } from '@/lib/source'; import { AvalancheLogo } from '@/components/navigation/avalanche-logo'; -const codebaseEntrepreneurOptions: DocsLayoutProps = { +const entrepreneurOptions: DocsLayoutProps = { ...baseOptions, nav: { mode: "top" as const, title: ( <> {} - Codebase Entrepreneur Academy + Entrepreneur Academy ), - url: '/codebase-entrepreneur-academy', + url: '/academy/entrepreneur', }, - tree: codebaseEntrepreneurAcademy.pageTree, + tree: entrepreneurAcademy.pageTree, links: [ consoleMenu, docsMenu, @@ -27,7 +27,7 @@ const codebaseEntrepreneurOptions: DocsLayoutProps = { export default function Layout({ children }: { children: ReactNode }) { return ( - + , - text: 'Avalanche Developer Academy', + text: 'Avalanche Academy', description: 'Master blockchain development with comprehensive courses on Avalanche fundamentals, L1s, and advanced topics', url: '/academy', @@ -244,7 +244,7 @@ export const academyMenu: LinkItemType = {
Codebase Entrepreneur Academy, - text: 'Codebase Entrepreneur Academy', + text: 'Entrepreneur Academy', description: 'Transform from builder to founder with courses on business fundamentals, fundraising, and go-to-market strategies', - url: '/codebase-entrepreneur-academy', + url: '/academy/entrepreneur', }, { icon: , diff --git a/components/academy/learning-path-configs/avalanche-developer.config.ts b/components/academy/learning-path-configs/avalanche.config.ts similarity index 83% rename from components/academy/learning-path-configs/avalanche-developer.config.ts rename to components/academy/learning-path-configs/avalanche.config.ts index 7b285e1b22c..6695a962b12 100644 --- a/components/academy/learning-path-configs/avalanche-developer.config.ts +++ b/components/academy/learning-path-configs/avalanche.config.ts @@ -7,7 +7,7 @@ export const avalancheLearningPaths: CourseNode[] = [ id: "avalanche-fundamentals", name: "Avalanche Fundamentals", description: "Learn about Avalanche Consensus, Multi-Chain Architecture, and VMs", - slug: "avalanche-developer/avalanche-fundamentals", + slug: "avalanche/avalanche-fundamentals", category: "Fundamentals", position: { x: 50, y: 0 }, mobileOrder: 1 @@ -17,40 +17,40 @@ export const avalancheLearningPaths: CourseNode[] = [ id: "customizing-evm", name: "Customizing the EVM", description: "Add custom precompiles and configure the EVM", - slug: "avalanche-developer/customizing-evm", + slug: "avalanche/customizing-evm", category: "VM Customization", dependencies: ["avalanche-fundamentals"], - position: { x:80, y: 200 }, + position: { x:90, y: 250 }, mobileOrder: 2 }, { id: "interchain-messaging", name: "Interchain Messaging", description: "Build apps leveraging Avalanche's Interchain Messaging", - slug: "avalanche-developer/interchain-messaging", + slug: "avalanche/interchain-messaging", category: "Interoperability", dependencies: ["avalanche-fundamentals"], - position: { x: 65, y: 200 }, + position: { x: 65, y: 250 }, mobileOrder: 3 }, { id: "permissioned-l1s", name: "Permissioned L1s", description: "Create and manage permissioned blockchains with Proof of Authority", - slug: "avalanche-developer/permissioned-l1s", + slug: "avalanche/permissioned-l1s", category: "L1 Development", dependencies: ["avalanche-fundamentals"], - position: { x: 35, y: 350 }, + position: { x: 15, y: 250 }, mobileOrder: 6 }, { id: "l1-native-tokenomics", name: "L1 Native Tokenomics", description: "Design L1 economics with custom token, native minting rights and transaction fees", - slug: "avalanche-developer/l1-native-tokenomics", + slug: "avalanche/l1-native-tokenomics", category: "L1 Tokenomics", dependencies: ["avalanche-fundamentals"], - position: { x: 50, y: 500 }, + position: { x: 40, y: 250 }, mobileOrder: 7 }, // Third Layer - Advanced topics @@ -58,30 +58,30 @@ export const avalancheLearningPaths: CourseNode[] = [ id: "interchain-token-transfer", name: "Interchain Token Transfer", description: "Transfer assets between chains using Interchain Messaging", - slug: "avalanche-developer/interchain-token-transfer", + slug: "avalanche/interchain-token-transfer", category: "Interoperability", dependencies: ["interchain-messaging"], - position: { x: 80, y: 350 }, + position: { x: 85, y: 500 }, mobileOrder: 4 }, { id: "icm-chainlink", name: "Chainlink via ICM", description: "Use Chainlink services on an L1 through the Interchain Messaging", - slug: "avalanche-developer/icm-chainlink", + slug: "avalanche/icm-chainlink", category: "Interoperability", dependencies: ["interchain-messaging"], - position: { x: 65, y: 500 }, + position: { x: 55, y: 500 }, mobileOrder: 5 }, { id: "permissionless-l1s", name: "Permissionless L1s", description: "Create and manage permissionless blockchains with Proof of Stake", - slug: "avalanche-developer/permissionless-l1s", + slug: "avalanche/permissionless-l1s", category: "L1 Development", dependencies: ["permissioned-l1s", "l1-native-tokenomics"], - position: { x: 35, y: 650 }, + position: { x: 25, y: 500 }, mobileOrder: 8 }, ]; diff --git a/components/academy/learning-path-configs/blockchain-developer.config.ts b/components/academy/learning-path-configs/blockchain.config.ts similarity index 90% rename from components/academy/learning-path-configs/blockchain-developer.config.ts rename to components/academy/learning-path-configs/blockchain.config.ts index a9e230a6e3d..bcdcb582b37 100644 --- a/components/academy/learning-path-configs/blockchain-developer.config.ts +++ b/components/academy/learning-path-configs/blockchain.config.ts @@ -7,7 +7,7 @@ export const blockchainLearningPaths: CourseNode[] = [ id: "blockchain-fundamentals", name: "Blockchain Fundamentals", description: "Start here to learn about blockchain and solidity basics", - slug: "blockchain-developer/blockchain-fundamentals", + slug: "blockchain/blockchain-fundamentals", category: "Fundamentals", position: { x: 50, y: 0 }, mobileOrder: 1 @@ -17,7 +17,7 @@ export const blockchainLearningPaths: CourseNode[] = [ id: "intro-to-solidity", name: "Intro to Solidity", description: "Start here to learn about Solidity basics with Foundry", - slug: "blockchain-developer/solidity-foundry", + slug: "blockchain/solidity-foundry", category: "Development", dependencies: ["blockchain-fundamentals"], position: { x: 50, y: 200 }, @@ -28,7 +28,7 @@ export const blockchainLearningPaths: CourseNode[] = [ id: "encrypted-erc", name: "Encrypted ERC", description: "Learn about eERC tokens to add privacy to your applications", - slug: "blockchain-developer/encrypted-erc", + slug: "blockchain/encrypted-erc", category: "Privacy", dependencies: ["intro-to-solidity"], position: { x: 50, y: 400 }, diff --git a/components/academy/learning-path-configs/codebase-entrepreneur.config.ts b/components/academy/learning-path-configs/entrepreneur.config.ts similarity index 90% rename from components/academy/learning-path-configs/codebase-entrepreneur.config.ts rename to components/academy/learning-path-configs/entrepreneur.config.ts index a99ad1dc518..ca264b29898 100644 --- a/components/academy/learning-path-configs/codebase-entrepreneur.config.ts +++ b/components/academy/learning-path-configs/entrepreneur.config.ts @@ -7,7 +7,7 @@ export const entrepreneurLearningPaths: CourseNode[] = [ id: "codebase-foundation", name: "Level 1: Foundations of a Web3 Venture", description: "Establishing essential blockchain and business fundamentals.", - slug: "avalanche-entrepreneur/foundations-web3-venture", + slug: "entrepreneur/foundations-web3-venture", category: "Fundamentals", position: { x: 50, y: 0 }, mobileOrder: 1 @@ -18,7 +18,7 @@ export const entrepreneurLearningPaths: CourseNode[] = [ id: "codebase-gtm", name: "Level 2: Go-To-Market Strategist", description: "Master go-to-market strategies for Web3 products and services.", - slug: "avalanche-entrepreneur/go-to-market", + slug: "entrepreneur/go-to-market", category: "Business Strategy", dependencies: ["codebase-foundation"], position: { x: 30, y: 200 }, @@ -28,7 +28,7 @@ export const entrepreneurLearningPaths: CourseNode[] = [ id: "codebase-web3-community-architect", name: "Level 3: Web3 Community Architect", description: "Learn to build and manage thriving Web3 communities.", - slug: "avalanche-entrepreneur/web3-community-architect", + slug: "entrepreneur/web3-community-architect", category: "Community", dependencies: ["codebase-foundation"], position: { x: 70, y: 200 }, @@ -40,7 +40,7 @@ export const entrepreneurLearningPaths: CourseNode[] = [ id: "codebase-fundraising", name: "Level 4: Fundraising & Finance Pro", description: "Master fundraising strategies and financial management in Web3.", - slug: "avalanche-entrepreneur/fundraising-finance", + slug: "entrepreneur/fundraising-finance", category: "Finance", dependencies: ["codebase-web3-community-architect", "codebase-gtm"], position: { x: 50, y: 400 }, diff --git a/components/academy/learning-tree.tsx b/components/academy/learning-tree.tsx index 7410d5ac924..deed6f82e20 100644 --- a/components/academy/learning-tree.tsx +++ b/components/academy/learning-tree.tsx @@ -19,9 +19,9 @@ export interface CourseNode { } // Import configs -import { avalancheLearningPaths, avalancheCategoryStyles } from './learning-path-configs/avalanche-developer.config'; -import { entrepreneurLearningPaths, entrepreneurCategoryStyles } from './learning-path-configs/codebase-entrepreneur.config'; -import { blockchainLearningPaths, blockchainCategoryStyles } from './learning-path-configs/blockchain-developer.config'; +import { avalancheLearningPaths, avalancheCategoryStyles } from './learning-path-configs/avalanche.config'; +import { entrepreneurLearningPaths, entrepreneurCategoryStyles } from './learning-path-configs/entrepreneur.config'; +import { blockchainLearningPaths, blockchainCategoryStyles } from './learning-path-configs/blockchain.config'; interface LearningTreeProps { pathType?: 'avalanche' | 'entrepreneur' | 'blockchain'; @@ -43,6 +43,14 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro ? blockchainCategoryStyles : entrepreneurCategoryStyles; + const resolveSlug = (slug: string) => { + if (pathType === 'entrepreneur') { + const cleanSlug = slug.replace(/^entrepreneur\//, ''); + return `/academy/entrepreneur/${cleanSlug}`; + } + return `/academy/${slug}`; + }; + // Function to get all ancestor nodes (dependencies) of a given node const getAncestors = (nodeId: string, ancestors: Set = new Set()): Set => { const node = learningPaths.find(n => n.id === nodeId); @@ -187,7 +195,7 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro )}
setHoveredNode(null)} >
{ - if (pathname === "/codebase-entrepreneur-academy" || pathname.startsWith("/codebase-entrepreneur-academy/")) { + if (pathname === "/academy/entrepreneur" || pathname.startsWith("/academy/entrepreneur/")) { return "entrepreneur"; - } else if (pathname === "/blockchain-developer-academy" || pathname.startsWith("/blockchain-developer-academy/")) { + } else if (pathname === "/academy/blockchain" || pathname.startsWith("/academy/blockchain/")) { return "blockchain"; - } else if (pathname === "/academy" || pathname.startsWith("/academy/")) { + } else if ( + pathname === "/academy" || + pathname.startsWith("/academy/avalanche") || + (pathname.startsWith("/academy/") && + !pathname.startsWith("/academy/blockchain") && + !pathname.startsWith("/academy/entrepreneur")) + ) { return "avalanche"; } return "avalanche"; diff --git a/components/academy/shared/academy-hero.tsx b/components/academy/shared/academy-hero.tsx index 8087fe6d8f3..a3efece1643 100644 --- a/components/academy/shared/academy-hero.tsx +++ b/components/academy/shared/academy-hero.tsx @@ -1,14 +1,107 @@ 'use client'; import { ChevronDown } from 'lucide-react'; +import { useEffect, useMemo, useState, type CSSProperties } from 'react'; interface AcademyHeroProps { title: string; accent: string; + accentWords?: string[]; description: string; } -export function AcademyHero({ title, accent, description }: AcademyHeroProps) { +const ROTATION_INTERVAL = 2600; +const TRANSITION_DURATION = 600; + +function RotatingAccent({ words }: { words: string[] }) { + const uniqueWords = useMemo( + () => + [...new Set(words.map((word) => word.trim()).filter((word) => word.length > 0))], + [words], + ); + + const displayWords = useMemo(() => { + if (uniqueWords.length <= 1) { + return uniqueWords; + } + + return [...uniqueWords, uniqueWords[0]]; + }, [uniqueWords]); + + const [index, setIndex] = useState(0); + const [isResetting, setIsResetting] = useState(false); + + useEffect(() => { + setIndex(0); + }, [uniqueWords.length]); + + useEffect(() => { + if (displayWords.length <= 1) return; + + const timer = setInterval(() => { + setIndex((prev) => prev + 1); + }, ROTATION_INTERVAL); + + return () => clearInterval(timer); + }, [displayWords.length]); + + useEffect(() => { + if (displayWords.length <= 1) return; + + if (index === displayWords.length - 1) { + const timeout = setTimeout(() => { + setIsResetting(true); + setIndex(0); + }, TRANSITION_DURATION); + + return () => clearTimeout(timeout); + } + }, [index, displayWords.length]); + + useEffect(() => { + if (!isResetting) return; + + const frame = requestAnimationFrame(() => { + setIsResetting(false); + }); + + return () => cancelAnimationFrame(frame); + }, [isResetting]); + + if (uniqueWords.length === 0) { + return null; + } + + if (uniqueWords.length === 1) { + return ( + + {uniqueWords[0]} + + ); + } + + const transformStyle: CSSProperties = { + transform: `translateY(-${index * 100}%)`, + transition: isResetting ? 'none' : 'transform 600ms cubic-bezier(0.76, 0, 0.24, 1)', + }; + + return ( + + + {displayWords.map((word, idx) => ( + + {word} + + ))} + + + ); +} + +export function AcademyHero({ title, accent, accentWords, description }: AcademyHeroProps) { const handleScrollToLearningPath = () => { const learningPathSection = document.getElementById('learning-path-section'); if (learningPathSection) { @@ -16,6 +109,10 @@ export function AcademyHero({ title, accent, description }: AcademyHeroProps) { } }; + const rotatingAccentWords = accentWords && accentWords.length > 0 + ? accentWords + : [accent]; + return (
{/* Background gradient */} @@ -29,9 +126,7 @@ export function AcademyHero({ title, accent, description }: AcademyHeroProps) { {title}{" "} - - {accent} - + {" "}Academy diff --git a/components/academy/shared/academy-layout.tsx b/components/academy/shared/academy-layout.tsx index 82f659d02bf..8eee0a2fe00 100644 --- a/components/academy/shared/academy-layout.tsx +++ b/components/academy/shared/academy-layout.tsx @@ -33,6 +33,7 @@ export function AcademyLayout({ config, blogs = [], children, afterLearningPath diff --git a/components/academy/shared/academy-learning-path.tsx b/components/academy/shared/academy-learning-path.tsx index 390b61f26d8..19e2b9ac446 100644 --- a/components/academy/shared/academy-learning-path.tsx +++ b/components/academy/shared/academy-learning-path.tsx @@ -21,8 +21,7 @@ export function AcademyLearningPath({ defaultPathType }: AcademyLearningPathProp ) : ( <> - Codebase - Entrepreneur + Entrepreneur Academy )} @@ -36,7 +35,7 @@ export function AcademyLearningPath({ defaultPathType }: AcademyLearningPathProp {pathType === 'avalanche' - ? 'Start with fundamentals, progress to advanced' + ? 'Start with Avalanche fundamentals and advance to custom L1s' : pathType === 'blockchain' ? 'Master blockchain basics and smart contract development' : 'Build your foundation, scale your venture' diff --git a/components/academy/shared/academy-types.tsx b/components/academy/shared/academy-types.tsx index e7a9a9dbb76..ed331ea9969 100644 --- a/components/academy/shared/academy-types.tsx +++ b/components/academy/shared/academy-types.tsx @@ -5,6 +5,7 @@ export interface AcademyLandingPageConfig { name: string; heroTitle: string; heroAccent: string; + heroAccentWords?: string[]; heroDescription: string; pathType: 'avalanche' | 'entrepreneur' | 'blockchain'; customContent?: ReactNode; diff --git a/components/flashcards/flashcardData.json b/components/flashcards/flashcardData.json index 5a2d24adf48..ca893bc6325 100644 --- a/components/flashcards/flashcardData.json +++ b/components/flashcards/flashcardData.json @@ -1,7 +1,7 @@ { "courses": { "codebase-entrepreneur-academy": { - "title": "Codebase Entrepreneur Academy", + "title": "Entrepreneur Academy", "flashcardSets": [ "grants-process", "fundraising-fundamentals", diff --git a/components/navigation/active-nav-highlighter.tsx b/components/navigation/active-nav-highlighter.tsx index d0ad3190ee3..7e57b69a1da 100644 --- a/components/navigation/active-nav-highlighter.tsx +++ b/components/navigation/active-nav-highlighter.tsx @@ -35,8 +35,6 @@ export function ActiveNavHighlighter() { activeSection = '/grants'; } else if (pathname.startsWith('/university')) { activeSection = '/university'; - } else if (pathname.startsWith('/codebase-entrepreneur-academy')) { - activeSection = '/codebase-entrepreneur-academy'; } if (activeSection) { diff --git a/components/navigation/navbar-dropdown.tsx b/components/navigation/navbar-dropdown.tsx index 907651343b1..febf4aa49f9 100644 --- a/components/navigation/navbar-dropdown.tsx +++ b/components/navigation/navbar-dropdown.tsx @@ -41,8 +41,8 @@ export function NavbarDropdown() { title: 'Academy', href: '/academy', items: [ - { text: 'Avalanche Developer Academy', href: '/academy' }, - { text: 'Codebase Entrepreneur Academy', href: '/codebase-entrepreneur-academy' }, + { text: 'Avalanche Academy', href: '/academy' }, + { text: 'Entrepreneur Academy', href: '/academy/entrepreneur' }, { text: 'Avalanche Fundamentals', href: '/academy/avalanche-fundamentals' }, ], }, diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx deleted file mode 100644 index 72ba58bdce9..00000000000 --- a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of legal structures for Web3 -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - -Great work finishing **[Module 1A](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction)**! 🎉 Completing a single module is a fantastic achievement on its own, but if you want to be certified, you'll need to complete [Module 1A](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/codebase-entrepreneur-academy/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/codebase-entrepreneur-academy/foundations-web3-venture/03-user-personas/01-introduction) to unlock the Foundations of a Web3 Venture certificate. Keep going—you're on your way! 🚀 diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx deleted file mode 100644 index 672f4bc2627..00000000000 --- a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of security fundamentals for Web3 -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - - - -Great work finishing **[Module 1B](/codebase-entrepreneur-academy/foundations-web3-venture/01b-security-fundamentals/01-introduction)**! 🎉 Completing a single module is a fantastic achievement on its own, but if you want to be certified, you'll need to complete [Module 1A](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/codebase-entrepreneur-academy/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/codebase-entrepreneur-academy/foundations-web3-venture/03-user-personas/01-introduction) to unlock the Foundations of a Web3 Venture certificate. Keep going—you're on your way! 🚀 diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx deleted file mode 100644 index 5858b0df041..00000000000 --- a/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of Business Model Canvas for Web3 -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - - - -Awesome progress! **[Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction)** is done, which is a big win. Remember, while completing a single module is great, certification comes when you finish [Module 1A](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/codebase-entrepreneur-academy/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/codebase-entrepreneur-academy/foundations-web3-venture/03-user-personas/01-introduction) and unlock the Foundations of a Web3 Venture certificate. Stay focused! 🌟 diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx deleted file mode 100644 index 3db88b6d2e7..00000000000 --- a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of User Personas in Web3 -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - -Congratulations! You've completed **[Module 3](/codebase-entrepreneur-academy/foundations-web3-venture/03-user-personas/01-introduction)**! 🎉 If you've also finished [Module 1A](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/codebase-entrepreneur-academy/foundations-web3-venture/01b-security-fundamentals/01-introduction), and [Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction), you've now unlocked the **Foundations of a Web3 Venture** certificate! Head to your Builder's Hub profile to download it. Amazing work! 🚀 diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx b/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx deleted file mode 100644 index 3dde40c31e4..00000000000 --- a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Additional Learning -description: Resources for further exploration of user research -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: BookOpen ---- - -[User Interviews 101 (NN/g)](https://www.nngroup.com/articles/user-interviews/) - Nielsen Norman Group - -[The "Mom Test" Book](https://www.momtestbook.com/) - Rob Fitzpatrick - -Did you complete [Module 1](/codebase-entrepreneur-academy/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 2](/codebase-entrepreneur-academy/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/codebase-entrepreneur-academy/foundations-web3-venture/03-user-personas/01-introduction)? Congratulations! Claim your free "**Foundations of a Web3 Venture**" certificate. \ No newline at end of file diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx deleted file mode 100644 index d0e65a52056..00000000000 --- a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Test Your Knowledge -description: Test your understanding of fundraising concepts -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - -Fantastic work finishing [Module 9](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/01-introduction)! Completing one module is always impressive, but to be certified at this level, you'll need to finish [Module 9](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/01-introduction), [Module 10](/codebase-entrepreneur-academy/fundraising-finance/10-grants/01-introduction), and [Module 11](/codebase-entrepreneur-academy/fundraising-finance/11-pitching/01-introduction) to unlock the Web3 Fundraising & Finance Pro certificate. Keep pushing! 💼 diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/07-quiz.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/07-quiz.mdx deleted file mode 100644 index 42ece988edc..00000000000 --- a/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/07-quiz.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Test Your Knowledge -description: Quick quiz to assess understanding -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - - - -Excellent progress on [Module 10](/codebase-entrepreneur-academy/fundraising-finance/10-grants/01-introduction)! You're making great strides. Remember, to unlock the Web3 Fundraising & Finance Pro certificate, you'll need to complete [Module 9](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/01-introduction), [Module 10](/codebase-entrepreneur-academy/fundraising-finance/10-grants/01-introduction), and [Module 11](/codebase-entrepreneur-academy/fundraising-finance/11-pitching/01-introduction). Keep up the momentum! 💰 diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx b/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx deleted file mode 100644 index 804b8d5115d..00000000000 --- a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Test Your Knowledge -description: Test your understanding of pitching concepts -updated: 2025-01-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - -Congratulations on completing [Module 11](/codebase-entrepreneur-academy/fundraising-finance/11-pitching/01-introduction)! You've now mastered the art of pitching - a critical skill for any entrepreneur. If you've also completed [Module 9](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/01-introduction) and [Module 10](/codebase-entrepreneur-academy/fundraising-finance/10-grants/01-introduction), you've unlocked the **Web3 Fundraising & Finance Pro** certificate! Check your Builder's Hub profile to download it. Your fundraising journey is complete! 🚀 \ No newline at end of file diff --git a/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx b/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx deleted file mode 100644 index b1380326a80..00000000000 --- a/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of go-to-market strategies -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - - - -Fantastic! You've wrapped up **[Module 4](/codebase-entrepreneur-academy/go-to-market/04-gtm-strategies/01-introduction)**, which is a great accomplishment on its own. But to be certified at this level, you'll need to complete [Module 4](/codebase-entrepreneur-academy/go-to-market/04-gtm-strategies/01-introduction), [Module 5](/codebase-entrepreneur-academy/go-to-market/05-sales/01-introduction), and [Module 6](/codebase-entrepreneur-academy/go-to-market/06-pricing/01-introduction) and unlock the Web3 Go-To-Market Strategist certificate. Keep going—you're on track! 🌍 diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/11-quiz.mdx b/content/academy/avalanche-entrepreneur/go-to-market/05-sales/11-quiz.mdx deleted file mode 100644 index 24e8dd4fcdf..00000000000 --- a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/11-quiz.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of Web3 sales strategies -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - - - -You're powering through! Finishing **[Module 5](/codebase-entrepreneur-academy/go-to-market/05-sales/01-introduction)** is amazing, but certification at this stage comes after you also complete [Module 4](/codebase-entrepreneur-academy/go-to-market/04-gtm-strategies/01-introduction) and [Module 6](/codebase-entrepreneur-academy/go-to-market/06-pricing/01-introduction), which will earn you the Web3 Go-To-Market Strategist certificate. Don't stop now! 💡 diff --git a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/10-quiz.mdx b/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/10-quiz.mdx deleted file mode 100644 index 0ed0d9e5b94..00000000000 --- a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/10-quiz.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Test Your Knowledge -description: Interactive quiz to test your understanding of Web3 pricing strategies -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: BookOpen ---- - - - - - - - - - -Congrats on completing [Module 4](/codebase-entrepreneur-academy/go-to-market/04-gtm-strategies/01-introduction), [Module 5](/codebase-entrepreneur-academy/go-to-market/05-sales/01-introduction), and [Module 6](/codebase-entrepreneur-academy/go-to-market/06-pricing/01-introduction) of the Codebase Entrepreneur Academy! 🎉 You've now unlocked the **Web3 Go-To-Market Strategist** certificate, which is ready for you to download from your Builder's Hub profile. Be proud of this milestone and feel free to share your achievement with your network—you've earned it! 🚀 - -Looking ahead: by completing [Module 7](/codebase-entrepreneur-academy/web3-community-architect/07-community-building/01-introduction) and [Module 8](/codebase-entrepreneur-academy/web3-community-architect/08-mastering-tokenomics/01-introduction), you'll unlock the Web3 Community Architect certificate. After [Module 9](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/01-introduction), [Module 10](/codebase-entrepreneur-academy/fundraising-finance/10-grants/01-introduction), and [Module 11](/codebase-entrepreneur-academy/fundraising-finance/11-pitching/01-introduction), you'll achieve the Web3 Fundraising & Finance Pro certificate. And when you complete all 11 modules, you'll officially become a Certified Codebase Entrepreneur Academy Graduate—a huge accomplishment that showcases your full journey. 🌟 diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx deleted file mode 100644 index 0fea483e2b9..00000000000 --- a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Test Your Knowledge -description: Test your understanding of community building concepts -updated: 2025-07-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - -Amazing job finishing [Module 7](/codebase-entrepreneur-academy/web3-community-architect/07-community-building/01-introduction)! This is a big step forward. While completing a single module is fantastic, certification for this stage comes after [Module 7](/codebase-entrepreneur-academy/web3-community-architect/07-community-building/01-introduction) and [Module 8](/codebase-entrepreneur-academy/web3-community-architect/08-mastering-tokenomics/01-introduction), which will unlock the Web3 Community Architect certificate. You're almost there! 🌟 \ No newline at end of file diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx b/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx deleted file mode 100644 index 88445315d11..00000000000 --- a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Test Your Knowledge -description: Test your understanding of tokenomics concepts -updated: 2025-01-31 -authors: [nicolasarnedo] -icon: Terminal ---- - - - - - - - -Amazing job finishing [Module 8](/codebase-entrepreneur-academy/web3-community-architect/08-mastering-tokenomics/01-introduction)! This is a big step forward. While completing a single module is fantastic, certification for this stage comes after [Module 7](/codebase-entrepreneur-academy/web3-community-architect/07-community-building/01-introduction) and [Module 8](/codebase-entrepreneur-academy/web3-community-architect/08-mastering-tokenomics/01-introduction), which will unlock the Web3 Community Architect certificate. You're almost there! 🌟 diff --git a/content/academy/avalanche-developer/avacloudapis/02-overview/01-about.mdx b/content/academy/avalanche/avacloudapis/02-overview/01-about.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/02-overview/01-about.mdx rename to content/academy/avalanche/avacloudapis/02-overview/01-about.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/02-overview/02-apis-vs-rpc.mdx b/content/academy/avalanche/avacloudapis/02-overview/02-apis-vs-rpc.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/02-overview/02-apis-vs-rpc.mdx rename to content/academy/avalanche/avacloudapis/02-overview/02-apis-vs-rpc.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/02-overview/03-dataapi-endpoints.mdx b/content/academy/avalanche/avacloudapis/02-overview/03-dataapi-endpoints.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/02-overview/03-dataapi-endpoints.mdx rename to content/academy/avalanche/avacloudapis/02-overview/03-dataapi-endpoints.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/02-overview/04-webhooks.mdx b/content/academy/avalanche/avacloudapis/02-overview/04-webhooks.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/02-overview/04-webhooks.mdx rename to content/academy/avalanche/avacloudapis/02-overview/04-webhooks.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/03-environment-setup/01-avacloud-account.mdx b/content/academy/avalanche/avacloudapis/03-environment-setup/01-avacloud-account.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/03-environment-setup/01-avacloud-account.mdx rename to content/academy/avalanche/avacloudapis/03-environment-setup/01-avacloud-account.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx b/content/academy/avalanche/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx rename to content/academy/avalanche/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/03-environment-setup/03-what-we-build.mdx b/content/academy/avalanche/avacloudapis/03-environment-setup/03-what-we-build.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/03-environment-setup/03-what-we-build.mdx rename to content/academy/avalanche/avacloudapis/03-environment-setup/03-what-we-build.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/01-overview.mdx b/content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/01-overview.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/01-overview.mdx rename to content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/01-overview.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx b/content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx rename to content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx b/content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx rename to content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/04-final.mdx b/content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/04-final.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/04-erc20-token-balance-app/04-final.mdx rename to content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/04-final.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/01-overview.mdx b/content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/01-overview.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/01-overview.mdx rename to content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/01-overview.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx b/content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx rename to content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx b/content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx rename to content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/01-overview.mdx b/content/academy/avalanche/avacloudapis/06-block-explorer-app/01-overview.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/01-overview.mdx rename to content/academy/avalanche/avacloudapis/06-block-explorer-app/01-overview.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/02-understanding-code.mdx b/content/academy/avalanche/avacloudapis/06-block-explorer-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/02-understanding-code.mdx rename to content/academy/avalanche/avacloudapis/06-block-explorer-app/02-understanding-code.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/03-modifying-code.mdx b/content/academy/avalanche/avacloudapis/06-block-explorer-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/06-block-explorer-app/03-modifying-code.mdx rename to content/academy/avalanche/avacloudapis/06-block-explorer-app/03-modifying-code.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/07-using-webhooks/01-overview.mdx b/content/academy/avalanche/avacloudapis/07-using-webhooks/01-overview.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/07-using-webhooks/01-overview.mdx rename to content/academy/avalanche/avacloudapis/07-using-webhooks/01-overview.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/index.mdx b/content/academy/avalanche/avacloudapis/index.mdx similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/index.mdx rename to content/academy/avalanche/avacloudapis/index.mdx diff --git a/content/academy/avalanche-developer/avacloudapis/meta.json b/content/academy/avalanche/avacloudapis/meta.json similarity index 100% rename from content/academy/avalanche-developer/avacloudapis/meta.json rename to content/academy/avalanche/avacloudapis/meta.json diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx b/content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx rename to content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx b/content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx rename to content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx b/content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx rename to content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx b/content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx rename to content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx b/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx rename to content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx b/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx rename to content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx b/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx rename to content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx b/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx rename to content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx b/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx rename to content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx b/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx rename to content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx b/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx rename to content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx b/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx rename to content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx b/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx rename to content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx b/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx rename to content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx b/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx rename to content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx b/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx rename to content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx b/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx rename to content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx b/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx rename to content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx b/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx rename to content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx b/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx rename to content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx b/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx rename to content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/01-introduction.mdx b/content/academy/avalanche/avalanche-fundamentals/05-interoperability/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/01-introduction.mdx rename to content/academy/avalanche/avalanche-fundamentals/05-interoperability/01-introduction.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx b/content/academy/avalanche/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx rename to content/academy/avalanche/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx b/content/academy/avalanche/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx rename to content/academy/avalanche/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx b/content/academy/avalanche/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx rename to content/academy/avalanche/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx b/content/academy/avalanche/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx rename to content/academy/avalanche/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx b/content/academy/avalanche/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx rename to content/academy/avalanche/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx b/content/academy/avalanche/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx rename to content/academy/avalanche/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx b/content/academy/avalanche/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx rename to content/academy/avalanche/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/09-use-cases.mdx b/content/academy/avalanche/avalanche-fundamentals/05-interoperability/09-use-cases.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/05-interoperability/09-use-cases.mdx rename to content/academy/avalanche/avalanche-fundamentals/05-interoperability/09-use-cases.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx b/content/academy/avalanche/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx rename to content/academy/avalanche/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx b/content/academy/avalanche/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx rename to content/academy/avalanche/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx b/content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx rename to content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx b/content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx rename to content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/02-modification.mdx b/content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/02-modification.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/02-modification.mdx rename to content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/02-modification.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/03-creation.mdx b/content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/03-creation.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/07b-vm-customization/03-creation.mdx rename to content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/03-creation.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx b/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx rename to content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx b/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx rename to content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx b/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx rename to content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx b/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx rename to content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx b/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx rename to content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx b/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx rename to content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx b/content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx rename to content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx b/content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx rename to content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx b/content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx rename to content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/get-certificate.mdx b/content/academy/avalanche/avalanche-fundamentals/get-certificate.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/get-certificate.mdx rename to content/academy/avalanche/avalanche-fundamentals/get-certificate.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/index.mdx b/content/academy/avalanche/avalanche-fundamentals/index.mdx similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/index.mdx rename to content/academy/avalanche/avalanche-fundamentals/index.mdx diff --git a/content/academy/avalanche-developer/avalanche-fundamentals/meta.json b/content/academy/avalanche/avalanche-fundamentals/meta.json similarity index 100% rename from content/academy/avalanche-developer/avalanche-fundamentals/meta.json rename to content/academy/avalanche/avalanche-fundamentals/meta.json diff --git a/content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx b/content/academy/avalanche/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx rename to content/academy/avalanche/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx b/content/academy/avalanche/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx rename to content/academy/avalanche/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx b/content/academy/avalanche/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx rename to content/academy/avalanche/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx b/content/academy/avalanche/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx rename to content/academy/avalanche/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/03-development-env-setup/00-intro.mdx b/content/academy/avalanche/customizing-evm/03-development-env-setup/00-intro.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/03-development-env-setup/00-intro.mdx rename to content/academy/avalanche/customizing-evm/03-development-env-setup/00-intro.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/03-development-env-setup/02-create-codespaces.mdx b/content/academy/avalanche/customizing-evm/03-development-env-setup/02-create-codespaces.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/03-development-env-setup/02-create-codespaces.mdx rename to content/academy/avalanche/customizing-evm/03-development-env-setup/02-create-codespaces.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx b/content/academy/avalanche/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx rename to content/academy/avalanche/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/00-intro.mdx b/content/academy/avalanche/customizing-evm/04-your-evm-blockchain/00-intro.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/00-intro.mdx rename to content/academy/avalanche/customizing-evm/04-your-evm-blockchain/00-intro.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx b/content/academy/avalanche/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx rename to content/academy/avalanche/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx b/content/academy/avalanche/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx rename to content/academy/avalanche/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx b/content/academy/avalanche/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx rename to content/academy/avalanche/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx b/content/academy/avalanche/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx rename to content/academy/avalanche/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/01-genesis-block.mdx b/content/academy/avalanche/customizing-evm/05-genesis-configuration/01-genesis-block.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/01-genesis-block.mdx rename to content/academy/avalanche/customizing-evm/05-genesis-configuration/01-genesis-block.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx b/content/academy/avalanche/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx rename to content/academy/avalanche/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx b/content/academy/avalanche/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx rename to content/academy/avalanche/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx b/content/academy/avalanche/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx rename to content/academy/avalanche/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx b/content/academy/avalanche/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx rename to content/academy/avalanche/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx b/content/academy/avalanche/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx rename to content/academy/avalanche/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx b/content/academy/avalanche/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx rename to content/academy/avalanche/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx b/content/academy/avalanche/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx rename to content/academy/avalanche/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/06-precompiles/01-what-are-precompiles.mdx b/content/academy/avalanche/customizing-evm/06-precompiles/01-what-are-precompiles.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/06-precompiles/01-what-are-precompiles.mdx rename to content/academy/avalanche/customizing-evm/06-precompiles/01-what-are-precompiles.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/06-precompiles/02-why-precompiles.mdx b/content/academy/avalanche/customizing-evm/06-precompiles/02-why-precompiles.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/06-precompiles/02-why-precompiles.mdx rename to content/academy/avalanche/customizing-evm/06-precompiles/02-why-precompiles.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx b/content/academy/avalanche/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx rename to content/academy/avalanche/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/00-intro.mdx b/content/academy/avalanche/customizing-evm/07-hash-function-precompile/00-intro.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/00-intro.mdx rename to content/academy/avalanche/customizing-evm/07-hash-function-precompile/00-intro.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx b/content/academy/avalanche/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx rename to content/academy/avalanche/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx b/content/academy/avalanche/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx rename to content/academy/avalanche/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx b/content/academy/avalanche/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx rename to content/academy/avalanche/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx b/content/academy/avalanche/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx rename to content/academy/avalanche/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx b/content/academy/avalanche/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx rename to content/academy/avalanche/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx b/content/academy/avalanche/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx rename to content/academy/avalanche/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx b/content/academy/avalanche/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx rename to content/academy/avalanche/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/00-intro.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/00-intro.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/00-intro.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/00-intro.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/09-unit-tests.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/09-unit-tests.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/09-unit-tests.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/09-unit-tests.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx b/content/academy/avalanche/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx rename to content/academy/avalanche/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/09-stateful-precompiles/00-intro.mdx b/content/academy/avalanche/customizing-evm/09-stateful-precompiles/00-intro.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/09-stateful-precompiles/00-intro.mdx rename to content/academy/avalanche/customizing-evm/09-stateful-precompiles/00-intro.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx b/content/academy/avalanche/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx rename to content/academy/avalanche/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/00-intro.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/00-intro.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/00-intro.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/00-intro.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx b/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx rename to content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/index.mdx b/content/academy/avalanche/customizing-evm/index.mdx similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/index.mdx rename to content/academy/avalanche/customizing-evm/index.mdx diff --git a/content/academy/avalanche-developer/customizing-evm/meta.json b/content/academy/avalanche/customizing-evm/meta.json similarity index 100% rename from content/academy/avalanche-developer/customizing-evm/meta.json rename to content/academy/avalanche/customizing-evm/meta.json diff --git a/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx b/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx rename to content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx b/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx rename to content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx b/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx rename to content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx b/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx rename to content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx b/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx rename to content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx b/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx rename to content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx b/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx rename to content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx b/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx rename to content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx b/content/academy/avalanche/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx rename to content/academy/avalanche/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx b/content/academy/avalanche/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx rename to content/academy/avalanche/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/04-ccip-icm/01-introduction.mdx b/content/academy/avalanche/icm-chainlink/04-ccip-icm/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/04-ccip-icm/01-introduction.mdx rename to content/academy/avalanche/icm-chainlink/04-ccip-icm/01-introduction.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/certificate.mdx b/content/academy/avalanche/icm-chainlink/certificate.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/certificate.mdx rename to content/academy/avalanche/icm-chainlink/certificate.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/index.mdx b/content/academy/avalanche/icm-chainlink/index.mdx similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/index.mdx rename to content/academy/avalanche/icm-chainlink/index.mdx diff --git a/content/academy/avalanche-developer/icm-chainlink/meta.json b/content/academy/avalanche/icm-chainlink/meta.json similarity index 100% rename from content/academy/avalanche-developer/icm-chainlink/meta.json rename to content/academy/avalanche/icm-chainlink/meta.json diff --git a/content/academy/avalanche-developer/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx b/content/academy/avalanche/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx rename to content/academy/avalanche/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/02-interoperability/02-source-message-destination.mdx b/content/academy/avalanche/interchain-messaging/02-interoperability/02-source-message-destination.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/02-interoperability/02-source-message-destination.mdx rename to content/academy/avalanche/interchain-messaging/02-interoperability/02-source-message-destination.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx b/content/academy/avalanche/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx rename to content/academy/avalanche/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx b/content/academy/avalanche/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx rename to content/academy/avalanche/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx b/content/academy/avalanche/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx rename to content/academy/avalanche/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx b/content/academy/avalanche/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx rename to content/academy/avalanche/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx b/content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx rename to content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx b/content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx rename to content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx b/content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx rename to content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx b/content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx rename to content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx b/content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx rename to content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/01-icm-basics.mdx b/content/academy/avalanche/interchain-messaging/04-icm-basics/01-icm-basics.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/04-icm-basics/01-icm-basics.mdx rename to content/academy/avalanche/interchain-messaging/04-icm-basics/01-icm-basics.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx b/content/academy/avalanche/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx rename to content/academy/avalanche/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/03-sending-a-message.mdx b/content/academy/avalanche/interchain-messaging/04-icm-basics/03-sending-a-message.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/04-icm-basics/03-sending-a-message.mdx rename to content/academy/avalanche/interchain-messaging/04-icm-basics/03-sending-a-message.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx b/content/academy/avalanche/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx rename to content/academy/avalanche/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx b/content/academy/avalanche/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx rename to content/academy/avalanche/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx b/content/academy/avalanche/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx rename to content/academy/avalanche/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/07-send-a-message.mdx b/content/academy/avalanche/interchain-messaging/04-icm-basics/07-send-a-message.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/04-icm-basics/07-send-a-message.mdx rename to content/academy/avalanche/interchain-messaging/04-icm-basics/07-send-a-message.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx b/content/academy/avalanche/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx rename to content/academy/avalanche/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx b/content/academy/avalanche/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx rename to content/academy/avalanche/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/02-sender-contract.mdx b/content/academy/avalanche/interchain-messaging/05-two-way-communication/02-sender-contract.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/02-sender-contract.mdx rename to content/academy/avalanche/interchain-messaging/05-two-way-communication/02-sender-contract.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx b/content/academy/avalanche/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx rename to content/academy/avalanche/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx b/content/academy/avalanche/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx rename to content/academy/avalanche/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx b/content/academy/avalanche/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx rename to content/academy/avalanche/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx b/content/academy/avalanche/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx rename to content/academy/avalanche/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx b/content/academy/avalanche/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx rename to content/academy/avalanche/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx b/content/academy/avalanche/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx rename to content/academy/avalanche/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx b/content/academy/avalanche/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx rename to content/academy/avalanche/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx b/content/academy/avalanche/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx rename to content/academy/avalanche/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx b/content/academy/avalanche/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx rename to content/academy/avalanche/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx b/content/academy/avalanche/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx rename to content/academy/avalanche/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx b/content/academy/avalanche/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx rename to content/academy/avalanche/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx b/content/academy/avalanche/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx rename to content/academy/avalanche/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/07-icm-registry/01-icm-registry.mdx b/content/academy/avalanche/interchain-messaging/07-icm-registry/01-icm-registry.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/07-icm-registry/01-icm-registry.mdx rename to content/academy/avalanche/interchain-messaging/07-icm-registry/01-icm-registry.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx b/content/academy/avalanche/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx rename to content/academy/avalanche/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx b/content/academy/avalanche/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx rename to content/academy/avalanche/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx b/content/academy/avalanche/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx rename to content/academy/avalanche/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx b/content/academy/avalanche/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx rename to content/academy/avalanche/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx b/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx rename to content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx b/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx rename to content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx b/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx rename to content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx b/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx rename to content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx b/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx rename to content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx b/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx rename to content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx b/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx rename to content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx b/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx rename to content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx b/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx rename to content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx b/content/academy/avalanche/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx rename to content/academy/avalanche/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx b/content/academy/avalanche/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx rename to content/academy/avalanche/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx b/content/academy/avalanche/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx rename to content/academy/avalanche/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx b/content/academy/avalanche/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx rename to content/academy/avalanche/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx b/content/academy/avalanche/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx rename to content/academy/avalanche/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx b/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx rename to content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx b/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx rename to content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx b/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx rename to content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx b/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx rename to content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx b/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx rename to content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx b/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx rename to content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx b/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx rename to content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx b/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx rename to content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx b/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx rename to content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx b/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx rename to content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx b/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx rename to content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx b/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx rename to content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx b/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx rename to content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx b/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx rename to content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx b/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx rename to content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/certificate.mdx b/content/academy/avalanche/interchain-messaging/certificate.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/certificate.mdx rename to content/academy/avalanche/interchain-messaging/certificate.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/index.mdx b/content/academy/avalanche/interchain-messaging/index.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/index.mdx rename to content/academy/avalanche/interchain-messaging/index.mdx diff --git a/content/academy/avalanche-developer/interchain-messaging/meta.json b/content/academy/avalanche/interchain-messaging/meta.json similarity index 100% rename from content/academy/avalanche-developer/interchain-messaging/meta.json rename to content/academy/avalanche/interchain-messaging/meta.json diff --git a/content/academy/avalanche-developer/interchain-token-transfer/02-getting-started/01-introduction.mdx b/content/academy/avalanche/interchain-token-transfer/02-getting-started/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/02-getting-started/01-introduction.mdx rename to content/academy/avalanche/interchain-token-transfer/02-getting-started/01-introduction.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/01-tokens.mdx b/content/academy/avalanche/interchain-token-transfer/03-tokens/01-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/03-tokens/01-tokens.mdx rename to content/academy/avalanche/interchain-token-transfer/03-tokens/01-tokens.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/02-native-tokens.mdx b/content/academy/avalanche/interchain-token-transfer/03-tokens/02-native-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/03-tokens/02-native-tokens.mdx rename to content/academy/avalanche/interchain-token-transfer/03-tokens/02-native-tokens.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx b/content/academy/avalanche/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx rename to content/academy/avalanche/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx b/content/academy/avalanche/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx rename to content/academy/avalanche/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx b/content/academy/avalanche/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx rename to content/academy/avalanche/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx b/content/academy/avalanche/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx rename to content/academy/avalanche/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx b/content/academy/avalanche/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx rename to content/academy/avalanche/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx b/content/academy/avalanche/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx rename to content/academy/avalanche/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx b/content/academy/avalanche/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx rename to content/academy/avalanche/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx b/content/academy/avalanche/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx rename to content/academy/avalanche/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx b/content/academy/avalanche/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx rename to content/academy/avalanche/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx b/content/academy/avalanche/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx rename to content/academy/avalanche/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx b/content/academy/avalanche/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx rename to content/academy/avalanche/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx b/content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx rename to content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx b/content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx rename to content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx b/content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx rename to content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx b/content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx rename to content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx b/content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx rename to content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx b/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx rename to content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx b/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx rename to content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx b/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx rename to content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx b/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx rename to content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx b/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx rename to content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx b/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx rename to content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx b/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx rename to content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx b/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx rename to content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx b/content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx rename to content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx b/content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx rename to content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx b/content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx rename to content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx b/content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx rename to content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx b/content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx rename to content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx b/content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx rename to content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx b/content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx rename to content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx b/content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx rename to content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx b/content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx rename to content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/01-intro.mdx b/content/academy/avalanche/interchain-token-transfer/12-send-and-call/01-intro.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/01-intro.mdx rename to content/academy/avalanche/interchain-token-transfer/12-send-and-call/01-intro.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx b/content/academy/avalanche/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx rename to content/academy/avalanche/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx b/content/academy/avalanche/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx rename to content/academy/avalanche/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx b/content/academy/avalanche/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx rename to content/academy/avalanche/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx b/content/academy/avalanche/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx rename to content/academy/avalanche/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx b/content/academy/avalanche/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx rename to content/academy/avalanche/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx b/content/academy/avalanche/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx rename to content/academy/avalanche/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/14-scaling-decimals/02-example.mdx b/content/academy/avalanche/interchain-token-transfer/14-scaling-decimals/02-example.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/14-scaling-decimals/02-example.mdx rename to content/academy/avalanche/interchain-token-transfer/14-scaling-decimals/02-example.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/certificate.mdx b/content/academy/avalanche/interchain-token-transfer/certificate.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/certificate.mdx rename to content/academy/avalanche/interchain-token-transfer/certificate.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/index.mdx b/content/academy/avalanche/interchain-token-transfer/index.mdx similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/index.mdx rename to content/academy/avalanche/interchain-token-transfer/index.mdx diff --git a/content/academy/avalanche-developer/interchain-token-transfer/meta.json b/content/academy/avalanche/interchain-token-transfer/meta.json similarity index 100% rename from content/academy/avalanche-developer/interchain-token-transfer/meta.json rename to content/academy/avalanche/interchain-token-transfer/meta.json diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx b/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx rename to content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx b/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx rename to content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx b/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx rename to content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx b/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx rename to content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx b/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx rename to content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx b/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx rename to content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx b/content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx rename to content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx b/content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx rename to content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx b/content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx rename to content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx b/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx rename to content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx b/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx rename to content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx b/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx rename to content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx b/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx rename to content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx b/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx rename to content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx b/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx rename to content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx b/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx rename to content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/01-introduction.mdx b/content/academy/avalanche/l1-native-tokenomics/03-precompiles/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/01-introduction.mdx rename to content/academy/avalanche/l1-native-tokenomics/03-precompiles/01-introduction.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/02-precompiles.mdx b/content/academy/avalanche/l1-native-tokenomics/03-precompiles/02-precompiles.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/02-precompiles.mdx rename to content/academy/avalanche/l1-native-tokenomics/03-precompiles/02-precompiles.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx b/content/academy/avalanche/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx rename to content/academy/avalanche/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/01-introduction.mdx b/content/academy/avalanche/l1-native-tokenomics/04-native-minter/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/01-introduction.mdx rename to content/academy/avalanche/l1-native-tokenomics/04-native-minter/01-introduction.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx b/content/academy/avalanche/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx rename to content/academy/avalanche/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx b/content/academy/avalanche/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx rename to content/academy/avalanche/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/01-introduction.mdx b/content/academy/avalanche/l1-native-tokenomics/05-fee-config/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/01-introduction.mdx rename to content/academy/avalanche/l1-native-tokenomics/05-fee-config/01-introduction.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx b/content/academy/avalanche/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx rename to content/academy/avalanche/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx b/content/academy/avalanche/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx rename to content/academy/avalanche/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx b/content/academy/avalanche/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx rename to content/academy/avalanche/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx b/content/academy/avalanche/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx rename to content/academy/avalanche/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx b/content/academy/avalanche/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx rename to content/academy/avalanche/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx b/content/academy/avalanche/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx rename to content/academy/avalanche/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/08-governance/01-introduction.mdx b/content/academy/avalanche/l1-native-tokenomics/08-governance/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/08-governance/01-introduction.mdx rename to content/academy/avalanche/l1-native-tokenomics/08-governance/01-introduction.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/08-governance/02-governance-models.mdx b/content/academy/avalanche/l1-native-tokenomics/08-governance/02-governance-models.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/08-governance/02-governance-models.mdx rename to content/academy/avalanche/l1-native-tokenomics/08-governance/02-governance-models.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/08-governance/03-daos.mdx b/content/academy/avalanche/l1-native-tokenomics/08-governance/03-daos.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/08-governance/03-daos.mdx rename to content/academy/avalanche/l1-native-tokenomics/08-governance/03-daos.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx b/content/academy/avalanche/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx rename to content/academy/avalanche/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/08-governance/05-governance-20.mdx b/content/academy/avalanche/l1-native-tokenomics/08-governance/05-governance-20.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/08-governance/05-governance-20.mdx rename to content/academy/avalanche/l1-native-tokenomics/08-governance/05-governance-20.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/dappVsL1.mdx b/content/academy/avalanche/l1-native-tokenomics/dappVsL1.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/dappVsL1.mdx rename to content/academy/avalanche/l1-native-tokenomics/dappVsL1.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/index.mdx b/content/academy/avalanche/l1-native-tokenomics/index.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/index.mdx rename to content/academy/avalanche/l1-native-tokenomics/index.mdx diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/meta.json b/content/academy/avalanche/l1-native-tokenomics/meta.json similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/meta.json rename to content/academy/avalanche/l1-native-tokenomics/meta.json diff --git a/content/academy/avalanche-developer/l1-native-tokenomics/token-ownership.mdx b/content/academy/avalanche/l1-native-tokenomics/token-ownership.mdx similarity index 100% rename from content/academy/avalanche-developer/l1-native-tokenomics/token-ownership.mdx rename to content/academy/avalanche/l1-native-tokenomics/token-ownership.mdx diff --git a/content/academy/avalanche-developer/meta.json b/content/academy/avalanche/meta.json similarity index 100% rename from content/academy/avalanche-developer/meta.json rename to content/academy/avalanche/meta.json diff --git a/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx similarity index 100% rename from content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx rename to content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx diff --git a/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx similarity index 100% rename from content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx rename to content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx diff --git a/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx similarity index 100% rename from content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx rename to content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx diff --git a/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx similarity index 100% rename from content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx rename to content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx diff --git a/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx similarity index 100% rename from content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx rename to content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx diff --git a/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx similarity index 100% rename from content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx rename to content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx diff --git a/content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx similarity index 100% rename from content/academy/avalanche-developer/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx rename to content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx diff --git a/content/academy/avalanche-developer/multi-chain-architecture/certificate.mdx b/content/academy/avalanche/multi-chain-architecture/certificate.mdx similarity index 100% rename from content/academy/avalanche-developer/multi-chain-architecture/certificate.mdx rename to content/academy/avalanche/multi-chain-architecture/certificate.mdx diff --git a/content/academy/avalanche-developer/multi-chain-architecture/index.mdx b/content/academy/avalanche/multi-chain-architecture/index.mdx similarity index 100% rename from content/academy/avalanche-developer/multi-chain-architecture/index.mdx rename to content/academy/avalanche/multi-chain-architecture/index.mdx diff --git a/content/academy/avalanche-developer/multi-chain-architecture/meta.json b/content/academy/avalanche/multi-chain-architecture/meta.json similarity index 100% rename from content/academy/avalanche-developer/multi-chain-architecture/meta.json rename to content/academy/avalanche/multi-chain-architecture/meta.json diff --git a/content/academy/avalanche-developer/permissioned-l1s/01-introduction/01-pchain-review.mdx b/content/academy/avalanche/permissioned-l1s/01-introduction/01-pchain-review.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/01-introduction/01-pchain-review.mdx rename to content/academy/avalanche/permissioned-l1s/01-introduction/01-pchain-review.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/01-introduction/02-multi-chain-review.mdx b/content/academy/avalanche/permissioned-l1s/01-introduction/02-multi-chain-review.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/01-introduction/02-multi-chain-review.mdx rename to content/academy/avalanche/permissioned-l1s/01-introduction/02-multi-chain-review.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/01-introduction/03-interop.mdx b/content/academy/avalanche/permissioned-l1s/01-introduction/03-interop.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/01-introduction/03-interop.mdx rename to content/academy/avalanche/permissioned-l1s/01-introduction/03-interop.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/01-introduction/04-proxy-pattern.mdx b/content/academy/avalanche/permissioned-l1s/01-introduction/04-proxy-pattern.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/01-introduction/04-proxy-pattern.mdx rename to content/academy/avalanche/permissioned-l1s/01-introduction/04-proxy-pattern.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx b/content/academy/avalanche/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx rename to content/academy/avalanche/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx b/content/academy/avalanche/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx rename to content/academy/avalanche/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx b/content/academy/avalanche/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx rename to content/academy/avalanche/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx b/content/academy/avalanche/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx rename to content/academy/avalanche/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx b/content/academy/avalanche/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx rename to content/academy/avalanche/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx b/content/academy/avalanche/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx rename to content/academy/avalanche/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx b/content/academy/avalanche/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx rename to content/academy/avalanche/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx b/content/academy/avalanche/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx rename to content/academy/avalanche/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx b/content/academy/avalanche/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx rename to content/academy/avalanche/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx b/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx rename to content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx b/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx rename to content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx b/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx rename to content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx b/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx rename to content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx b/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx rename to content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx b/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx rename to content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx b/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx rename to content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx b/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx rename to content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx b/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx rename to content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx b/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx rename to content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx b/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx rename to content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx b/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx rename to content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx b/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx rename to content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx b/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx rename to content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx b/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx rename to content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx b/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx rename to content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx b/content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx rename to content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx b/content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx rename to content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx b/content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx rename to content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx b/content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx rename to content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/XX-registering-validator/registering-validator.mdx b/content/academy/avalanche/permissioned-l1s/XX-registering-validator/registering-validator.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/XX-registering-validator/registering-validator.mdx rename to content/academy/avalanche/permissioned-l1s/XX-registering-validator/registering-validator.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx b/content/academy/avalanche/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx rename to content/academy/avalanche/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/certificate.mdx b/content/academy/avalanche/permissioned-l1s/certificate.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/certificate.mdx rename to content/academy/avalanche/permissioned-l1s/certificate.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/index.mdx b/content/academy/avalanche/permissioned-l1s/index.mdx similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/index.mdx rename to content/academy/avalanche/permissioned-l1s/index.mdx diff --git a/content/academy/avalanche-developer/permissioned-l1s/meta.json b/content/academy/avalanche/permissioned-l1s/meta.json similarity index 100% rename from content/academy/avalanche-developer/permissioned-l1s/meta.json rename to content/academy/avalanche/permissioned-l1s/meta.json diff --git a/content/academy/avalanche-developer/permissionless-l1s/01-review/01-pchain-review.mdx b/content/academy/avalanche/permissionless-l1s/01-review/01-pchain-review.mdx similarity index 54% rename from content/academy/avalanche-developer/permissionless-l1s/01-review/01-pchain-review.mdx rename to content/academy/avalanche/permissionless-l1s/01-review/01-pchain-review.mdx index dfe0997110e..773e69e726a 100644 --- a/content/academy/avalanche-developer/permissionless-l1s/01-review/01-pchain-review.mdx +++ b/content/academy/avalanche/permissionless-l1s/01-review/01-pchain-review.mdx @@ -6,6 +6,6 @@ authors: [nicolasarnedo] icon: Book --- -import PChainReview from '@/content/academy/avalanche-developer/permissioned-l1s/01-introduction/01-pchain-review.mdx'; +import PChainReview from '@/content/academy/avalanche/permissioned-l1s/01-introduction/01-pchain-review.mdx'; diff --git a/content/academy/avalanche-developer/permissionless-l1s/01-review/02-multi-chain-review.mdx b/content/academy/avalanche/permissionless-l1s/01-review/02-multi-chain-review.mdx similarity index 58% rename from content/academy/avalanche-developer/permissionless-l1s/01-review/02-multi-chain-review.mdx rename to content/academy/avalanche/permissionless-l1s/01-review/02-multi-chain-review.mdx index cfeb218721e..bb182faff19 100644 --- a/content/academy/avalanche-developer/permissionless-l1s/01-review/02-multi-chain-review.mdx +++ b/content/academy/avalanche/permissionless-l1s/01-review/02-multi-chain-review.mdx @@ -6,6 +6,6 @@ authors: [nicolasarnedo] icon: BookOpen --- -import MultiChainReview from '@/content/academy/avalanche-developer/permissioned-l1s/01-introduction/02-multi-chain-review.mdx'; +import MultiChainReview from '@/content/academy/avalanche/permissioned-l1s/01-introduction/02-multi-chain-review.mdx'; diff --git a/content/academy/avalanche-developer/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx b/content/academy/avalanche/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx similarity index 100% rename from content/academy/avalanche-developer/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx rename to content/academy/avalanche/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx diff --git a/content/academy/avalanche-developer/permissionless-l1s/01-review/04-native-tokenomics-review.mdx b/content/academy/avalanche/permissionless-l1s/01-review/04-native-tokenomics-review.mdx similarity index 100% rename from content/academy/avalanche-developer/permissionless-l1s/01-review/04-native-tokenomics-review.mdx rename to content/academy/avalanche/permissionless-l1s/01-review/04-native-tokenomics-review.mdx diff --git a/content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/01-introduction.mdx b/content/academy/avalanche/permissionless-l1s/02-proof-of-stake/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/01-introduction.mdx rename to content/academy/avalanche/permissionless-l1s/02-proof-of-stake/01-introduction.mdx diff --git a/content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx b/content/academy/avalanche/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx similarity index 100% rename from content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx rename to content/academy/avalanche/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx diff --git a/content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx b/content/academy/avalanche/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx similarity index 100% rename from content/academy/avalanche-developer/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx rename to content/academy/avalanche/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx diff --git a/content/academy/avalanche-developer/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx b/content/academy/avalanche/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx similarity index 100% rename from content/academy/avalanche-developer/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx rename to content/academy/avalanche/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx diff --git a/content/academy/avalanche-developer/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx b/content/academy/avalanche/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx similarity index 100% rename from content/academy/avalanche-developer/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx rename to content/academy/avalanche/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx diff --git a/content/academy/avalanche-developer/permissionless-l1s/certificate.mdx b/content/academy/avalanche/permissionless-l1s/certificate.mdx similarity index 100% rename from content/academy/avalanche-developer/permissionless-l1s/certificate.mdx rename to content/academy/avalanche/permissionless-l1s/certificate.mdx diff --git a/content/academy/avalanche-developer/permissionless-l1s/index.mdx b/content/academy/avalanche/permissionless-l1s/index.mdx similarity index 100% rename from content/academy/avalanche-developer/permissionless-l1s/index.mdx rename to content/academy/avalanche/permissionless-l1s/index.mdx diff --git a/content/academy/avalanche-developer/permissionless-l1s/meta.json b/content/academy/avalanche/permissionless-l1s/meta.json similarity index 100% rename from content/academy/avalanche-developer/permissionless-l1s/meta.json rename to content/academy/avalanche/permissionless-l1s/meta.json diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx b/content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx rename to content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/01-what-is-a-blockchain.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx b/content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx rename to content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/02-decentralized-computer.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx b/content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx rename to content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/03-decentralized-applications.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx b/content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx rename to content/academy/blockchain/blockchain-fundamentals/02-what-is-a-blockchain/04-use-cases.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx b/content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx rename to content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/01-payments-use-case.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx b/content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx rename to content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/02-account-balances-transfers.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx b/content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx rename to content/academy/blockchain/blockchain-fundamentals/03-payments-use-case/03-ledger.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/04-signatures/01-signatures.mdx b/content/academy/blockchain/blockchain-fundamentals/04-signatures/01-signatures.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/04-signatures/01-signatures.mdx rename to content/academy/blockchain/blockchain-fundamentals/04-signatures/01-signatures.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx b/content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx rename to content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/01-tx-ordering-through-consensus.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx b/content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx rename to content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/02-longest-chain-consensus.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx b/content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx rename to content/academy/blockchain/blockchain-fundamentals/04-tx-ordering-through-consensus/xx-tx-lifecycle.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx b/content/academy/blockchain/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx rename to content/academy/blockchain/blockchain-fundamentals/05-sybil-protection/01-sybil-protection.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx b/content/academy/blockchain/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx rename to content/academy/blockchain/blockchain-fundamentals/06-smart-contracts/01-smart-contracts.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/01-native-tokens.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/02-erc-20-tokens.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/03-deploy-and-transfer-erc-20-tokens.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/04-wrapped-tokens.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/05-deploy-and-interact-wrapped-tokens.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx b/content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx rename to content/academy/blockchain/blockchain-fundamentals/07-independent-tokenomics/06-token-decimals.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx b/content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx rename to content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/01-vms-and-blockchains.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx b/content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx rename to content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/02-state-machine.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx b/content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx rename to content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/03-blockchains.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx b/content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx rename to content/academy/blockchain/blockchain-fundamentals/08-vms-and-blockchains/04-variety-of-vm.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/get-certificate.mdx b/content/academy/blockchain/blockchain-fundamentals/get-certificate.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/get-certificate.mdx rename to content/academy/blockchain/blockchain-fundamentals/get-certificate.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/index.mdx b/content/academy/blockchain/blockchain-fundamentals/index.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/index.mdx rename to content/academy/blockchain/blockchain-fundamentals/index.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/meta.json b/content/academy/blockchain/blockchain-fundamentals/meta.json similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/meta.json rename to content/academy/blockchain/blockchain-fundamentals/meta.json diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/xx-decentralization.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-decentralization.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/xx-decentralization.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-decentralization.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/xx-regulation/01-regulation.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-regulation/01-regulation.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/xx-regulation/01-regulation.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-regulation/01-regulation.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/02-proof-of-work.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/03-proof-of-stake.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-tbd-sections/xx-signature-schemes.mdx diff --git a/content/academy/blockchain-developer/blockchain-fundamentals/xx-tokens.mdx b/content/academy/blockchain/blockchain-fundamentals/xx-tokens.mdx similarity index 100% rename from content/academy/blockchain-developer/blockchain-fundamentals/xx-tokens.mdx rename to content/academy/blockchain/blockchain-fundamentals/xx-tokens.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx b/content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx rename to content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/01-digital-assets-overview.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx b/content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx rename to content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/02-current-uses.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx b/content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx rename to content/academy/blockchain/encrypted-erc/01-what-is-a-digital-asset/03-limitations.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx b/content/academy/blockchain/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx rename to content/academy/blockchain/encrypted-erc/02-real-privacy/01-how-private-is-the-blockchain.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/02-real-privacy/02-compliance.mdx b/content/academy/blockchain/encrypted-erc/02-real-privacy/02-compliance.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/02-real-privacy/02-compliance.mdx rename to content/academy/blockchain/encrypted-erc/02-real-privacy/02-compliance.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx b/content/academy/blockchain/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx rename to content/academy/blockchain/encrypted-erc/02-real-privacy/03-necessities-solved-with-privacy.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx b/content/academy/blockchain/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx rename to content/academy/blockchain/encrypted-erc/03-encrypted-tokens/01-privacity-eerc.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/02-comparison.mdx b/content/academy/blockchain/encrypted-erc/03-encrypted-tokens/02-comparison.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/02-comparison.mdx rename to content/academy/blockchain/encrypted-erc/03-encrypted-tokens/02-comparison.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx b/content/academy/blockchain/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx rename to content/academy/blockchain/encrypted-erc/03-encrypted-tokens/03-technology-behind.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx b/content/academy/blockchain/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx rename to content/academy/blockchain/encrypted-erc/04-usability-eerc/01-deployments-mode.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/04-usability-eerc/02-use-cases.mdx b/content/academy/blockchain/encrypted-erc/04-usability-eerc/02-use-cases.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/04-usability-eerc/02-use-cases.mdx rename to content/academy/blockchain/encrypted-erc/04-usability-eerc/02-use-cases.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx b/content/academy/blockchain/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx rename to content/academy/blockchain/encrypted-erc/05-eerc-contracts-flow/01-step-by-step.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/index.mdx b/content/academy/blockchain/encrypted-erc/index.mdx similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/index.mdx rename to content/academy/blockchain/encrypted-erc/index.mdx diff --git a/content/academy/blockchain-developer/encrypted-erc/meta.json b/content/academy/blockchain/encrypted-erc/meta.json similarity index 100% rename from content/academy/blockchain-developer/encrypted-erc/meta.json rename to content/academy/blockchain/encrypted-erc/meta.json diff --git a/content/academy/blockchain-developer/meta.json b/content/academy/blockchain/meta.json similarity index 100% rename from content/academy/blockchain-developer/meta.json rename to content/academy/blockchain/meta.json diff --git a/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/01-avalanche-starter-kit.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/02-set-up.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/03-close-and-reopen-codespace.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/03-create-blockchain.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/04-networks.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx b/content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx rename to content/academy/blockchain/solidity-foundry/02-avalanche-starter-kit/05-pause-and-resume.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx b/content/academy/blockchain/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx rename to content/academy/blockchain/solidity-foundry/03-smart-contracts/01-building-programs-on-blockchain.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx b/content/academy/blockchain/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx rename to content/academy/blockchain/solidity-foundry/03-smart-contracts/02-what-is-solidity.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx b/content/academy/blockchain/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx rename to content/academy/blockchain/solidity-foundry/03-smart-contracts/03-foundry-quickstart.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx b/content/academy/blockchain/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx rename to content/academy/blockchain/solidity-foundry/03-smart-contracts/04-create-new-smart-contract.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/01-intro.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/01-intro.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/01-intro.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/01-intro.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/02-primitive-value-and-types.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/03-functions.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/03-functions.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/03-functions.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/03-functions.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/04-contracts.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/04-contracts.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/04-contracts.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/04-contracts.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/05-solidity-file-structure.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx b/content/academy/blockchain/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx rename to content/academy/blockchain/solidity-foundry/04-hello-world-part-1/06-build-basic-smart-contract.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/01-intro.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/01-intro.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/01-intro.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/01-intro.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/02-control-flow.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/03-data-structures.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/04-contract-constructor.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/05-modifiers.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/06-events.mdx b/content/academy/blockchain/solidity-foundry/05-hello-world-part-2/06-events.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/05-hello-world-part-2/06-events.mdx rename to content/academy/blockchain/solidity-foundry/05-hello-world-part-2/06-events.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx b/content/academy/blockchain/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx rename to content/academy/blockchain/solidity-foundry/06-contract-standarization/01-contract-standarization.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/02-inheritance.mdx b/content/academy/blockchain/solidity-foundry/06-contract-standarization/02-inheritance.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/02-inheritance.mdx rename to content/academy/blockchain/solidity-foundry/06-contract-standarization/02-inheritance.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/03-interfaces.mdx b/content/academy/blockchain/solidity-foundry/06-contract-standarization/03-interfaces.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/03-interfaces.mdx rename to content/academy/blockchain/solidity-foundry/06-contract-standarization/03-interfaces.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/04-abstract.mdx b/content/academy/blockchain/solidity-foundry/06-contract-standarization/04-abstract.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/06-contract-standarization/04-abstract.mdx rename to content/academy/blockchain/solidity-foundry/06-contract-standarization/04-abstract.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx b/content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx rename to content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/01-erc20-intro.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx b/content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx rename to content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/02-technical-walkthrough.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx b/content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx rename to content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/03-interacting-with-erc20-tokens.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx b/content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx rename to content/academy/blockchain/solidity-foundry/07-erc20-smart-contracts/04-deploying-your-erc20-token.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx b/content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx rename to content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/01-erc721-intro.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx b/content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx rename to content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/02-technical-walkthrough.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx b/content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx rename to content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/03-interacting-with-erc721-tokens.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx b/content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx rename to content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/04-deploying-your-erc721-token.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx b/content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx rename to content/academy/blockchain/solidity-foundry/08-erc721-smart-contracts/05-uris.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/index.mdx b/content/academy/blockchain/solidity-foundry/index.mdx similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/index.mdx rename to content/academy/blockchain/solidity-foundry/index.mdx diff --git a/content/academy/blockchain-developer/solidity-foundry/meta.json b/content/academy/blockchain/solidity-foundry/meta.json similarity index 100% rename from content/academy/blockchain-developer/solidity-foundry/meta.json rename to content/academy/blockchain/solidity-foundry/meta.json diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/02-legal-jurisdiction.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/03-token-classification.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/04-legal-documentation.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/05-intellectual-property.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/06-ongoing-compliance.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/07-applying-frameworks.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/08-key-takeaways.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx similarity index 84% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx index 5fbe5c38198..5867640c8db 100644 --- a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx +++ b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/09-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Legal Foundations module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx new file mode 100644 index 00000000000..d7e49dcb4d3 --- /dev/null +++ b/content/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/10-quiz.mdx @@ -0,0 +1,15 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of legal structures for Web3 +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + +Great work finishing **[Module 1A](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction)**! 🎉 Completing a single module is a fantastic achievement on its own, but if you want to be certified, you'll need to complete [Module 1A](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction) to unlock the Foundations of a Web3 Venture certificate. Keep going—you're on your way! 🚀 diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/02-assessing-security.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/03-it-governance.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/04-cryptographic-assets.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/05-data-strategy.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/06-key-takeaways.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx similarity index 84% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx rename to content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx index f8947c63f9b..328428a53f6 100644 --- a/content/academy/avalanche-entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx +++ b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/07-flashcards.mdx @@ -12,7 +12,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Security Fundamentals module -- after, you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx new file mode 100644 index 00000000000..515f4b82fca --- /dev/null +++ b/content/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/08-quiz.mdx @@ -0,0 +1,19 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of security fundamentals for Web3 +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + + + +Great work finishing **[Module 1B](/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction)**! 🎉 Completing a single module is a fantastic achievement on its own, but if you want to be certified, you'll need to complete [Module 1A](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction) to unlock the Foundations of a Web3 Venture certificate. Keep going—you're on your way! 🚀 diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/02-understanding-canvas.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/03-applying-canvas.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/04-key-takeaways.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx similarity index 85% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx index 45a42e73e58..167a2b37226 100644 --- a/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx +++ b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/05-flashcards.mdx @@ -15,7 +15,7 @@ Study these key terms and concepts to solidify your understanding of the Busines Use these flashcards to revise your knowledge of some of the most important concepts of the Business Model Canvas module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx new file mode 100644 index 00000000000..ae57a800078 --- /dev/null +++ b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/06-quiz.mdx @@ -0,0 +1,19 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of Business Model Canvas for Web3 +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + + + +Awesome progress! **[Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction)** is done, which is a big win. Remember, while completing a single module is great, certification comes when you finish [Module 1A](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction), [Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction) and unlock the Foundations of a Web3 Venture certificate. Stay focused! 🌟 diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx b/content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx rename to content/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/07-additional-learning.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/02-finding-first-users.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/03-asking-right-questions.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/04-why-engagement-matters.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/05-engagement-strategy.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/06-key-takeaways.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx similarity index 85% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx rename to content/academy/entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx index 138b95fd309..64ce5aaf240 100644 --- a/content/academy/avalanche-entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx +++ b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/07-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the User Personas module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx new file mode 100644 index 00000000000..a574e2c5b44 --- /dev/null +++ b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/08-quiz.mdx @@ -0,0 +1,17 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of User Personas in Web3 +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + +Congratulations! You've completed **[Module 3](/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction)**! 🎉 If you've also finished [Module 1A](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 1B](/academy/entrepreneur/foundations-web3-venture/01b-security-fundamentals/01-introduction), and [Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction), you've now unlocked the **Foundations of a Web3 Venture** certificate! Head to your Builder's Hub profile to download it. Amazing work! 🚀 diff --git a/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx new file mode 100644 index 00000000000..26372ff43bb --- /dev/null +++ b/content/academy/entrepreneur/foundations-web3-venture/03-user-personas/09-additional-learning.mdx @@ -0,0 +1,13 @@ +--- +title: Additional Learning +description: Resources for further exploration of user research +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: BookOpen +--- + +[User Interviews 101 (NN/g)](https://www.nngroup.com/articles/user-interviews/) - Nielsen Norman Group + +[The "Mom Test" Book](https://www.momtestbook.com/) - Rob Fitzpatrick + +Did you complete [Module 1](/academy/entrepreneur/foundations-web3-venture/01-legal-foundations/01-introduction), [Module 2](/academy/entrepreneur/foundations-web3-venture/02-business-model-canvas/01-introduction), and [Module 3](/academy/entrepreneur/foundations-web3-venture/03-user-personas/01-introduction)? Congratulations! Claim your free "**Foundations of a Web3 Venture**" certificate. \ No newline at end of file diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/certificate.mdx b/content/academy/entrepreneur/foundations-web3-venture/certificate.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/certificate.mdx rename to content/academy/entrepreneur/foundations-web3-venture/certificate.mdx diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/index.mdx b/content/academy/entrepreneur/foundations-web3-venture/index.mdx similarity index 88% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/index.mdx rename to content/academy/entrepreneur/foundations-web3-venture/index.mdx index c536e19b1ef..2fd163a50dc 100644 --- a/content/academy/avalanche-entrepreneur/foundations-web3-venture/index.mdx +++ b/content/academy/entrepreneur/foundations-web3-venture/index.mdx @@ -1,5 +1,5 @@ --- -title: Codebase Entrepreneur Academy +title: Entrepreneur Academy description: Building a Successful Web3 Startup updated: 2025-07-31 authors: [nicolasarnedo] @@ -12,7 +12,7 @@ icon: Smile loop playsInline > - + Your browser does not support the video tag. diff --git a/content/academy/avalanche-entrepreneur/foundations-web3-venture/meta.json b/content/academy/entrepreneur/foundations-web3-venture/meta.json similarity index 100% rename from content/academy/avalanche-entrepreneur/foundations-web3-venture/meta.json rename to content/academy/entrepreneur/foundations-web3-venture/meta.json diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/02-fundraising-process.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/03-why-fundraising-matters.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/04-implementing-strategy.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/05-key-takeaways.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx similarity index 84% rename from content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx index aed26775a63..7b437057707 100644 --- a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx +++ b/content/academy/entrepreneur/fundraising-finance/09-fundraising/06-additional-learning.mdx @@ -8,7 +8,7 @@ icon: BookOpen ## Additional Learning -Fundraising Pressure Testing: [Prepare for your Mock Pitch](/codebase-entrepreneur-academy/fundraising-finance/09-fundraising/09-prepare-mock-pitch) +Fundraising Pressure Testing: [Prepare for your Mock Pitch](/academy/entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch) ### Recommended Resources diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx similarity index 85% rename from content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx index b2940390ad6..fab175e99af 100644 --- a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx +++ b/content/academy/entrepreneur/fundraising-finance/09-fundraising/07-flashcards.mdx @@ -15,7 +15,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Fundraising module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx new file mode 100644 index 00000000000..865b3de1751 --- /dev/null +++ b/content/academy/entrepreneur/fundraising-finance/09-fundraising/08-quiz.mdx @@ -0,0 +1,15 @@ +--- +title: Test Your Knowledge +description: Test your understanding of fundraising concepts +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + +Fantastic work finishing [Module 9](/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction)! Completing one module is always impressive, but to be certified at this level, you'll need to finish [Module 9](/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction), [Module 10](/academy/entrepreneur/fundraising-finance/10-grants/01-introduction), and [Module 11](/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction) to unlock the Web3 Fundraising & Finance Pro certificate. Keep pushing! 💼 diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx b/content/academy/entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx rename to content/academy/entrepreneur/fundraising-finance/09-fundraising/09-prepare-mock-pitch.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/01-introduction.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/01-introduction.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/02-success-criteria.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/03-common-mistakes.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/04-beyond-funding.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/05-key-takeaways.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx similarity index 86% rename from content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx rename to content/academy/entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx index b37ef6bc88b..02db8e13467 100644 --- a/content/academy/avalanche-entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx +++ b/content/academy/entrepreneur/fundraising-finance/10-grants/06-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Grants module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/fundraising-finance/10-grants/07-quiz.mdx b/content/academy/entrepreneur/fundraising-finance/10-grants/07-quiz.mdx new file mode 100644 index 00000000000..c92de5481a5 --- /dev/null +++ b/content/academy/entrepreneur/fundraising-finance/10-grants/07-quiz.mdx @@ -0,0 +1,19 @@ +--- +title: Test Your Knowledge +description: Quick quiz to assess understanding +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + + + +Excellent progress on [Module 10](/academy/entrepreneur/fundraising-finance/10-grants/01-introduction)! You're making great strides. Remember, to unlock the Web3 Fundraising & Finance Pro certificate, you'll need to complete [Module 9](/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction), [Module 10](/academy/entrepreneur/fundraising-finance/10-grants/01-introduction), and [Module 11](/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction). Keep up the momentum! 💰 diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/02-effective-pitch-storytelling.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/03-building-credibility.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/04-advanced-techniques.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/05-pitch-success.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/06-why-it-matters.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/07-applying.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/07-applying.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/07-applying.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/07-applying.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/08-key-takeways.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx similarity index 85% rename from content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx rename to content/academy/entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx index 8937da831ba..b82b279a619 100644 --- a/content/academy/avalanche-entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx +++ b/content/academy/entrepreneur/fundraising-finance/11-pitching/09-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Pitching module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx b/content/academy/entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx new file mode 100644 index 00000000000..8c6494b78b7 --- /dev/null +++ b/content/academy/entrepreneur/fundraising-finance/11-pitching/10-quiz.mdx @@ -0,0 +1,15 @@ +--- +title: Test Your Knowledge +description: Test your understanding of pitching concepts +updated: 2025-01-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + +Congratulations on completing [Module 11](/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction)! You've now mastered the art of pitching - a critical skill for any entrepreneur. If you've also completed [Module 9](/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction) and [Module 10](/academy/entrepreneur/fundraising-finance/10-grants/01-introduction), you've unlocked the **Web3 Fundraising & Finance Pro** certificate! Check your Builder's Hub profile to download it. Your fundraising journey is complete! 🚀 \ No newline at end of file diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/certificate.mdx b/content/academy/entrepreneur/fundraising-finance/certificate.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/certificate.mdx rename to content/academy/entrepreneur/fundraising-finance/certificate.mdx diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/index.mdx b/content/academy/entrepreneur/fundraising-finance/index.mdx similarity index 91% rename from content/academy/avalanche-entrepreneur/fundraising-finance/index.mdx rename to content/academy/entrepreneur/fundraising-finance/index.mdx index 01aa3e6fe1e..93b726a4ad8 100644 --- a/content/academy/avalanche-entrepreneur/fundraising-finance/index.mdx +++ b/content/academy/entrepreneur/fundraising-finance/index.mdx @@ -13,7 +13,7 @@ icon: Smile loop playsInline > - + Your browser does not support the video tag. diff --git a/content/academy/avalanche-entrepreneur/fundraising-finance/meta.json b/content/academy/entrepreneur/fundraising-finance/meta.json similarity index 100% rename from content/academy/avalanche-entrepreneur/fundraising-finance/meta.json rename to content/academy/entrepreneur/fundraising-finance/meta.json diff --git a/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/02-structured-framework.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/03-web3-market-considerations.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/04-optimizing-execution.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/05-applying-principles.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/06-key-takeaways.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx similarity index 86% rename from content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx rename to content/academy/entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx index df38d8a26e4..4551ffb96b4 100644 --- a/content/academy/avalanche-entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx +++ b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/07-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the GTM Strategies module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx new file mode 100644 index 00000000000..f2c512fd293 --- /dev/null +++ b/content/academy/entrepreneur/go-to-market/04-gtm-strategies/08-quiz.mdx @@ -0,0 +1,19 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of go-to-market strategies +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + + + +Fantastic! You've wrapped up **[Module 4](/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction)**, which is a great accomplishment on its own. But to be certified at this level, you'll need to complete [Module 4](/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction), [Module 5](/academy/entrepreneur/go-to-market/05-sales/01-introduction), and [Module 6](/academy/entrepreneur/go-to-market/06-pricing/01-introduction) and unlock the Web3 Go-To-Market Strategist certificate. Keep going—you're on track! 🌍 diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/01-introduction.mdx b/content/academy/entrepreneur/go-to-market/05-sales/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/05-sales/01-introduction.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx b/content/academy/entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/02-defining-value-proposition.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx b/content/academy/entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/03-understanding-your-buyer.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx b/content/academy/entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/04-selling-during-mvp.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx b/content/academy/entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/05-managing-first-customers.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx b/content/academy/entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/06-outreach-and-sales-calls.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/07-managing-leads.mdx b/content/academy/entrepreneur/go-to-market/05-sales/07-managing-leads.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/05-sales/07-managing-leads.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/07-managing-leads.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx b/content/academy/entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/08-expanding-sales-team.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx b/content/academy/entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/09-key-takeaways.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/10-flashcards.mdx b/content/academy/entrepreneur/go-to-market/05-sales/10-flashcards.mdx similarity index 87% rename from content/academy/avalanche-entrepreneur/go-to-market/05-sales/10-flashcards.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/10-flashcards.mdx index a2eaf87c048..9219facfd44 100644 --- a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/10-flashcards.mdx +++ b/content/academy/entrepreneur/go-to-market/05-sales/10-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Sales module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/go-to-market/05-sales/11-quiz.mdx b/content/academy/entrepreneur/go-to-market/05-sales/11-quiz.mdx new file mode 100644 index 00000000000..11581423fad --- /dev/null +++ b/content/academy/entrepreneur/go-to-market/05-sales/11-quiz.mdx @@ -0,0 +1,17 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of Web3 sales strategies +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + + + +You're powering through! Finishing **[Module 5](/academy/entrepreneur/go-to-market/05-sales/01-introduction)** is amazing, but certification at this stage comes after you also complete [Module 4](/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction) and [Module 6](/academy/entrepreneur/go-to-market/06-pricing/01-introduction), which will earn you the Web3 Go-To-Market Strategist certificate. Don't stop now! 💡 diff --git a/content/academy/avalanche-entrepreneur/go-to-market/05-sales/12-additional-learning.mdx b/content/academy/entrepreneur/go-to-market/05-sales/12-additional-learning.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/05-sales/12-additional-learning.mdx rename to content/academy/entrepreneur/go-to-market/05-sales/12-additional-learning.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/01-introduction.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/06-pricing/01-introduction.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/02-understanding-web3-pricing-fundamentals.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/03-building-your-pricing-framework.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/04-selecting-the-right-pricing-model.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/05-cost-estimation-in-decentralized-systems.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/06-regional-adaptation-strategies.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/07-enterprise-client-approach.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/08-key-takeaways.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/09-flashcards.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/09-flashcards.mdx similarity index 86% rename from content/academy/avalanche-entrepreneur/go-to-market/06-pricing/09-flashcards.mdx rename to content/academy/entrepreneur/go-to-market/06-pricing/09-flashcards.mdx index 4b9c162b328..11ea6ef56cc 100644 --- a/content/academy/avalanche-entrepreneur/go-to-market/06-pricing/09-flashcards.mdx +++ b/content/academy/entrepreneur/go-to-market/06-pricing/09-flashcards.mdx @@ -12,7 +12,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Pricing module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/go-to-market/06-pricing/10-quiz.mdx b/content/academy/entrepreneur/go-to-market/06-pricing/10-quiz.mdx new file mode 100644 index 00000000000..73fb51e2ea9 --- /dev/null +++ b/content/academy/entrepreneur/go-to-market/06-pricing/10-quiz.mdx @@ -0,0 +1,19 @@ +--- +title: Test Your Knowledge +description: Interactive quiz to test your understanding of Web3 pricing strategies +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: BookOpen +--- + + + + + + + + + +Congrats on completing [Module 4](/academy/entrepreneur/go-to-market/04-gtm-strategies/01-introduction), [Module 5](/academy/entrepreneur/go-to-market/05-sales/01-introduction), and [Module 6](/academy/entrepreneur/go-to-market/06-pricing/01-introduction) of the Entrepreneur Academy! 🎉 You've now unlocked the **Web3 Go-To-Market Strategist** certificate, which is ready for you to download from your Builder's Hub profile. Be proud of this milestone and feel free to share your achievement with your network—you've earned it! 🚀 + +Looking ahead: by completing [Module 7](/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction) and [Module 8](/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction), you'll unlock the Web3 Community Architect certificate. After [Module 9](/academy/entrepreneur/fundraising-finance/09-fundraising/01-introduction), [Module 10](/academy/entrepreneur/fundraising-finance/10-grants/01-introduction), and [Module 11](/academy/entrepreneur/fundraising-finance/11-pitching/01-introduction), you'll achieve the Web3 Fundraising & Finance Pro certificate. And when you complete all 11 modules, you'll officially become a Certified Entrepreneur Academy Graduate—a huge accomplishment that showcases your full journey. 🌟 diff --git a/content/academy/avalanche-entrepreneur/go-to-market/certificate.mdx b/content/academy/entrepreneur/go-to-market/certificate.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/certificate.mdx rename to content/academy/entrepreneur/go-to-market/certificate.mdx diff --git a/content/academy/avalanche-entrepreneur/go-to-market/index.mdx b/content/academy/entrepreneur/go-to-market/index.mdx similarity index 91% rename from content/academy/avalanche-entrepreneur/go-to-market/index.mdx rename to content/academy/entrepreneur/go-to-market/index.mdx index ed7b39e0400..ce8b899f3e7 100644 --- a/content/academy/avalanche-entrepreneur/go-to-market/index.mdx +++ b/content/academy/entrepreneur/go-to-market/index.mdx @@ -13,7 +13,7 @@ icon: Smile loop playsInline > - + Your browser does not support the video tag. diff --git a/content/academy/avalanche-entrepreneur/go-to-market/meta.json b/content/academy/entrepreneur/go-to-market/meta.json similarity index 100% rename from content/academy/avalanche-entrepreneur/go-to-market/meta.json rename to content/academy/entrepreneur/go-to-market/meta.json diff --git a/content/academy/avalanche-entrepreneur/meta.json b/content/academy/entrepreneur/meta.json similarity index 100% rename from content/academy/avalanche-entrepreneur/meta.json rename to content/academy/entrepreneur/meta.json diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/02-understanding-your-foundation.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/03-social-media-strategy-blueprint.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/04-content-creation-without-full-team.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/05-scalable-content-strategies.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/06-content-iteration-and-observation.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/07-building-authentic-engagement.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/08-common-community-mistakes.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/09-event-planning-for-community.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/10-key-takeaways.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/11-additional-learning.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx similarity index 85% rename from content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx rename to content/academy/entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx index 5c619c78639..ada1768f4f1 100644 --- a/content/academy/avalanche-entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx +++ b/content/academy/entrepreneur/web3-community-architect/07-community-building/12-flashcards.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Community Building module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx b/content/academy/entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx new file mode 100644 index 00000000000..788635c8d1d --- /dev/null +++ b/content/academy/entrepreneur/web3-community-architect/07-community-building/13-quiz.mdx @@ -0,0 +1,15 @@ +--- +title: Test Your Knowledge +description: Test your understanding of community building concepts +updated: 2025-07-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + +Amazing job finishing [Module 7](/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction)! This is a big step forward. While completing a single module is fantastic, certification for this stage comes after [Module 7](/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction) and [Module 8](/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction), which will unlock the Web3 Community Architect certificate. You're almost there! 🌟 \ No newline at end of file diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/02-tokenomics.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/03-token-mechanics.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/04-pitfalls.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/05-why-they-matter.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/06-applying-startup.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/07-key-takeaway.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx similarity index 84% rename from content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx index a26f00d721e..08ec5d98b26 100644 --- a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx +++ b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/08-flashcard.mdx @@ -13,7 +13,7 @@ import { HelpCircle } from 'lucide-react'; Use these flashcards to revise your knowledge of some of the most important concepts of the Mastering Tokenomics module - after you will be ready to take the quiz. - +

diff --git a/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx new file mode 100644 index 00000000000..cf9b2404571 --- /dev/null +++ b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/09-quiz.mdx @@ -0,0 +1,15 @@ +--- +title: Test Your Knowledge +description: Test your understanding of tokenomics concepts +updated: 2025-01-31 +authors: [nicolasarnedo] +icon: Terminal +--- + + + + + + + +Amazing job finishing [Module 8](/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction)! This is a big step forward. While completing a single module is fantastic, certification for this stage comes after [Module 7](/academy/entrepreneur/web3-community-architect/07-community-building/01-introduction) and [Module 8](/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/01-introduction), which will unlock the Web3 Community Architect certificate. You're almost there! 🌟 diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx b/content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx rename to content/academy/entrepreneur/web3-community-architect/08-mastering-tokenomics/10-additional-learning.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/certificate.mdx b/content/academy/entrepreneur/web3-community-architect/certificate.mdx similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/certificate.mdx rename to content/academy/entrepreneur/web3-community-architect/certificate.mdx diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/index.mdx b/content/academy/entrepreneur/web3-community-architect/index.mdx similarity index 91% rename from content/academy/avalanche-entrepreneur/web3-community-architect/index.mdx rename to content/academy/entrepreneur/web3-community-architect/index.mdx index fd2c133f28b..4eb41117e88 100644 --- a/content/academy/avalanche-entrepreneur/web3-community-architect/index.mdx +++ b/content/academy/entrepreneur/web3-community-architect/index.mdx @@ -13,7 +13,7 @@ icon: Smile loop playsInline > - + Your browser does not support the video tag. diff --git a/content/academy/avalanche-entrepreneur/web3-community-architect/meta.json b/content/academy/entrepreneur/web3-community-architect/meta.json similarity index 100% rename from content/academy/avalanche-entrepreneur/web3-community-architect/meta.json rename to content/academy/entrepreneur/web3-community-architect/meta.json diff --git a/content/academy/meta.json b/content/academy/meta.json index 06855db45d7..3a85da02b27 100644 --- a/content/academy/meta.json +++ b/content/academy/meta.json @@ -1,7 +1,7 @@ { "pages": [ - "avalanche-developer", - "blockchain-developer", - "avalanche-entrepreneur" + "avalanche", + "blockchain", + "entrepreneur" ] } diff --git a/content/courses.tsx b/content/courses.tsx index b85c03cc1e2..ec1b38ba182 100644 --- a/content/courses.tsx +++ b/content/courses.tsx @@ -290,7 +290,7 @@ const ecosystemCourses: Course[] = [ }*/ ]; -const codebaseEntrepreneurCourses = officialCourses.filter((course) => course.category === "Codebase"); +const entrepreneurCourses = officialCourses.filter((course) => course.category === "Codebase"); // Helper function to create course configuration mappings export const getCourseConfig = () => { @@ -312,7 +312,7 @@ export const getCourseConfig = () => { export const getCourseNameMapping = () => { const mapping: Record = {}; - codebaseEntrepreneurCourses.forEach(course => { + entrepreneurCourses.forEach(course => { if (course.certificateTemplate) { mapping[course.slug] = course.name; } @@ -324,7 +324,7 @@ export const getCourseNameMapping = () => { export default { official: officialCourses.filter((course) => ["normal", "featured"].includes(course.status) && course.category !== "Codebase"), official_featured: officialCourses.filter((course) => course.status === "featured" && course.category !== "Codebase"), - codebaseEntrepreneur: codebaseEntrepreneurCourses, + codebaseEntrepreneur: entrepreneurCourses, ecosystem: ecosystemCourses, }; diff --git a/hooks/useCertificates.ts b/hooks/useCertificates.ts index adde7f602f2..0078a2bdd97 100644 --- a/hooks/useCertificates.ts +++ b/hooks/useCertificates.ts @@ -90,8 +90,12 @@ export function useCertificates(): UseCertificatesReturn { // Redirect after success setTimeout(() => { // Redirect to the appropriate academy page - if (courseId.startsWith('codebase-entrepreneur-')) { - router.push('/codebase-entrepreneur-academy'); + if ( + courseId.startsWith('codebase-entrepreneur-') || + courseId.startsWith('avalanche-entrepreneur-') || + courseId.startsWith('entrepreneur-') + ) { + router.push('/academy/entrepreneur'); } else { router.push('/academy'); } diff --git a/lib/source.ts b/lib/source.ts index 7f825437677..6df720ea913 100644 --- a/lib/source.ts +++ b/lib/source.ts @@ -96,8 +96,8 @@ export const academy = loader({ source: createMDXSource(course, courseMeta as any), }); -export const codebaseEntrepreneurAcademy = loader({ - baseUrl: '/codebase-entrepreneur-academy', +export const entrepreneurAcademy = loader({ + baseUrl: '/academy/entrepreneur', icon(icon) { if (icon && icon in icons) return createElement(icons[icon as keyof typeof icons]); diff --git a/next.config.mjs b/next.config.mjs index ee104d36a04..d887bd7a3ba 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -174,12 +174,32 @@ const config = { }, { source: '/codebase-entrepreneur', - destination: '/codebase-entrepreneur-academy', + destination: '/academy/entrepreneur', permanent: true, }, { source: '/codebase-entrepreneur/:path*', - destination: '/codebase-entrepreneur-academy/:path*', + destination: '/academy/entrepreneur/:path*', + permanent: true, + }, + { + source: '/codebase-entrepreneur-academy', + destination: '/academy/entrepreneur', + permanent: true, + }, + { + source: '/codebase-entrepreneur-academy/:path*', + destination: '/academy/entrepreneur/:path*', + permanent: true, + }, + { + source: '/avalanche-entrepreneur-academy', + destination: '/academy/entrepreneur', + permanent: true, + }, + { + source: '/avalanche-entrepreneur-academy/:path*', + destination: '/academy/entrepreneur/:path*', permanent: true, }, { @@ -189,7 +209,7 @@ const config = { }, { source: '/tools/l1-launcher', - destination: '/academy/avalanche-developer/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1', + destination: '/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1', permanent: true, }, { @@ -254,32 +274,32 @@ const config = { }, { source: '/academy/interchain-messaging/10-running-a-relayer/01-running-a-relayer', - destination: '/academy/avalanche-developer/interchain-messaging/10-running-a-relayer/01-relayer-introduction', + destination: '/academy/avalanche/interchain-messaging/10-running-a-relayer/01-relayer-introduction', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/02-control-the-avalanche-cli-relayer', - destination: '/academy/avalanche-developer/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/03-install-relayer', - destination: '/academy/avalanche-developer/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/05-multichain-relayer-config', - destination: '/academy/avalanche-developer/interchain-messaging/10-running-a-relayer/02-relayer-configuration#multichain-relayer-configuration', + destination: '/academy/avalanche/interchain-messaging/10-running-a-relayer/02-relayer-configuration#multichain-relayer-configuration', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/06-analyze-relayer-logs', - destination: '/academy/avalanche-developer/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/03-avalanche-starter-kit/03-create-blockchain', - destination: '/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/04-networks', + destination: '/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/04-networks', permanent: true, }, { source: '/academy/interchain-messaging/03-avalanche-starter-kit/06-pause-and-resume', - destination: '/academy/avalanche-developer/interchain-messaging/03-avalanche-starter-kit/04-networks', + destination: '/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/04-networks', permanent: true, }, { source: '/docs/subnets/customize-a-subnet', @@ -287,7 +307,7 @@ const config = { permanent: true, }, { source: '/docs/build/tutorials/platform/create-a-local-test-network', - destination: '/academy/avalanche-developer/avalanche-fundamentals', + destination: '/academy/avalanche/avalanche-fundamentals', permanent: true, }, { source: '/docs/api-reference/standards/guides/issuing-api-calls', @@ -359,22 +379,22 @@ const config = { permanent: true, }, { source: "/academy/l1-validator-management", - destination: "/academy/avalanche-developer/permissioned-l1s", + destination: "/academy/avalanche/permissioned-l1s", permanent: true, }, { source: "/academy/l1-validator-management/:path*", - destination: "/academy/avalanche-developer/permissioned-l1s/:path*", + destination: "/academy/avalanche/permissioned-l1s/:path*", permanent: true, }, { source: "/academy/l1-tokenomics", - destination: "/academy/avalanche-developer/l1-native-tokenomics", + destination: "/academy/avalanche/l1-native-tokenomics", permanent: true, }, { source: "/academy/l1-tokenomics/:path*", - destination: "/academy/avalanche-developer/l1-native-tokenomics/:path*", + destination: "/academy/avalanche/l1-native-tokenomics/:path*", permanent: true, }, { @@ -409,132 +429,132 @@ const config = { }, { source: "/academy/avalanche-fundamentals", - destination: "/academy/avalanche-developer/avalanche-fundamentals", + destination: "/academy/avalanche/avalanche-fundamentals", permanent: true, }, { source: "/academy/avalanche-fundamentals/:path*", - destination: "/academy/avalanche-developer/avalanche-fundamentals/:path*", + destination: "/academy/avalanche/avalanche-fundamentals/:path*", permanent: true, }, { source: "/academy/blockchain-fundamentals", - destination: "/academy/blockchain-developer/blockchain-fundamentals", + destination: "/academy/blockchain/blockchain-fundamentals", permanent: true, }, { source: "/academy/blockchain-fundamentals/:path*", - destination: "/academy/blockchain-developer/blockchain-fundamentals/:path*", + destination: "/academy/blockchain/blockchain-fundamentals/:path*", permanent: true, }, { source: "/academy/solidity-foundry", - destination: "/academy/blockchain-developer/solidity-foundry", + destination: "/academy/blockchain/solidity-foundry", permanent: true, }, { source: "/academy/solidity-foundry/:path*", - destination: "/academy/blockchain-developer/solidity-foundry/:path*", + destination: "/academy/blockchain/solidity-foundry/:path*", permanent: true, }, { source: "/academy/encrypted-erc", - destination: "/academy/blockchain-developer/encrypted-erc", + destination: "/academy/blockchain/encrypted-erc", permanent: true, }, { source: "/academy/encrypted-erc/:path*", - destination: "/academy/blockchain-developer/encrypted-erc/:path*", + destination: "/academy/blockchain/encrypted-erc/:path*", permanent: true, }, { source: "/academy/customizing-evm", - destination: "/academy/avalanche-developer/customizing-evm", + destination: "/academy/avalanche/customizing-evm", permanent: true, }, { source: "/academy/customizing-evm/:path*", - destination: "/academy/avalanche-developer/customizing-evm/:path*", + destination: "/academy/avalanche/customizing-evm/:path*", permanent: true, }, { source: "/academy/interchain-messaging", - destination: "/academy/avalanche-developer/interchain-messaging", + destination: "/academy/avalanche/interchain-messaging", permanent: true, }, { source: "/academy/interchain-messaging/:path*", - destination: "/academy/avalanche-developer/interchain-messaging/:path*", + destination: "/academy/avalanche/interchain-messaging/:path*", permanent: true, }, { source: "/academy/interchain-token-transfer", - destination: "/academy/avalanche-developer/interchain-token-transfer", + destination: "/academy/avalanche/interchain-token-transfer", permanent: true, }, { source: "/academy/interchain-token-transfer/:path*", - destination: "/academy/avalanche-developer/interchain-token-transfer/:path*", + destination: "/academy/avalanche/interchain-token-transfer/:path*", permanent: true, }, { source: "/academy/icm-chainlink", - destination: "/academy/avalanche-developer/icm-chainlink", + destination: "/academy/avalanche/icm-chainlink", permanent: true, }, { source: "/academy/icm-chainlink/:path*", - destination: "/academy/avalanche-developer/icm-chainlink/:path*", + destination: "/academy/avalanche/icm-chainlink/:path*", permanent: true, }, { source: "/academy/permissioned-l1s", - destination: "/academy/avalanche-developer/permissioned-l1s", + destination: "/academy/avalanche/permissioned-l1s", permanent: true, }, { source: "/academy/permissioned-l1s/:path*", - destination: "/academy/avalanche-developer/permissioned-l1s/:path*", + destination: "/academy/avalanche/permissioned-l1s/:path*", permanent: true, }, { source: "/academy/l1-native-tokenomics", - destination: "/academy/avalanche-developer/l1-native-tokenomics", + destination: "/academy/avalanche/l1-native-tokenomics", permanent: true, }, { source: "/academy/l1-native-tokenomics/:path*", - destination: "/academy/avalanche-developer/l1-native-tokenomics/:path*", + destination: "/academy/avalanche/l1-native-tokenomics/:path*", permanent: true, }, { source: "/academy/permissionless-l1s", - destination: "/academy/avalanche-developer/permissionless-l1s", + destination: "/academy/avalanche/permissionless-l1s", permanent: true, }, { source: "/academy/permissionless-l1s/:path*", - destination: "/academy/avalanche-developer/permissionless-l1s/:path*", + destination: "/academy/avalanche/permissionless-l1s/:path*", permanent: true, }, { source: "/academy/multi-chain-architecture", - destination: "/academy/avalanche-developer/multi-chain-architecture", + destination: "/academy/avalanche/multi-chain-architecture", permanent: true, }, { source: "/academy/multi-chain-architecture/:path*", - destination: "/academy/avalanche-developer/multi-chain-architecture/:path*", + destination: "/academy/avalanche/multi-chain-architecture/:path*", permanent: true, }, { source: "/academy/avacloudapis", - destination: "/academy/avalanche-developer/avacloudapis", + destination: "/academy/avalanche/avacloudapis", permanent: true, }, { source: "/academy/avacloudapis/:path*", - destination: "/academy/avalanche-developer/avacloudapis/:path*", + destination: "/academy/avalanche/avacloudapis/:path*", permanent: true, }, ]; diff --git a/public/common-images/codebase-entrepreneur-academy/entrepreneur-acadamy.mp4 b/public/common-images/academy/entrepreneur/entrepreneur-acadamy.mp4 similarity index 100% rename from public/common-images/codebase-entrepreneur-academy/entrepreneur-acadamy.mp4 rename to public/common-images/academy/entrepreneur/entrepreneur-acadamy.mp4 diff --git a/source.config.ts b/source.config.ts index a8a97c45650..6e6159e1ff6 100644 --- a/source.config.ts +++ b/source.config.ts @@ -59,7 +59,7 @@ export const courseMeta = defineCollections({ export const codebaseEntrepreneur = defineCollections({ type: 'doc', - dir: 'content/academy/avalanche-entrepreneur', + dir: 'content/academy/entrepreneur', schema: frontmatterSchema.extend({ preview: z.string().optional(), index: z.boolean().default(false), @@ -78,7 +78,7 @@ export const codebaseEntrepreneur = defineCollections({ export const codebaseEntrepreneurMeta = defineCollections({ type: 'meta', - dir: 'content/academy/avalanche-entrepreneur', + dir: 'content/academy/entrepreneur', schema: metaSchema.extend({ description: z.string().optional(), }), From 88a789546ee12e0d051b285f6a965f896924bc6b Mon Sep 17 00:00:00 2001 From: navillanueva Date: Fri, 14 Nov 2025 18:13:47 +0100 Subject: [PATCH 04/20] merge master --- .../01-introduction.mdx | 0 .../02-native-minter.mdx | 0 .../03-reward-manger.mdx | 0 .../03-staking-contract-post-etna.mdx | 0 .../04-register-validators.mdx | 0 .../03-staking-contract-post-etna.mdx | 151 ------------------ .../04-register-validators.mdx | 130 --------------- 7 files changed, 281 deletions(-) rename content/academy/{ => avalanche}/permissionless-l1s/03-transformation-requirements/01-introduction.mdx (100%) rename content/academy/{ => avalanche}/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx (100%) rename content/academy/{ => avalanche}/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx (100%) rename content/academy/avalanche/permissionless-l1s/{06-staking-contract => 05-staking-manager-contract}/03-staking-contract-post-etna.mdx (100%) rename content/academy/avalanche/permissionless-l1s/{07-staking-manager-operations => 06-staking-manager-operations}/04-register-validators.mdx (100%) delete mode 100644 content/academy/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx delete mode 100644 content/academy/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx diff --git a/content/academy/permissionless-l1s/03-transformation-requirements/01-introduction.mdx b/content/academy/avalanche/permissionless-l1s/03-transformation-requirements/01-introduction.mdx similarity index 100% rename from content/academy/permissionless-l1s/03-transformation-requirements/01-introduction.mdx rename to content/academy/avalanche/permissionless-l1s/03-transformation-requirements/01-introduction.mdx diff --git a/content/academy/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx b/content/academy/avalanche/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx similarity index 100% rename from content/academy/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx rename to content/academy/avalanche/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx diff --git a/content/academy/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx b/content/academy/avalanche/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx similarity index 100% rename from content/academy/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx rename to content/academy/avalanche/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx diff --git a/content/academy/avalanche/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx b/content/academy/avalanche/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/06-staking-contract/03-staking-contract-post-etna.mdx rename to content/academy/avalanche/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx diff --git a/content/academy/avalanche/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx b/content/academy/avalanche/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/07-staking-manager-operations/04-register-validators.mdx rename to content/academy/avalanche/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx diff --git a/content/academy/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx b/content/academy/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx deleted file mode 100644 index 37926e37f5b..00000000000 --- a/content/academy/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: Staking Contract (post Etna Upgrade) -description: How staking will work post Etna upgrade -updated: 2024-09-03 -authors: [0xstt] -icon: Book ---- -import { Steps, Step } from 'fumadocs-ui/components/steps'; - -The contracts in the [`validator-manager`](https://github.com/ava-labs/icm-contracts/tree/main/contracts/validator-manager) branch define the Validator Manager used to manage Subnet-only Validators, as defined in [ACP-77](https://github.com/avalanche-foundation/ACPs/tree/main/ACPs/77-reinventing-subnets). `ValidatorManager.sol` is the top-level abstract contract that provides the basic functionality. The other contracts are related as follows: - -> - initializeValidatorSet() - initializeValidatorRegistration()* - completeValidatorRegistration() - initializeEndValidation()* - completeEndValidation() - } - class PoSValidatorManager { - <> - initializeEndValidation() - completeDelegatorRegistration() - initializeEndDelegation() - completeEndDelegation() - } - class ERC20TokenStakingManager { - initializeValidatorRegistration() - initializeDelegatorRegistration() - } - class NativeTokenStakingManager { - initializeValidatorRegistration() payable - initializeDelegatorRegistration() payable - } - class PoAValidatorManager { - initializeValidatorRegistration() - initializeEndValidation() - } - - ValidatorManager <|-- PoSValidatorManager - ValidatorManager <|-- PoAValidatorManager - PoSValidatorManager <|-- ERC20TokenStakingManager - PoSValidatorManager <|-- NativeTokenStakingManager -`} /> -## Deploying - -Three concrete `ValidatorManager` contracts are provided - `PoAValidatorManager`, `NativeTokenStakingManager`, and `ERC20TokenStakingManager`. `NativeTokenStakingManager`, and `ERC20TokenStakingManager` implement `PoSValidatorManager`, which itself implements `ValidatorManager`. These are implemented as [upgradeable](https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable) contracts. There are numerous [guides](https://blog.chain.link/upgradable-smart-contracts/) for deploying upgradeable smart contracts, but the general steps are as follows: - - -Deploy the implementation contract - - -Deploy the proxy contract - - -Call the implementation contract's `initialize` function - - Each flavor of `ValidatorManager` requires different settings. For example, `ValidatorManagerSettings` specifies the churn parameters, while `PoSValidatorManagerSettings` specifies the staking and rewards parameters. - - -Initialize the Validator set by calling `initializeValidatorSet` - - When a Subnet is first created on the P-Chain, it must be explicitly converted to a Subnet-only Validator compatible Subnet via [`ConvertSubnetTx`](https://github.com/avalanche-foundation/ACPs/tree/main/ACPs/77-reinventing-subnets#setting-a-subnet-manager). The resulting `SubnetConversionMessage` Warp message is provided in the call to `initializeValidatorSet` to specify the starting Validator set in the `ValidatorManager`. Regardless of the implementation, these initial Validators are treated as PoA and are not eligible for staking rewards. - - -### PoAValidatorManager - -Proof-of-Authority Validator management is provided via `PoAValidatorManager`, which restricts modification of the Validator set to an owner address. After deploying `PoAValidatorManager.sol` and a proxy, the `initialize` function takes the owner address, in addition to standard `ValidatorManagerSettings`. - -### PoSValidatorManager - -Proof-of-Stake Validator management is provided by the abstract contract `PoSValidatorManager`, which has two concrete implementations: `NativeTokenStakingManager` and `ERC20TokenStakingManager`. In addition to basic Validator management provided in `ValidatorManager`, `PoSValidatorManager` supports uptime-based Validation rewards, as well as Delegation to a Validator. This [state transition diagram](https://github.com/ava-labs/icm-contracts/blob/main/contracts/validator-manager/StateTransition.md) illustrates the relationship between Validators and Delegators. - -#### NativeTokenStakingManager - -`NativeTokenStakingManager` allows permissionless addition and removal of Validators that post the Subnet's native token as stake. Staking rewards are minted via the Native Minter Precompile, which is configured with a set of addresses with minting privileges. As such, the address that `NativeTokenStakingManager` is deployed to must be added as an admin to the precompile. This can be done by either calling the precompile's `setAdmin` method from an admin address, or setting the address in the Native Minter precompile settings in the chain's genesis (`config.contractNativeMinterConfig.adminAddresses`). There are a couple of methods to get this address: one is to calculate the resulting deployed address based on the deployer's address and account nonce: `keccak256(rlp.encode(address, nonce))`. The second method involves manually placing the `NativeTokenStakingManager` bytecode at a particular address in the genesis, then setting that address as an admin. - -``` -{ - "config" : { - ... - "contractNativeMinterConfig": { - "blockTimestamp": 0, - "adminAddresses": [ - "0xffffffffffffffffffffffffffffffffffffffff" - ] - } - }, - "alloc": { - "0xffffffffffffffffffffffffffffffffffffffff": { - "balance": "0x0", - "code": "", - "nonce": 1 - } - } -} -``` - -#### ERC20TokenStakingManager -`ERC20TokenStakingManager` allows permissionless addition and removal of Validators that post the an ERC20 token as stake. The ERC20 is specified in the call to `initialize`, and must implement [`IERC20Mintable`](https://github.com/ava-labs/icm-contracts/blob/prorated-rewards-v2/contracts/validator-manager/interfaces/IERC20Mintable.sol). Care should be taken to enforce that only authorized users are able to call `mint`. - -### Convert PoA to PoS - -A `PoAValidatorManager` can later be converted to a `PoSValidatorManager` by upgrading the implementation contract pointed to by the proxy. After performing the upgrade, the `PoSValidatorManager` contract should be initialized by calling `initialize` as described above. The Validator set contained in the `PoAValidatorManager` will be tracked by the `PoSValidatorManager` after the upgrade, but will not be eligible to earn staking rewards, nor are they able to be delegated to. - -## Usage -### Register a Validator -Validator registration is initiated with a call to `initializeValidatorRegistration`. Churn limitations are checked - only a certain (configurable) percentage of the total weight is allowed to be added or removed in a (configurable) period of time. The `ValidatorManager` then constructs a [`RegisterSubnetValidatorMessage`](https://github.com/ava-labs/icm-contracts/blob/prorated-rewards-v2/contracts/validator-manager/MessageSpec.md#registersubnetvalidatormessage) Warp message to be sent to the P-Chain. Each Validator registration request includes all of the information needed to identify the Validator and its stake weight, as well as an `expiry` timestamp before which the `RegisterSubnetValidatorMessage` must be delivered to the P-Chain. If the Validator is not registered on the P-Chain before the `expiry`, then the Validator may be removed from the contract state by calling `completeEndValidation`. - -The `RegisterSubnetValidatorMessage` is delivered to the P-Chain as the Warp message payload of a [`RegisterSubnetValidatorTx`](https://github.com/avalanche-foundation/ACPs/tree/main/ACPs/77-reinventing-subnets#registersubnetvalidatortx). Please see the transaction [specification](https://github.com/avalanche-foundation/ACPs/tree/main/ACPs/77-reinventing-subnets#step-2-issue-a-registersubnetvalidatortx-on-the-p-chain) for validity requirements. The P-Chain then signs a [`SubnetValidatorRegistrationMessage`](https://github.com/ava-labs/icm-contracts/blob/prorated-rewards-v2/contracts/validator-manager/MessageSpec.md#subnetvalidatorregistrationmessage) Warp message indicating that the specified Validator was successfully registered on the P-Chain. - -The `SubnetValidatorRegistrationMessage` is delivered to the `ValidatorManager` via a call to `completeValidatorRegistration`. For PoS Validator Managers, staking rewards begin accruing at this time. - -### Remove a Validator -Validator exit is initiated with a call to `initializeEndValidation` on the `ValidatorManager` , For `PoSValidatorManagers` a [`ValidationUptimeMessage`](https://github.com/ava-labs/icm-contracts/blob/prorated-rewards-v2/contracts/validator-manager/MessageSpec.md#validationuptimemessage) Warp message may optionally be provided in order to calculate the staking rewards; otherwise the latest received uptime will be used (see [(PoS only) Submit and Uptime Proof](#pos-only-submit-an-uptime-proof)). This proof may be requested directly from the Subnet Validators, which will provide it in a `ValidationUptimeMessage` Warp message. If the uptime is not sufficient to earn Validation rewards, the call to `initializeEndValidation` will fail. `forceInitializeEndValidation` acts the same as `initializeEndValidation`, but bypasses the uptime-based rewards check. Once `initializeEndValidation` or `forceInitializeEndValidation` is called, staking rewards cease accruing for `PoSValidatorManagers`. - -The `ValidatorManager` contructs a [`SetSubnetValidatorWeightMessage`](https://github.com/ava-labs/icm-contracts/blob/prorated-rewards-v2/contracts/validator-manager/MessageSpec.md#SubnetValidatorWeightMessage) Warp message with the weight set to `0`. This is delivered to the P-Chain as the payload of a [`SetSubnetValidatorWeightTx`](https://github.com/avalanche-foundation/ACPs/tree/main/ACPs/77-reinventing-subnets#setsubnetvalidatorweighttx). The P-Chain acknowledges Validator exit by signing a `SubnetValidatorRegistrationMessage` with `valid=0`, which is delivered to the `ValidatorManager` by calling `completeEndValidation`. The Validation is removed from the contract's state, and for `PoSValidatorManagers`, staking rewards are disbursed and stake is returned. - -#### Disable a Validator Directly on the P-Chain - -ACP-77 also provides a method to disable a Validator without interacting with the Subnet directly. The P-Chain transaction [`DisableValidatorTx`](https://github.com/avalanche-foundation/ACPs/tree/main/ACPs/77-reinventing-subnets#disablevalidatortx) disables the Validator on the P-Chain. The disabled Validator's weight will still count towards the Subnet's total weight. - -Disabled Subnet Validators can re-activate at any time by increasing their balance with an `IncreaseBalanceTx`. Anyone can call `IncreaseBalanceTx` for any Validator on the P-Chain. A disabled Validator can only be totally removed from the Validator set by a call to `initializeEndValidation`. - -### (PoS only) Register a Delegator - -`PoSValidatorManager` supports Delegation to an active Validator as a way for users to earn staking rewards without having to validate the chain. Delegators pay a configurable percentage fee on any earned staking rewards to the host Validator. A Delegator may be registered by calling `initializeDelegatorRegistration` and providing an amount to stake. The Delegator will be registered as long as churn restrictions are not violated. The Delegator is reflected on the P-Chain by adjusting the Validator's registered weight via a [`SetSubnetValidatorWeightTx`](https://github.com/avalanche-foundation/ACPs/tree/main/ACPs/77-reinventing-subnets#setsubnetvalidatorweighttx). The weight change acknowledgement is delivered to the `PoSValidatorManager` via a [`SubnetValidatorWeightMessage`](https://github.com/ava-labs/icm-contracts/blob/prorated-rewards-v2/contracts/validator-manager/MessageSpec.md#SubnetValidatorWeightMessage), which is provided by calling `completeDelegatorRegistration`. - -> The P-Chain is only willing to sign a `SubnetValidatorWeightUpdateMessage` for an active Validator. Once Validator exit has been initiated (via a call to `initializeEndValidation`), the `PoSValidatorManager` must assume that the Validator has been deactivated on the P-Chain, and will therefore not sign any further weight updates. Therefore, it is invalid to _initiate_ adding or removing a Delegator when the Validator is in this state, though it _may be_ valid to _complete_ an already initiated Delegator action, depending on the order of delivery to the P-Chain. If the Delegator weight change was submitted (and a Warp signature on the acknowledgement retrieved) before the Validator was removed, then the Delegator action may be completed. Otherwise, the acknowledgement of the Validation end must first be delivered before completing the Delegator action. - -### (PoS only) Remove a Delegator - -Delegators removal may be initiated by calling `initializeEndDelegation`, as long as churn restrictions are not violated. Similar to `initializeEndValidation`, an uptime proof may be provided to be used to determine Delegator rewards eligibility. If no proof is provided, the latest known uptime will be used (see [(PoS only) Submit and Uptime Proof](#pos-only-submit-an-uptime-proof)). The Validator's weight is updated on the P-Chain by the same mechanism used to register a Delegator. The `SubnetValidatorWeightUpdateMessage` from the P-Chain is delivered to the `PoSValidatorManager` in the call to `completeEndDelegation`. - -### (PoS only) Submit an Uptime Proof - -The [rewards calculater](https://github.com/ava-labs/icm-contracts/blob/prorated-rewards-v2/contracts/validator-manager/interfaces/IRewardCalculator.sol) is a function of uptime seconds since the Validator's start time. In addition to doing so in the calls to `initializeEndValidation` and `initializeEndDelegation` as described above, uptime proofs may also be supplied by calling `submitUptimeProof`. Unlike `initializeEndValidation` and `initializeEndDelegation`, `submitUptimeProof` may be called by anyone, decreasing the likelihood of a Validation or Delegation not being able to claim rewards that it deserved based on its actual uptime. - -### (PoS only) Collect Staking Rewards -#### Validation Rewards - -Validation rewards are distributed in the call to `completeEndValidation`. - -#### Delegation Rewards - -Delegation rewards are distributed in the call to `completeEndDelegation`. - -#### Delegation Fees - -Delegation fees owed to Validators are _not_ distributed when the Validation ends as to bound the amount of gas consumed in the call to `completeEndValidation`. Instead, `claimDelegationFees` may be called after the Validation is completed. - - diff --git a/content/academy/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx b/content/academy/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx deleted file mode 100644 index 46c8d5232de..00000000000 --- a/content/academy/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: Registering PoS Validators -description: Learn how validators are registered on the Avalanche network post-etna. -updated: 2024-10-14 -authors: [owenwahlgren] -icon: Terminal ---- - -> How does it all work? I mean *actually* work. - -### Sending Warp Messages - -On the EVM, a warp message is simply an event log with `messageID = sha256(messagePayload)` Nothing is ever actually “sent” anywhere, which trips people up when first learning how Warp Messaging works. - -The log event emitted is from the Warp precompile address (`0x0200000000000000000000000000000000000005`) The topic of the message will be `0x56600c567728a800c0aa927500f831cb451df66a7af570eb4df4dfbf4674887d` which is the output of -```bash -cast keccak "SendWarpMessage(address,bytes32,bytes)" -``` - -To find a specific warp messageID, one must know the block number or block hash to retrieve the logs, or be monitoring all events, looking for and indexing messages. - -When a block is [accepted](https://github.com/ava-labs/coreth/blob/7242ae2d235593d2bb14e2496b6ed102aab14c3d/precompile/contracts/warp/config.go#L130) by the network, a precompile hook is called, and the EVM saves the warp message to a local database. The validator node will then be willing to sign any messages in that database upon request, typically via an `AppRequest` message over the p2p network. - -### Receiving Warp Messages - -On the EVM, any smart contract can call the precompile - -which returns the warp message and verifies the attached signature. But what is `index`? Where does it get the warp message from? The answer is, you! When you send a tx to any contract that eventually calls `getVerifiedWarpMessage`, you **must** pass in the signed warp message as a “predicate”. It’s called an AccessList, and typically this is an optional field that can be used by the EVM to pre-fetch storage slots that will be accessed, for efficiency and reducing gas costs. But Warp cleverly (ab)uses this feature of the EVM to verify the signature of the warp message, and then make the warp message available during the transactions lifetime, by calling `getVerifiedWarpMessage`. You can pass multiple warp messages which is where the `index` comes in. (All of this is abstracted away by ICM for EVM to EVM comms) - -Details: [Warp README](https://github.com/ava-labs/coreth/blob/7242ae2d235593d2bb14e2496b6ed102aab14c3d/precompile/contracts/warp/README.md) - -### Interchain Messaging Contracts (ICM) - -[ICM](https://github.com/ava-labs/icm-contracts) is a set of smart contracts that implements a rich messaging protocol on top of the Warp Messaging primitive, allowing for verified message passing between EVM chains. - - -**Only (currently) supports EVM→EVM comms. Not used for EVM→P-Chain** - - -### Relayer - -[Relayer](https://github.com/ava-labs/awm-relayer/blob/main/relayer/README.md) is an off-chain program that listens for warp messages on a source chain, and delivers them to a destination chain. Messages can choose to be relayed by anyone, or by only privileged relayers. Messages can also pay fees to incentivize relayers and cover gas costs. - -## Registering ValidatorManager - -ACP-77 introduces L1-only Validators, that stake no AVAX, and do not validate the X/C chains. They must connect to the Primary Network and track the P-Chain, and also validate their own chain, and pay a small continuous fee in AVAX to the network. - -User submits EVM tx to smart contract [NativeTokenStakingManager.sol](https://github.com/ava-labs/icm-contracts/blob/main/contracts/validator-manager/NativeTokenStakingManager.sol) - -```solidity -function initializeValidatorRegistration( - ValidatorRegistrationInput calldata registrationInput, - uint16 delegationFeeBips, - uint64 minStakeDuration) payable returns (bytes32 validationID) -``` -Notably, this function will: - -- Lock the native tokens in the contract -- `validationID`: bytes32 hash of an encoded `RegisterSubnetValidatorMessage` -- `messageID`: bytes32 hash of the warp message -- Store some data in the contract: - - -```solidity -$._pendingRegisterValidationMessages[validationID] = registerSubnetValidatorMessage; -$._registeredValidators[input.nodeID] = validationID; -bytes32 messageID = WARP_MESSENGER.sendWarpMessage(registerSubnetValidatorMessage); -$._validationPeriods[validationID] = Validator({ - status: ValidatorStatus.PendingAdded, - nodeID: input.nodeID, - startingWeight: weight, - messageNonce: 0, - weight: weight, - startedAt: 0, // The validation period only starts once the registration is acknowledged. - endedAt: 0 -}); -``` - -- Emit `ValidationPeriodCreated(validationID, nodeID, messageID, weight, registrationExpiry)` -- The `sendWarpMessage` precompile will emit a log with `sender`, `messageID`, `message` - -At this point, we have submitted a transaction on the blockchain (C-Chain or L1, wherever the staking contract is deployed). All that has happened is we have stored some state in our contract and emitted some events. No changes to validators has occurred. - - -Nothing else will happen UNLESS an off-chain actor continues the process. - - - -In our case, someone must be running a relayer that is configured with our staking contract as the source and the P-Chain as the destination. - - -At the moment, the relayer does not support the P-Chain, so messages must be signed and sent manually. The relayer will be updated soon to support the P-Chain. - - - -So, to sign and send the message ourselves, we can use the Signature Aggregator server in the relayer project. This will use the p2p layer of the Avalanche network to connect to validators and send `AppRequest` messages to request each validator to sign a message. -```bash -curl --location 'http://localhost:8080/aggregate-signatures' \ ---json '{"message": ""}' -``` -This will give us an aggregated BLS signature from at least 67% of the stake weighted validator set. Now we need to `POST` this to the P-Chain via the `RegisterSubnetValidatorTx` tx. - -The P-Chain, if it accepts the tx, will “send” a Warp Message `SubnetValidatorRegistration` which acknowledges the change. Note that nothing is actually “sent”, instead the validator node will be willing to sign the unsigned message upon request. - -So the next step is to use the Signature Aggregator service again, and provide the unsigned `SubnetValidatorRegistration` warp message, which the service will then ask validators to sign. - - -If your Validator Manager contract is on your L1 (instead of C-Chain), as an optimization, you only need to ask 67% of the stake weighted validators of your L1, not the entire P-Chain validator set. - - - -Once an aggregate BLS signature is created, we need to submit the signed message to the C-Chain (or L1) by calling a function on the `ValidatorManager` contract. - -```solidity -function completeValidatorRegistration(uint32 messageIndex) -``` - -Remember, this involves calling the function via `eth_sendTransaction` and encoding the signed warp message into the `AccessList`. (If you encode an array of 1 warp message, then `messageIndex` would be 0) - -The function will adjust the state in the contract, including these bits: -```solidity -delete $._pendingRegisterValidationMessages[validationID]; -$._validationPeriods[validationID].status = ValidatorStatus.Active; -$._validationPeriods[validationID].startedAt = uint64(block.timestamp); -``` -And that’s it! - - -This doc is a WIP and we will eventually cover all the flows and add some diagrams. - From c34cb897511b9fd3b3dc1b5851b1512a98a4290a Mon Sep 17 00:00:00 2001 From: navillanueva Date: Mon, 17 Nov 2025 11:14:56 -0500 Subject: [PATCH 05/20] reorg --- app/academy/docs-layout-wrapper.tsx | 129 ++++++++++++++++++++++++ app/academy/layout.client.tsx | 65 ------------ app/academy/layout.tsx | 148 +++------------------------- 3 files changed, 145 insertions(+), 197 deletions(-) create mode 100644 app/academy/docs-layout-wrapper.tsx diff --git a/app/academy/docs-layout-wrapper.tsx b/app/academy/docs-layout-wrapper.tsx new file mode 100644 index 00000000000..5393b8815a5 --- /dev/null +++ b/app/academy/docs-layout-wrapper.tsx @@ -0,0 +1,129 @@ +'use client'; + +import { DocsLayout, type DocsLayoutProps } from 'fumadocs-ui/layouts/notebook'; +import type { ReactNode } from 'react'; +import { usePathname } from 'next/navigation'; +import { useMemo } from 'react'; +import { NavbarDropdownInjector } from '@/components/navigation/navbar-dropdown-injector'; +import { ForceMobileSidebar } from '@/components/navigation/force-mobile-sidebar'; +import { DocsNavbarToggle } from '@/components/navigation/docs-navbar-toggle'; +import { AcademyLayoutClient } from './layout.client'; + +type Tree = DocsLayoutProps['tree']; + +interface AcademyDocsLayoutWrapperProps { + children: ReactNode; + defaultTree: Tree; + avalancheTree: Tree; + blockchainTree: Tree; + entrepreneurTree: Tree; +} + +export function AcademyDocsLayoutWrapper({ + children, + defaultTree, + avalancheTree, + blockchainTree, + entrepreneurTree, +}: AcademyDocsLayoutWrapperProps) { + const pathname = usePathname(); + + const activeTree = useMemo(() => { + if (pathname.startsWith('/academy/entrepreneur')) { + return entrepreneurTree ?? defaultTree; + } + if (pathname.startsWith('/academy/blockchain')) { + return blockchainTree ?? defaultTree; + } + if (pathname.startsWith('/academy/avalanche')) { + return avalancheTree ?? defaultTree; + } + return defaultTree; + }, [pathname, defaultTree, avalancheTree, blockchainTree, entrepreneurTree]); + + const academyOptions: DocsLayoutProps = useMemo( + () => ({ + tree: activeTree, + nav: { + enabled: false, + }, + sidebar: { + collapsible: false, + }, + }), + [activeTree], + ); + + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {children} + + + ); +} + diff --git a/app/academy/layout.client.tsx b/app/academy/layout.client.tsx index 8bd9e3a2bf9..cbafdd13e95 100644 --- a/app/academy/layout.client.tsx +++ b/app/academy/layout.client.tsx @@ -18,71 +18,6 @@ export function AcademyLayoutClient() { }; }, [pathname]); - useEffect(() => { - if (!pathname.startsWith('/academy')) return; - - const prefix = - pathname.startsWith('/academy/avalanche') - ? '/academy/avalanche' - : pathname.startsWith('/academy/blockchain') - ? '/academy/blockchain' - : pathname.startsWith('/academy/entrepreneur') - ? '/academy/entrepreneur' - : null; - - if (!prefix) return; - - // Scope sidebar tree to the active academy - const sidebar = document.querySelector('[data-sidebar="sidebar"]'); - if (sidebar) { - const links = sidebar.querySelectorAll('a[href^="/academy/"]'); - - links.forEach((link) => { - const href = link.getAttribute('href') || ''; - const item = link.closest('[data-sidebar="menu-item"]') || link.closest('li'); - if (!item) return; - - if (href.startsWith(prefix)) { - item.style.display = ''; - } else { - item.style.display = 'none'; - } - }); - } - - // Scope any Fumadocs course dropdowns (selects) to the active academy - const selects = document.querySelectorAll('select'); - selects.forEach((select) => { - let hasVisibleOption = false; - - Array.from(select.options).forEach((option) => { - const value = option.value || option.getAttribute('value') || ''; - if (value && value.startsWith('/academy/')) { - if (value.startsWith(prefix)) { - option.hidden = false; - option.disabled = false; - hasVisibleOption = true; - } else { - option.hidden = true; - option.disabled = true; - } - } - }); - - if (hasVisibleOption && !select.value.startsWith(prefix)) { - const first = Array.from(select.options).find( - (opt) => - !opt.disabled && - !opt.hidden && - (opt.value || opt.getAttribute('value') || '').startsWith(prefix), - ); - if (first) { - select.value = first.value; - } - } - }); - }, [pathname]); - return null; } diff --git a/app/academy/layout.tsx b/app/academy/layout.tsx index 7821ca7bb35..acf53e62f21 100644 --- a/app/academy/layout.tsx +++ b/app/academy/layout.tsx @@ -1,144 +1,28 @@ -import { DocsLayout, type DocsLayoutProps } from 'fumadocs-ui/layouts/notebook'; import type { ReactNode } from 'react'; import { baseOptions } from '@/app/layout.config'; import { academy, getAcademyTree } from '@/lib/source'; import { LayoutWrapper } from '@/app/layout-wrapper.client'; -import { DocsNavbarToggle } from '@/components/navigation/docs-navbar-toggle'; -import { ForceMobileSidebar } from '@/components/navigation/force-mobile-sidebar'; -import { NavbarDropdownInjector } from '@/components/navigation/navbar-dropdown-injector'; -import { AcademyLayoutClient } from './layout.client'; +import { AcademyDocsLayoutWrapper } from './docs-layout-wrapper'; import './styles.css'; -export default function Layout({ - children, - params, -}: { - children: ReactNode; - params: { slug?: string[] }; -}) { - const section = params?.slug?.[0]; - let tree = academy.pageTree; - - if (section === 'avalanche') { - tree = getAcademyTree('/academy/avalanche'); - } else if (section === 'blockchain') { - tree = getAcademyTree('/academy/blockchain'); - } else if (section === 'entrepreneur') { - tree = getAcademyTree('/academy/entrepreneur'); - } - - const academyOptions: DocsLayoutProps = { - tree, - nav: { - enabled: false, - }, - sidebar: { - collapsible: false, - }, - }; +export default function Layout({ children }: { children: ReactNode }) { + const defaultTree = academy.pageTree; + const avalancheTree = getAcademyTree('/academy/avalanche'); + const blockchainTree = getAcademyTree('/academy/blockchain'); + const entrepreneurTree = getAcademyTree('/academy/entrepreneur'); return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + {children} - + ); -} \ No newline at end of file +} + + From a63e499099ba0c83ca53513853f98e43fdf747fa Mon Sep 17 00:00:00 2001 From: navillanueva Date: Mon, 17 Nov 2025 16:04:59 -0500 Subject: [PATCH 06/20] unified /academy endpoint for all three + added new banner in navbar --- app/(home)/academy/avalanche-l1/config.ts | 12 ++ app/(home)/academy/avalanche-l1/page.tsx | 151 ++++++++++++++++++ app/(home)/academy/avalanche/config.ts | 12 -- app/(home)/academy/avalanche/page.tsx | 63 -------- app/(home)/academy/blockchain/page.tsx | 16 +- app/(home)/academy/entrepreneur/config.ts | 2 +- app/(home)/academy/entrepreneur/page.tsx | 68 ++++++-- app/(home)/academy/page.tsx | 2 +- app/academy/docs-layout-wrapper.tsx | 2 +- app/academy/layout.tsx | 2 +- app/api/chat/route.ts | 20 +-- app/layout.config.tsx | 41 ++--- .../learning-path-configs/avalanche.config.ts | 16 +- .../academy/shared/academy-bubble.config.tsx | 25 ++- components/academy/shared/academy-layout.tsx | 92 +++++++++-- .../academy/shared/academy-learning-path.tsx | 13 +- components/academy/shared/academy-types.tsx | 27 ++-- components/landing/paths.tsx | 2 +- components/navigation/BubbleNavigation.tsx | 41 +++-- .../navigation/bubble-navigation.types.ts | 2 +- components/navigation/navbar-dropdown.tsx | 6 +- .../avacloudapis/02-overview/01-about.mdx | 0 .../02-overview/02-apis-vs-rpc.mdx | 0 .../02-overview/03-dataapi-endpoints.mdx | 0 .../avacloudapis/02-overview/04-webhooks.mdx | 0 .../01-avacloud-account.mdx | 0 .../02-setup-starter-kit.mdx | 0 .../03-environment-setup/03-what-we-build.mdx | 0 .../01-overview.mdx | 0 .../02-understanding-code.mdx | 0 .../03-modifying-code.mdx | 0 .../04-erc20-token-balance-app/04-final.mdx | 0 .../05-wallet-portfolio-app/01-overview.mdx | 0 .../02-understanding-code.mdx | 0 .../03-modifying-code.mdx | 0 .../06-block-explorer-app/01-overview.mdx | 0 .../02-understanding-code.mdx | 0 .../03-modifying-code.mdx | 0 .../07-using-webhooks/01-overview.mdx | 0 .../avacloudapis/index.mdx | 0 .../avacloudapis/meta.json | 0 .../01-avalanche-consensus-intro.mdx | 0 .../02-consensus-mechanisms.mdx | 0 .../03-snowman-consensus.mdx | 0 .../04-tps-vs-ttf.mdx | 0 .../01-multi-chain-architecture.mdx | 0 .../02-L1.mdx | 0 .../03-benefits.mdx | 0 .../03a-etna-upgrade.mdx | 0 .../04-custom-blockchains-vs-layer-2.mdx | 0 .../05-setup-core.mdx | 0 .../06-use-dexalot.mdx | 0 .../04-creating-an-l1/01-creating-an-l1.mdx | 0 .../01a-create-builder-account.mdx | 0 .../04-creating-an-l1/02-connect-core.mdx | 0 .../02a-claim-testnet-tokens.mdx | 0 .../03-network-architecture.mdx | 0 .../05-create-blockchain.mdx | 0 .../04-creating-an-l1/06-run-a-node.mdx | 0 .../07-convert-subnet-l1.mdx | 0 .../04-creating-an-l1/08-test-l1.mdx | 0 .../04-creating-an-l1/09-remove-node.mdx | 0 .../05-interoperability/01-introduction.mdx | 2 +- .../02-source-message-destination.mdx | 0 .../03-icm-icmContracts-and-ictt.mdx | 0 .../04-signature-schemes.mdx | 0 .../05-interoperability/05-signature-demo.mdx | 0 .../06-multi-signatures.mdx | 0 .../07-multi-signature-demo.mdx | 0 .../08-signature-aggregation.mdx | 0 .../05-interoperability/09-use-cases.mdx | 0 .../01-independent-tokenomics.mdx | 0 .../11-staking-token.mdx | 0 .../00-vm-customization.mdx | 0 .../07b-vm-customization/01-configuration.mdx | 0 .../07b-vm-customization/02-modification.mdx | 0 .../07b-vm-customization/03-creation.mdx | 0 .../01-permissioning.mdx | 0 .../08-permissioning-users/02-compliance.mdx | 0 .../04-tx-allowlist.mdx | 0 .../05-activate-tx-allowlist.mdx | 0 .../06-contract-deployer-allowlist.mdx | 0 ...7-activate-contract-deployer-allowlist.mdx | 0 .../01-permissioning-validators.mdx | 0 .../02-private-blockchains.mdx | 0 .../03-case-study-intain-markets.mdx | 0 .../get-certificate.mdx | 0 .../avalanche-fundamentals/index.mdx | 0 .../avalanche-fundamentals/meta.json | 0 .../02-intro-to-evm/01-origin-of-evm.mdx | 0 .../02-accounts-keys-address.mdx | 0 .../03-transactons-and-blocks.mdx | 0 .../05-different-evm-versions.mdx | 0 .../03-development-env-setup/00-intro.mdx | 0 .../02-create-codespaces.mdx | 0 .../03-codespace-in-vscode.mdx | 0 .../04-your-evm-blockchain/00-intro.mdx | 0 .../01-avalanche-cli.mdx | 0 .../02-create-your-blockchain.mdx | 0 .../03-sending-tokens.mdx | 0 .../00-vm-configuration.mdx | 0 .../01-genesis-block.mdx | 0 .../02-create-your-genesis.mdx | 0 .../03-setup-chainid.mdx | 0 .../04-gas-fees-and-limit.mdx | 0 .../05-gas-fee-configuration.mdx | 0 .../06-configuring-gas-fees.mdx | 0 .../07-initial-token-allocation.mdx | 0 ...uild-and-run-custom-genesis-blockchain.mdx | 0 .../01-what-are-precompiles.mdx | 0 .../06-precompiles/02-why-precompiles.mdx | 0 .../03-interact-wtih-precompile.mdx | 0 .../07-hash-function-precompile/00-intro.mdx | 0 .../01-create-solidity-interface.mdx | 0 .../02-generate-the-precompile.mdx | 0 .../03-unpack-input-pack-output.mdx | 0 .../04-implementing-precompile.mdx | 0 .../05-configkey-and-contractaddr.mdx | 0 .../06-register-precompile.mdx | 0 .../07-build-and-run.mdx | 0 .../08-interact-with-md5.mdx | 0 .../08-calculator-precompile/00-intro.mdx | 0 .../01-create-solidity-interface.mdx | 0 .../02-generating-precompile.mdx | 0 .../03-unpacking-and-packing.mdx | 0 .../04-implementing-precompile.mdx | 0 .../05-set-configkey-contractaddr.mdx | 0 .../06-create-genesis-block.mdx | 0 .../07-testing-precompile.mdx | 0 .../08-autogenerated-tests.mdx | 0 .../09-unit-tests.mdx | 0 .../10-fuzz-tests.mdx | 0 .../11-test-calculatorplus.mdx | 0 .../09-stateful-precompiles/00-intro.mdx | 0 .../01-interacting-with-precompile.mdx | 0 .../00-intro.mdx | 0 .../01-create-solidity-interface.mdx | 0 .../02-store-data-in-evm.mdx | 0 .../03-implement-set-counter.mdx | 0 .../04-read-date-from-evm.mdx | 0 .../05-implement-getcounter-increment.mdx | 0 .../06-setting-base-gasfees.mdx | 0 .../07-set-configkey-contractaddr.mdx | 0 .../08-initial-state.mdx | 0 .../09-define-default-values-via-go.mdx | 0 .../10-define-default-values-via-genesis.mdx | 0 .../11-testing-precompile-hardhat.mdx | 0 .../12-build-your-precompile.mdx | 0 .../customizing-evm/index.mdx | 2 +- .../customizing-evm/meta.json | 0 .../01-introduction.mdx | 0 .../02-understanding-the-flow.mdx | 0 .../03-orchestrating-vrf-requests.mdx | 0 .../04-bring-vrf-to-unsupported-l1.mdx | 0 .../05-deploy-vrf-wrapper.mdx | 0 .../06-deploy-vrf-consumer.mdx | 0 .../07-create-vrf-subscription.mdx | 0 .../08-request-random-words.mdx | 0 .../01-introduction.mdx | 0 .../01-introduction.mdx | 0 .../04-ccip-icm/01-introduction.mdx | 0 .../icm-chainlink/certificate.mdx | 0 .../icm-chainlink/index.mdx | 0 .../icm-chainlink/meta.json | 0 .../01-interopability-between-blockchains.mdx | 0 .../02-source-message-destination.mdx | 0 .../03-multi-chain-networks.mdx | 0 ...nteroperability-in-multi-chain-systems.mdx | 0 .../05-finality-and-interoperability.mdx | 0 .../06-trusted-third-parties.mdx | 0 .../01-avalanche-starter-kit.mdx | 0 .../03-avalanche-starter-kit/02-set-up.mdx | 0 .../03-close-and-reopen-codespace.mdx | 0 .../03-avalanche-starter-kit/04-networks.mdx | 0 .../05-foundry-quickstart.mdx | 0 .../04-icm-basics/01-icm-basics.mdx | 0 .../02-recap-bytes-encoding-decoding.mdx | 0 .../04-icm-basics/03-sending-a-message.mdx | 0 .../04-create-sender-contract.mdx | 0 .../04-icm-basics/05-receiving-a-message.mdx | 0 .../06-create-receiver-contract.mdx | 0 .../04-icm-basics/07-send-a-message.mdx | 0 .../08-adapting-the-contract-exercise.mdx | 0 .../01-two-way-communication.mdx | 0 .../02-sender-contract.mdx | 0 .../03-create-sender-contract.mdx | 0 .../04-receiver-contract.mdx | 0 .../05-create-the-receiver-contract.mdx | 0 .../06-send-a-roundtrip-message.mdx | 0 .../07-adapt-the-contracts.mdx | 0 .../01-invoking-functions.mdx | 0 .../02-encoding-multiple-values.mdx | 0 .../03-create-simple-calculator-sender.mdx | 0 .../04-create-simple-calulcator-receiver.mdx | 0 .../05-call-simple-calculator.mdx | 0 .../06-encoding-function-name.mdx | 0 .../07-extend-calculator.mdx | 0 .../07-icm-registry/01-icm-registry.mdx | 0 .../02-how-the-icm-registry-works.mdx | 0 .../03-interact-with-the-registry.mdx | 0 .../04-retrieving-icm-from-registry.mdx | 0 .../05-verify-sender-is-icm.mdx | 0 .../01-avalanche-warp-messaging.mdx | 0 .../02-p-chain.mdx | 0 .../03-warp-message-format.mdx | 0 .../04-awm-relayer.mdx | 0 .../05-dataflow.mdx | 0 .../06-message-pickup.mdx | 0 .../07-message-delivery.mdx | 0 .../08-load-considerations.mdx | 0 .../09-trust-assumption-of-awm.mdx | 0 .../01-relayer-introduction.mdx | 0 .../02-relayer-configuration.mdx | 0 .../03-configure-and-run-relayer.mdx | 0 .../01-restricting-the-relayer.mdx | 0 .../02-allowed-relayers.mdx | 0 .../01-incentivizing-a-relayer.mdx | 0 .../02-fee-data-flow.mdx | 0 .../03-determining-the-fee-amount.mdx | 0 .../04-setting-incentives.mdx | 0 .../05-deploy-fee-token-contract.mdx | 0 .../06-incentivize-an-awm-relayer.mdx | 0 .../07-interaction-flow-with-fees.mdx | 0 .../01-introduction.mdx | 0 .../02-understanding-the-flow.mdx | 0 .../03-orchestrating-vrf-requests.mdx | 0 .../04-bring-vrf-to-unsupported-l1.mdx | 0 .../05-deploy-vrf-wrapper.mdx | 0 .../06-deploy-vrf-consumer.mdx | 0 .../07-create-vrf-subscription.mdx | 0 .../08-request-random-words.mdx | 0 .../interchain-messaging/certificate.mdx | 0 .../interchain-messaging/index.mdx | 0 .../interchain-messaging/meta.json | 0 .../02-getting-started/01-introduction.mdx | 2 +- .../03-tokens/01-tokens.mdx | 0 .../03-tokens/02-native-tokens.mdx | 0 .../03-tokens/03-transfer-native-tokens.mdx | 0 .../05-transfers-in-smart-contracts.mdx | 0 .../03-tokens/07-erc-20-tokens.mdx | 0 .../03-tokens/08-transfer-an-erc-20-token.mdx | 0 .../03-tokens/09-transfer-erc20-to-sc.mdx | 0 .../03-tokens/10-wrapped-native-tokens.mdx | 0 .../11-create-a-wrapped-native-token.mdx | 0 .../04-token-bridging/01-token-bridging.mdx | 0 .../02-bridge-architecture.mdx | 0 .../03-use-a-demo-bridge.mdx | 0 .../04-token-bridging/04-bridge-hacks.mdx | 0 ...01-avalanche-interchain-token-transfer.mdx | 0 .../02-bridge-design.mdx | 0 .../03-file-structure.mdx | 0 .../04-token-home.mdx | 0 .../05-token-remote.mdx | 0 .../01-erc-20-to-erc-20-bridge.mdx | 0 .../02-deploy-erc-20-token.mdx | 0 .../03-deploy-home.mdx | 0 .../04-deploy-remote.mdx | 0 .../05-register-remote.mdx | 0 .../06-transfer-tokens.mdx | 0 .../07-avacloud-and-core-bridge.mdx | 0 .../08-deploy-your-own-frontend.mdx | 0 .../01-tokens-on-multiple-chain.mdx | 0 .../02-deploy-token-remote.mdx | 0 .../03-register-remote.mdx | 0 .../04-multihop.mdx | 0 .../01-native-to-erc-20-bridge.mdx | 0 .../02-deploy-native-token-home.mdx | 0 .../03-deploy-erc20-token-remote.mdx | 0 .../04-register-remote.mdx | 0 .../05-bridge-tokens.mdx | 0 .../12-send-and-call/01-intro.mdx | 0 .../03-send-and-call-receivers.mdx | 0 .../12-send-and-call/04-mock-receivers.mdx | 0 .../12-send-and-call/05-mock-receiver.mdx | 0 .../07-exchange-contract.mdx | 0 .../08-deploy-wrapped-exchange-contract.mdx | 0 .../14-scaling-decimals/01-math-example.mdx | 0 .../14-scaling-decimals/02-example.mdx | 0 .../interchain-token-transfer/certificate.mdx | 0 .../interchain-token-transfer/index.mdx | 2 +- .../interchain-token-transfer/meta.json | 0 .../01-introduction.mdx | 0 .../02-token-design.mdx | 0 .../03-native-tokens.mdx | 0 .../04-transfer-native-token.mdx | 0 .../01-tokens-fundamentals/05-erc20.mdx | 0 .../06-deploy-erc20.mdx | 0 .../08-native-and-erc20-tokens.mdx | 0 .../01b-native-vs-erc20/09-wrapped-tokens.mdx | 0 .../10-deploy-wrapped-tokens.mdx | 0 .../02-custom-tokens/01-introduction.mdx | 0 .../02-custom-native-vs-erc20-native.mdx | 0 .../02-custom-tokens/03-native-vs-staking.mdx | 0 .../02-custom-tokens/04-token-symbol.mdx | 0 .../05-create-custom-token.mdx | 0 .../06-native-token-allocation.mdx | 0 .../07-configure-token-allocation.mdx | 0 .../03-precompiles/01-introduction.mdx | 0 .../03-precompiles/02-precompiles.mdx | 0 .../03-precompile-architecture.mdx | 0 .../04-native-minter/01-introduction.mdx | 0 .../02-native-token-minting-rights.mdx | 0 .../03-activate-native-minter.mdx | 0 .../05-fee-config/01-introduction.mdx | 0 .../05-fee-config/02-transaction-fees.mdx | 0 .../05-fee-config/03-activate-fee-config.mdx | 0 .../01-initial-allocation.mdx | 0 .../02-vesting-schedules.mdx | 0 .../03-bonding-curves.mdx | 0 .../07-token-distribution/04-airdrop.mdx | 0 .../08-governance/01-introduction.mdx | 0 .../08-governance/02-governance-models.mdx | 0 .../08-governance/03-daos.mdx | 0 .../08-governance/04-quadratic-voting.mdx | 0 .../08-governance/05-governance-20.mdx | 0 .../l1-native-tokenomics/dappVsL1.mdx | 0 .../l1-native-tokenomics/index.mdx | 2 +- .../l1-native-tokenomics/meta.json | 0 .../l1-native-tokenomics/token-ownership.mdx | 0 .../{avalanche => avalanche-l1}/meta.json | 10 +- .../01-introduction/01-pchain-review.mdx | 0 .../01-introduction/02-multi-chain-review.mdx | 0 .../01-introduction/03-interop.mdx | 2 +- .../01-introduction/04-proxy-pattern.mdx | 0 .../01-blockchain-permissioning.mdx | 0 .../02-proof-of-authority.mdx | 0 .../03-validator-manager-contract.mdx | 0 .../02-proof-of-authority/04-etna-upgrade.mdx | 0 .../03-create-an-L1/01-create-subnet.mdx | 2 +- .../03-create-an-L1/02-transparent-proxy.mdx | 0 .../03-create-an-L1/03-genesis-breakdown.mdx | 0 .../04-convert-subnet-to-l1.mdx | 0 .../03-create-an-L1/05-query-l1-details.mdx | 0 .../01-vmc-deployment-intro.mdx | 0 .../02-deploy-validator-manager.mdx | 0 .../03-upgrade-proxy.mdx | 0 .../04-set-initial-configuration.mdx | 0 .../05-initialize-validator-set.mdx | 0 .../06-check-contract.mdx | 0 .../01-introduction.mdx | 0 .../02-query-validator-set.mdx | 0 .../03-add-validator.mdx | 0 .../04-add-validator-demo.mdx | 0 .../05-change-weight.mdx | 0 .../06-change-weight-demo.mdx | 0 .../07-remove-validator.mdx | 0 .../08-remove-validator-demo.mdx | 0 .../09-expired-validator-registration.mdx | 0 .../10-pchain-disable-validator.mdx | 0 .../01-read-validator-manager.mdx | 0 .../02-query-validator-set.mdx | 0 .../03-deploy-poa-manager.mdx | 0 .../04-vmc-deployed-structure.mdx | 0 .../registering-validator.mdx | 0 .../03-deployment-options.mdx | 0 .../permissioned-l1s/certificate.mdx | 0 .../permissioned-l1s/index.mdx | 2 +- .../permissioned-l1s/meta.json | 0 .../01-review/01-pchain-review.mdx | 2 +- .../01-review/02-multi-chain-review.mdx | 2 +- .../01-review/03-permissioned-l1s-review.mdx | 0 .../01-review/04-native-tokenomics-review.mdx | 0 .../02-proof-of-stake/01-introduction.mdx | 2 +- .../02-proof-of-stake/02-staking-token.mdx | 0 .../02-proof-of-stake/03-liquid-staking.mdx | 0 .../01-introduction.mdx | 0 .../02-native-minter.mdx | 0 .../03-reward-manger.mdx | 0 .../03-staking-contract-post-etna.mdx | 0 .../04-register-validators.mdx | 0 .../permissionless-l1s/certificate.mdx | 0 .../permissionless-l1s/index.mdx | 0 .../permissionless-l1s/meta.json | 0 .../01-avalanche-starter-kit.mdx | 19 --- .../03-avalanche-starter-kit/02-set-up.mdx | 13 -- .../03-create-blockchain.mdx | 13 -- .../04-add-blockchain-to-wallet.mdx | 13 -- .../05-add-ewoq-account.mdx | 11 -- .../03-avalanche-starter-kit/06-networks.mdx | 13 -- .../07-pause-and-resume.mdx | 13 -- .../multi-chain-architecture/certificate.mdx | 14 -- .../multi-chain-architecture/index.mdx | 34 ---- .../multi-chain-architecture/meta.json | 24 --- content/academy/meta.json | 2 +- content/docs/rpcs/c-chain/index.mdx | 52 ++---- next-env.d.ts | 2 +- next.config.mjs | 78 ++++----- 387 files changed, 496 insertions(+), 452 deletions(-) create mode 100644 app/(home)/academy/avalanche-l1/config.ts create mode 100644 app/(home)/academy/avalanche-l1/page.tsx delete mode 100644 app/(home)/academy/avalanche/config.ts delete mode 100644 app/(home)/academy/avalanche/page.tsx rename content/academy/{avalanche => avalanche-l1}/avacloudapis/02-overview/01-about.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/02-overview/02-apis-vs-rpc.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/02-overview/03-dataapi-endpoints.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/02-overview/04-webhooks.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/03-environment-setup/01-avacloud-account.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/03-environment-setup/03-what-we-build.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/04-erc20-token-balance-app/01-overview.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/04-erc20-token-balance-app/04-final.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/05-wallet-portfolio-app/01-overview.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/06-block-explorer-app/01-overview.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/06-block-explorer-app/02-understanding-code.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/06-block-explorer-app/03-modifying-code.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/07-using-webhooks/01-overview.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/index.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avacloudapis/meta.json (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/05-interoperability/01-introduction.mdx (93%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/05-interoperability/09-use-cases.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/07b-vm-customization/02-modification.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/07b-vm-customization/03-creation.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/get-certificate.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/index.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/avalanche-fundamentals/meta.json (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/03-development-env-setup/00-intro.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/03-development-env-setup/02-create-codespaces.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/04-your-evm-blockchain/00-intro.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/05-genesis-configuration/01-genesis-block.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/06-precompiles/01-what-are-precompiles.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/06-precompiles/02-why-precompiles.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/07-hash-function-precompile/00-intro.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/00-intro.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/09-unit-tests.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/09-stateful-precompiles/00-intro.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/00-intro.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/index.mdx (97%) rename content/academy/{avalanche => avalanche-l1}/customizing-evm/meta.json (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/04-ccip-icm/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/certificate.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/index.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/icm-chainlink/meta.json (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/02-interoperability/02-source-message-destination.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/04-icm-basics/01-icm-basics.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/04-icm-basics/03-sending-a-message.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/04-icm-basics/07-send-a-message.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/05-two-way-communication/02-sender-contract.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/07-icm-registry/01-icm-registry.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/certificate.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/index.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-messaging/meta.json (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/02-getting-started/01-introduction.mdx (98%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/03-tokens/01-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/03-tokens/02-native-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/12-send-and-call/01-intro.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/14-scaling-decimals/02-example.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/certificate.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/index.mdx (98%) rename content/academy/{avalanche => avalanche-l1}/interchain-token-transfer/meta.json (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/03-precompiles/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/03-precompiles/02-precompiles.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/04-native-minter/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/05-fee-config/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/08-governance/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/08-governance/02-governance-models.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/08-governance/03-daos.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/08-governance/05-governance-20.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/dappVsL1.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/index.mdx (91%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/meta.json (100%) rename content/academy/{avalanche => avalanche-l1}/l1-native-tokenomics/token-ownership.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/meta.json (74%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/01-introduction/01-pchain-review.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/01-introduction/02-multi-chain-review.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/01-introduction/03-interop.mdx (93%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/01-introduction/04-proxy-pattern.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx (92%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/XX-registering-validator/registering-validator.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/certificate.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/index.mdx (94%) rename content/academy/{avalanche => avalanche-l1}/permissioned-l1s/meta.json (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/01-review/01-pchain-review.mdx (55%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/01-review/02-multi-chain-review.mdx (60%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/01-review/04-native-tokenomics-review.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/02-proof-of-stake/01-introduction.mdx (98%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/03-transformation-requirements/01-introduction.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/certificate.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/index.mdx (100%) rename content/academy/{avalanche => avalanche-l1}/permissionless-l1s/meta.json (100%) delete mode 100644 content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx delete mode 100644 content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx delete mode 100644 content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx delete mode 100644 content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx delete mode 100644 content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx delete mode 100644 content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx delete mode 100644 content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx delete mode 100644 content/academy/avalanche/multi-chain-architecture/certificate.mdx delete mode 100644 content/academy/avalanche/multi-chain-architecture/index.mdx delete mode 100644 content/academy/avalanche/multi-chain-architecture/meta.json diff --git a/app/(home)/academy/avalanche-l1/config.ts b/app/(home)/academy/avalanche-l1/config.ts new file mode 100644 index 00000000000..bbca404679d --- /dev/null +++ b/app/(home)/academy/avalanche-l1/config.ts @@ -0,0 +1,12 @@ +import type { AcademyLandingPageConfig } from '@/components/academy/shared/academy-types'; + +export const avalancheDeveloperAcademyLandingPageConfig: AcademyLandingPageConfig = { + id: 'academy-avalanche-l1', + name: 'Avalanche L1 Academy', + heroTitle: 'Avalanche', + heroAccent: 'L1', + heroAccentWords: ['L1 Developer', 'Blockchain', 'Entrepreneur'], + heroDescription: 'Master Avalanche L1 development with hands-on courses covering fundamentals through advanced customization so you can launch production-ready blockchains.', + pathType: 'avalanche', + showBlogs: true, +}; diff --git a/app/(home)/academy/avalanche-l1/page.tsx b/app/(home)/academy/avalanche-l1/page.tsx new file mode 100644 index 00000000000..420c077332c --- /dev/null +++ b/app/(home)/academy/avalanche-l1/page.tsx @@ -0,0 +1,151 @@ +import type { Metadata } from "next"; +import Link from "next/link"; +import { BookOpen, ArrowRight, ExternalLink } from "lucide-react"; +import { createMetadata } from "@/utils/metadata"; +import { blog } from "@/lib/source"; +import { AcademyLayout } from "@/components/academy/shared/academy-layout"; +import { avalancheDeveloperAcademyLandingPageConfig } from "./config"; +import { entrepreneurAcademyLandingPageConfig } from "../entrepreneur/config"; +import type { AcademyPathType } from "@/components/academy/shared/academy-types"; +import { Suspense } from "react"; + +export const metadata: Metadata = createMetadata({ + title: "Avalanche L1 Academy", + description: + "Learn Avalanche L1 development with courses designed for builders launching custom blockchains", + openGraph: { + url: "/academy/avalanche-l1", + images: { + url: "/api/og/academy", + width: 1200, + height: 630, + alt: "Avalanche L1 Academy", + }, + }, + twitter: { + images: { + url: "/api/og/academy", + width: 1200, + height: 630, + alt: "Avalanche L1 Academy", + }, + }, +}); + +type PageProps = { + searchParams?: { + path?: string; + }; +}; + +const isPathType = (value: string | undefined): value is AcademyPathType => { + return value === "avalanche" || value === "blockchain" || value === "entrepreneur"; +}; + +export default function AvalancheAcademyPage({ searchParams }: PageProps): React.ReactElement { + // Get all guides server-side + const blogPages = [...blog.getPages()] + .sort( + (a, b) => + new Date((b.data.date as string) ?? b.url).getTime() - + new Date((a.data.date as string) ?? a.url).getTime() + ) + .slice(0, 9); // Limit to 9 guides + + // Serialize blog data to pass to client component + const blogs = blogPages.map((page) => ({ + url: page.url, + data: { + title: page.data.title || "Untitled", + description: page.data.description || "", + topics: (page.data.topics as string[]) || [], + date: + page.data.date instanceof Date + ? page.data.date.toISOString() + : (page.data.date as string) || "", + }, + file: { + name: page.url, // Use URL instead of file.name in v16 + }, + })); + + const { features } = entrepreneurAcademyLandingPageConfig; + + const entrepreneurBlogsFromConfig = (features?.highlights?.blogs ?? []).map((blogEntry) => ({ + url: blogEntry.link, + data: { + title: blogEntry.title, + description: blogEntry.description, + topics: ['Entrepreneur'], + date: blogEntry.date || '', + }, + file: { + name: blogEntry.id, + }, + })); + + const entrepreneurHighlights = features?.highlights ? ( +

+
+ +

+ {features.highlights.title} +

+
+ +
+ {features.highlights.blogs.map((blog) => ( + +
+

+ {blog.title} +

+ +
+ + {blog.date && ( +

+ {blog.date} +

+ )} + +

+ {blog.description} +

+ +
+ Read article + +
+ + ))} +
+
+ ) : null; + + const initialPathType = isPathType(searchParams?.path) ? searchParams?.path : undefined; + + return ( +
Loading...
}> + 0 ? entrepreneurBlogsFromConfig : blogs, + }} + afterLearningPathByPath={{ + entrepreneur: entrepreneurHighlights, + }} + initialPathType={initialPathType} + /> + + ); +} diff --git a/app/(home)/academy/avalanche/config.ts b/app/(home)/academy/avalanche/config.ts deleted file mode 100644 index 6cb31cecee6..00000000000 --- a/app/(home)/academy/avalanche/config.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { AcademyLandingPageConfig } from '@/components/academy/shared/academy-types'; - -export const avalancheDeveloperAcademyLandingPageConfig: AcademyLandingPageConfig = { - id: 'academy-avalanche', - name: 'Avalanche Academy', - heroTitle: 'Avalanche', - heroAccent: 'Developer', - heroAccentWords: ['Developer', 'Blockchain', 'Entrepreneur'], - heroDescription: 'Master blockchain development with hands-on courses designed specifically for the Avalanche ecosystem. From fundamentals to advanced L1 development, gain the skills to build the next generation of blockchain applications.', - pathType: 'avalanche', - showBlogs: true, -}; diff --git a/app/(home)/academy/avalanche/page.tsx b/app/(home)/academy/avalanche/page.tsx deleted file mode 100644 index aa29b990ec3..00000000000 --- a/app/(home)/academy/avalanche/page.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import type { Metadata } from "next"; -import { createMetadata } from "@/utils/metadata"; -import { blog } from "@/lib/source"; -import { AcademyLayout } from "@/components/academy/shared/academy-layout"; -import { avalancheDeveloperAcademyLandingPageConfig } from "./config"; - -export const metadata: Metadata = createMetadata({ - title: "Avalanche Academy", - description: - "Learn blockchain development with courses designed for the Avalanche ecosystem", - openGraph: { - url: "/academy", - images: { - url: "/api/og/academy", - width: 1200, - height: 630, - alt: "Avalanche Academy", - }, - }, - twitter: { - images: { - url: "/api/og/academy", - width: 1200, - height: 630, - alt: "Avalanche Academy", - }, - }, -}); - -export default function AvalancheAcademyPage(): React.ReactElement { - // Get all guides server-side - const blogPages = [...blog.getPages()] - .sort( - (a, b) => - new Date((b.data.date as string) ?? b.url).getTime() - - new Date((a.data.date as string) ?? a.url).getTime() - ) - .slice(0, 9); // Limit to 9 guides - - // Serialize blog data to pass to client component - const blogs = blogPages.map((page) => ({ - url: page.url, - data: { - title: page.data.title || "Untitled", - description: page.data.description || "", - topics: (page.data.topics as string[]) || [], - date: - page.data.date instanceof Date - ? page.data.date.toISOString() - : (page.data.date as string) || "", - }, - file: { - name: page.url, // Use URL instead of file.name in v16 - }, - })); - - return ( - - ); -} diff --git a/app/(home)/academy/blockchain/page.tsx b/app/(home)/academy/blockchain/page.tsx index a6f0d666213..0d63365eed7 100644 --- a/app/(home)/academy/blockchain/page.tsx +++ b/app/(home)/academy/blockchain/page.tsx @@ -3,6 +3,7 @@ import { createMetadata } from "@/utils/metadata"; import { blog } from "@/lib/source"; import { AcademyLayout } from "@/components/academy/shared/academy-layout"; import { blockchainAcademyLandingPageConfig } from "./config"; +import { Suspense } from "react"; export const metadata: Metadata = createMetadata({ title: "Blockchain Academy", @@ -55,10 +56,17 @@ export default function BlockchainAcademyPage(): React.ReactElement { })); return ( - +
Loading...
}> + + ); } diff --git a/app/(home)/academy/entrepreneur/config.ts b/app/(home)/academy/entrepreneur/config.ts index 3ab22230ee7..4405d00f03c 100644 --- a/app/(home)/academy/entrepreneur/config.ts +++ b/app/(home)/academy/entrepreneur/config.ts @@ -8,7 +8,7 @@ export const entrepreneurAcademyLandingPageConfig: AcademyLandingPageConfig = { heroAccentWords: ['Entrepreneur', 'Founder', 'Builder'], heroDescription: 'Join the next generation of Web3 entrepreneurs. Learn how to build, launch, and scale your blockchain startup with guidance from industry experts and successful founders.', pathType: 'entrepreneur', - showBlogs: false, + showBlogs: true, features: { highlights: { title: 'Entrepreneur Highlights', diff --git a/app/(home)/academy/entrepreneur/page.tsx b/app/(home)/academy/entrepreneur/page.tsx index 3f97cf3b248..4a11e36d7c9 100644 --- a/app/(home)/academy/entrepreneur/page.tsx +++ b/app/(home)/academy/entrepreneur/page.tsx @@ -4,6 +4,8 @@ import { AcademyLayout } from '@/components/academy/shared/academy-layout'; import { entrepreneurAcademyLandingPageConfig } from './config'; import { ArrowRight, BookOpen, ExternalLink } from 'lucide-react'; import Link from 'next/link'; +import { blog } from '@/lib/source'; +import { Suspense } from 'react'; export const metadata: Metadata = createMetadata({ title: 'Entrepreneur Academy', @@ -30,13 +32,44 @@ export const metadata: Metadata = createMetadata({ export default function EntrepreneurAcademyPage(): React.ReactElement { const { features } = entrepreneurAcademyLandingPageConfig; - return ( - - {/* Spotlight stories */} - {features?.highlights && ( + const blogPages = [...blog.getPages()] + .sort( + (a, b) => + new Date((b.data.date as string) ?? b.url).getTime() - + new Date((a.data.date as string) ?? a.url).getTime() + ) + .slice(0, 9); + + const blogs = blogPages.map((page) => ({ + url: page.url, + data: { + title: page.data.title || "Untitled", + description: page.data.description || "", + topics: (page.data.topics as string[]) || [], + date: + page.data.date instanceof Date + ? page.data.date.toISOString() + : (page.data.date as string) || "", + }, + file: { + name: page.url, + }, + })); + + const entrepreneurBlogsFromConfig = (features?.highlights?.blogs ?? []).map((blogEntry) => ({ + url: blogEntry.link, + data: { + title: blogEntry.title, + description: blogEntry.description, + topics: ['Entrepreneur'], + date: blogEntry.date || '', + }, + file: { + name: blogEntry.id, + }, + })); + + const entrepreneurHighlights = features?.highlights ? (
@@ -79,9 +112,22 @@ export default function EntrepreneurAcademyPage(): React.ReactElement { ))}
- )} - - } - /> + ) : null; + + return ( +
Loading...
}> + 0 ? entrepreneurBlogsFromConfig : blogs, + }} + afterLearningPathByPath={{ + entrepreneur: entrepreneurHighlights, + }} + /> + ); } diff --git a/app/(home)/academy/page.tsx b/app/(home)/academy/page.tsx index d01a9875f0b..3fbbb77d532 100644 --- a/app/(home)/academy/page.tsx +++ b/app/(home)/academy/page.tsx @@ -1 +1 @@ -export { default, metadata } from './avalanche/page'; +export { default, metadata } from './avalanche-l1/page'; diff --git a/app/academy/docs-layout-wrapper.tsx b/app/academy/docs-layout-wrapper.tsx index 5393b8815a5..d89d23bed70 100644 --- a/app/academy/docs-layout-wrapper.tsx +++ b/app/academy/docs-layout-wrapper.tsx @@ -35,7 +35,7 @@ export function AcademyDocsLayoutWrapper({ if (pathname.startsWith('/academy/blockchain')) { return blockchainTree ?? defaultTree; } - if (pathname.startsWith('/academy/avalanche')) { + if (pathname === '/academy' || pathname.startsWith('/academy/avalanche-l1')) { return avalancheTree ?? defaultTree; } return defaultTree; diff --git a/app/academy/layout.tsx b/app/academy/layout.tsx index acf53e62f21..3fcb8e9a26d 100644 --- a/app/academy/layout.tsx +++ b/app/academy/layout.tsx @@ -7,7 +7,7 @@ import './styles.css'; export default function Layout({ children }: { children: ReactNode }) { const defaultTree = academy.pageTree; - const avalancheTree = getAcademyTree('/academy/avalanche'); + const avalancheTree = getAcademyTree('/academy/avalanche-l1'); const blockchainTree = getAcademyTree('/academy/blockchain'); const entrepreneurTree = getAcademyTree('/academy/entrepreneur'); diff --git a/app/api/chat/route.ts b/app/api/chat/route.ts index 9625cda7f1b..ec1bae4c970 100644 --- a/app/api/chat/route.ts +++ b/app/api/chat/route.ts @@ -172,11 +172,11 @@ export async function POST(req: Request) { CRITICAL URL RULES - MUST FOLLOW TO PREVENT 404 ERRORS: - **USE EXACT URLS ONLY** - NEVER shorten, truncate, or modify URLs from the context -- **COMPLETE PATHS REQUIRED** - /academy/avalanche-fundamentals/04-creating-an-l1 is WRONG, use /academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 +- **COMPLETE PATHS REQUIRED** - /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1 is WRONG, use /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 - Academy content is at /academy/... NOT /docs/academy/... - Documentation is at /docs/... - NEVER prefix academy URLs with /docs/ -- When you see a page title with URL in parentheses like "Creating an L1 (/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)", use the FULL URL +- When you see a page title with URL in parentheses like "Creating an L1 (/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)", use the FULL URL - Partial or shortened URLs WILL cause 404 errors - ALWAYS use the complete path from the context CORE RESPONSIBILITIES: @@ -269,9 +269,9 @@ ALWAYS respond with: "You can get testnet AVAX from the [Console Faucet](https:/ CITATION FORMAT - EXACT URLs REQUIRED: - **COPY URLS EXACTLY** from the documentation context - do NOT shorten or modify them - When you see "Page Title (/exact/path/to/page)", use the COMPLETE path: https://build.avax.network/exact/path/to/page -- Example: "Creating an L1 (/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)" - → Link as: https://build.avax.network/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 - → NOT: https://build.avax.network/academy/avalanche-fundamentals/04-creating-an-l1 (missing final segment) +- Example: "Creating an L1 (/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)" + → Link as: https://build.avax.network/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 + → NOT: https://build.avax.network/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1 (missing final segment) - NEVER prefix academy with /docs/ - Academy URLs are /academy/... NOT /docs/academy/... - NEVER truncate URLs - missing segments cause 404 errors - Quote relevant sections when helpful @@ -349,20 +349,20 @@ URL RULES - CRITICAL FOR PREVENTING 404 ERRORS: 2. **NEVER shorten, truncate, or modify URLs** - Use the COMPLETE path exactly as shown 3. **NEVER construct or guess URLs** - Only use URLs that appear in full in the context 4. **NEVER mix prefixes** - Academy URLs use /academy/, NOT /docs/academy/ -5. **USE FULL PATHS** - /academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 NOT /academy/avalanche-fundamentals/04-creating-an-l1 +5. **USE FULL PATHS** - /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 NOT /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1 6. Every URL you provide MUST be the complete path from the context or valid URLs list 7. When you see "Page Title (/full/path/to/page)" in the context, use the ENTIRE path in parentheses 8. Partial URLs WILL cause 404 errors - there is no auto-redirect to index pages Examples of what NOT to do: - ❌ https://build.avax.network/docs/academy/... (Never prefix academy with /docs/) -- ❌ https://build.avax.network/academy/avalanche-fundamentals/04-creating-an-l1 (Truncated URL - missing /01-creating-an-l1) +- ❌ https://build.avax.network/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1 (Truncated URL - missing /01-creating-an-l1) - ❌ https://build.avax.network/docs/nodes/system-requirements (if not in valid URLs) - ❌ https://build.avax.network/academy/interchain-messaging/intro (if not in valid URLs) Examples of what TO do: -- ✅ Use EXACT URLs: https://build.avax.network/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 -- ✅ Copy the FULL path from context: "Creating an L1 (/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)" +- ✅ Use EXACT URLs: https://build.avax.network/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1 +- ✅ Copy the FULL path from context: "Creating an L1 (/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1)" - ✅ Never shorten URLs - use the complete path even if it seems long - ✅ Always verify the URL is complete by checking it matches what's in the context - ✅ Double-check the valid URLs list before every link @@ -372,7 +372,7 @@ The complete list of valid URLs will be provided at the end of this prompt. FINAL REMINDER ABOUT URLS: - The documentation context shows pages like "Title (/full/path/to/page)" - USE THE ENTIRE PATH - Shortened URLs WILL NOT WORK - there are no automatic redirects to index pages -- If you cite /academy/avalanche-fundamentals/04-creating-an-l1 instead of /academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1, it WILL 404 +- If you cite /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1 instead of /academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1, it WILL 404 - ALWAYS use the COMPLETE URL exactly as shown in the context or valid URLs list FOLLOW-UP QUESTIONS - CRITICAL FORMAT: diff --git a/app/layout.config.tsx b/app/layout.config.tsx index 5ec8bff1048..205b60664c8 100644 --- a/app/layout.config.tsx +++ b/app/layout.config.tsx @@ -27,7 +27,6 @@ import { Earth, ArrowLeftRight, Shield, - Triangle, GraduationCap, BookOpen, Users, @@ -233,10 +232,10 @@ export const academyMenu: LinkItemType = { className: 'md:row-span-2', }, icon: , - text: 'Avalanche Academy', + text: 'Avalanche L1 Academy', description: 'Master blockchain development with comprehensive courses on Avalanche fundamentals, L1s, and advanced topics', - url: '/academy', + url: '/academy?path=avalanche-l1', }, { menu: { @@ -260,27 +259,31 @@ export const academyMenu: LinkItemType = { text: 'Entrepreneur Academy', description: 'Transform from builder to founder with courses on business fundamentals, fundraising, and go-to-market strategies', - url: '/academy/entrepreneur', + url: '/academy?path=entrepreneur', }, { - icon: , - text: 'Avalanche Fundamentals', - description: - 'Get a high level overview of Avalanche Consensus, L1s and VMs', - url: '/academy/avalanche-fundamentals', menu: { - className: 'lg:col-start-3 lg:row-start-1', + banner: ( +
+ Blockchain Academy +
+ ), + className: 'md:row-span-2 lg:col-start-3', }, - }, - { - icon: , - text: 'Check All Courses', + icon: , + text: 'Blockchain Academy', description: - 'Supercharge your learning journey with expert-curated courses offered by Avalanche Academy and earn certificates.', - url: '/academy', - menu: { - className: 'lg:col-start-3', - }, + 'Build a rock-solid foundation in blockchain fundamentals, smart contracts, and privacy-preserving tech.', + url: '/academy?path=blockchain', }, ], }; diff --git a/components/academy/learning-path-configs/avalanche.config.ts b/components/academy/learning-path-configs/avalanche.config.ts index 6695a962b12..39ccb47099b 100644 --- a/components/academy/learning-path-configs/avalanche.config.ts +++ b/components/academy/learning-path-configs/avalanche.config.ts @@ -7,7 +7,7 @@ export const avalancheLearningPaths: CourseNode[] = [ id: "avalanche-fundamentals", name: "Avalanche Fundamentals", description: "Learn about Avalanche Consensus, Multi-Chain Architecture, and VMs", - slug: "avalanche/avalanche-fundamentals", + slug: "avalanche-l1/avalanche-fundamentals", category: "Fundamentals", position: { x: 50, y: 0 }, mobileOrder: 1 @@ -17,7 +17,7 @@ export const avalancheLearningPaths: CourseNode[] = [ id: "customizing-evm", name: "Customizing the EVM", description: "Add custom precompiles and configure the EVM", - slug: "avalanche/customizing-evm", + slug: "avalanche-l1/customizing-evm", category: "VM Customization", dependencies: ["avalanche-fundamentals"], position: { x:90, y: 250 }, @@ -27,7 +27,7 @@ export const avalancheLearningPaths: CourseNode[] = [ id: "interchain-messaging", name: "Interchain Messaging", description: "Build apps leveraging Avalanche's Interchain Messaging", - slug: "avalanche/interchain-messaging", + slug: "avalanche-l1/interchain-messaging", category: "Interoperability", dependencies: ["avalanche-fundamentals"], position: { x: 65, y: 250 }, @@ -37,7 +37,7 @@ export const avalancheLearningPaths: CourseNode[] = [ id: "permissioned-l1s", name: "Permissioned L1s", description: "Create and manage permissioned blockchains with Proof of Authority", - slug: "avalanche/permissioned-l1s", + slug: "avalanche-l1/permissioned-l1s", category: "L1 Development", dependencies: ["avalanche-fundamentals"], position: { x: 15, y: 250 }, @@ -47,7 +47,7 @@ export const avalancheLearningPaths: CourseNode[] = [ id: "l1-native-tokenomics", name: "L1 Native Tokenomics", description: "Design L1 economics with custom token, native minting rights and transaction fees", - slug: "avalanche/l1-native-tokenomics", + slug: "avalanche-l1/l1-native-tokenomics", category: "L1 Tokenomics", dependencies: ["avalanche-fundamentals"], position: { x: 40, y: 250 }, @@ -58,7 +58,7 @@ export const avalancheLearningPaths: CourseNode[] = [ id: "interchain-token-transfer", name: "Interchain Token Transfer", description: "Transfer assets between chains using Interchain Messaging", - slug: "avalanche/interchain-token-transfer", + slug: "avalanche-l1/interchain-token-transfer", category: "Interoperability", dependencies: ["interchain-messaging"], position: { x: 85, y: 500 }, @@ -68,7 +68,7 @@ export const avalancheLearningPaths: CourseNode[] = [ id: "icm-chainlink", name: "Chainlink via ICM", description: "Use Chainlink services on an L1 through the Interchain Messaging", - slug: "avalanche/icm-chainlink", + slug: "avalanche-l1/icm-chainlink", category: "Interoperability", dependencies: ["interchain-messaging"], position: { x: 55, y: 500 }, @@ -78,7 +78,7 @@ export const avalancheLearningPaths: CourseNode[] = [ id: "permissionless-l1s", name: "Permissionless L1s", description: "Create and manage permissionless blockchains with Proof of Stake", - slug: "avalanche/permissionless-l1s", + slug: "avalanche-l1/permissionless-l1s", category: "L1 Development", dependencies: ["permissioned-l1s", "l1-native-tokenomics"], position: { x: 25, y: 500 }, diff --git a/components/academy/shared/academy-bubble.config.tsx b/components/academy/shared/academy-bubble.config.tsx index 95aea3e3390..e8888809585 100644 --- a/components/academy/shared/academy-bubble.config.tsx +++ b/components/academy/shared/academy-bubble.config.tsx @@ -2,10 +2,11 @@ import BubbleNavigation from '@/components/navigation/BubbleNavigation'; import type { BubbleNavigationConfig } from '@/components/navigation/bubble-navigation.types'; +import type { AcademyPathType } from './academy-types'; export const academyBubbleConfig: BubbleNavigationConfig = { items: [ - { id: "avalanche", label: "Avalanche", href: "/academy" }, + { id: "avalanche", label: "Avalanche L1", href: "/academy/avalanche-l1" }, { id: "blockchain", label: "Blockchain", href: "/academy/blockchain" }, { id: "entrepreneur", label: "Entrepreneur", href: "/academy/entrepreneur" }, ], @@ -18,7 +19,15 @@ export const academyBubbleConfig: BubbleNavigationConfig = { buttonSpacing: "space-x-3", }; -export function AcademyBubbleNav() { +interface AcademyBubbleNavProps { + activePath?: AcademyPathType; + onChange?: (path: AcademyPathType) => void; +} + +export function AcademyBubbleNav(props: AcademyBubbleNavProps = {}) { + const { activePath, onChange } = props; + + if (!activePath || !onChange) { const getActiveItem = (pathname: string, items: typeof academyBubbleConfig.items) => { if (pathname === "/academy/entrepreneur" || pathname.startsWith("/academy/entrepreneur/")) { return "entrepreneur"; @@ -26,7 +35,8 @@ export function AcademyBubbleNav() { return "blockchain"; } else if ( pathname === "/academy" || - pathname.startsWith("/academy/avalanche") || + pathname === "/academy/avalanche-l1" || + pathname.startsWith("/academy/avalanche-l1/") || (pathname.startsWith("/academy/") && !pathname.startsWith("/academy/blockchain") && !pathname.startsWith("/academy/entrepreneur")) @@ -37,4 +47,13 @@ export function AcademyBubbleNav() { }; return ; + } + + return ( + onChange(item.id as AcademyPathType)} + /> + ); } diff --git a/components/academy/shared/academy-layout.tsx b/components/academy/shared/academy-layout.tsx index 8eee0a2fe00..bf9f8b2ad02 100644 --- a/components/academy/shared/academy-layout.tsx +++ b/components/academy/shared/academy-layout.tsx @@ -1,9 +1,13 @@ +'use client'; + import { HeroBackground } from '@/components/landing/hero'; import { AcademyHero } from './academy-hero'; import { AcademyLearningPath } from './academy-learning-path'; import { AcademyBlogSection } from './academy-blog-section'; -import type { AcademyLandingPageConfig } from './academy-types'; +import type { AcademyLandingPageConfig, AcademyPathType } from './academy-types'; import { AcademyBubbleNav } from './academy-bubble.config'; +import { useEffect, useMemo, useState, type ReactNode } from 'react'; +import { usePathname, useRouter, useSearchParams } from 'next/navigation'; interface BlogPage { url: string; @@ -21,11 +25,71 @@ interface BlogPage { interface AcademyLayoutProps { config: AcademyLandingPageConfig; blogs?: BlogPage[]; - children?: React.ReactNode; - afterLearningPath?: React.ReactNode; + blogsByPath?: Partial>; + children?: ReactNode; + afterLearningPath?: ReactNode; + afterLearningPathByPath?: Partial>; + initialPathType?: AcademyPathType | null; } -export function AcademyLayout({ config, blogs = [], children, afterLearningPath }: AcademyLayoutProps) { +export function AcademyLayout({ + config, + blogs = [], + blogsByPath, + children, + afterLearningPath, + afterLearningPathByPath, + initialPathType = null, +}: AcademyLayoutProps) { + const [activePath, setActivePath] = useState(initialPathType ?? config.pathType); + const pathname = usePathname(); + const router = useRouter(); + const searchParams = useSearchParams(); + const isAcademyRoot = pathname === '/academy'; + + const normalizePathType = (value: string | null): AcademyPathType | null => { + if (!value) return null; + if (value === 'avalanche' || value === 'avalanche-l1') return 'avalanche'; + if (value === 'blockchain' || value === 'entrepreneur') return value; + return null; + }; + + useEffect(() => { + if (!isAcademyRoot) { + setActivePath(initialPathType ?? config.pathType); + return; + } + + const paramPath = normalizePathType(searchParams?.get('path')); + if (paramPath && paramPath !== activePath) { + setActivePath(paramPath); + return; + } + + if (paramPath === null && initialPathType && initialPathType !== activePath) { + setActivePath(initialPathType); + } + }, [config.pathType, initialPathType, isAcademyRoot, searchParams, activePath]); + + const resolvedBlogs = useMemo(() => { + if (blogsByPath) { + const blogsForPath = blogsByPath[activePath]; + if (blogsForPath && blogsForPath.length > 0) { + return blogsForPath; + } + } + return blogs; + }, [blogsByPath, blogs, activePath]); + + const resolvedAfterLearningPath = useMemo(() => { + if (afterLearningPathByPath) { + return afterLearningPathByPath[activePath] ?? null; + } + return afterLearningPath ?? null; + }, [afterLearningPath, afterLearningPathByPath, activePath]); + + const shouldShowBlogs = config.showBlogs && resolvedBlogs.length > 0; + return ( <> @@ -39,27 +103,27 @@ export function AcademyLayout({ config, blogs = [], children, afterLearningPath
- {/* Custom content before learning path */} {children} - {/* Learning Tree Section */} - {/* Custom content after learning path */} - {afterLearningPath} + {resolvedAfterLearningPath} - {/* Blog Section - only if enabled */} - {config.showBlogs && blogs.length > 0 && ( - + {shouldShowBlogs && ( + )}
- {/* Bubble Navigation */} - + { + setActivePath(nextPath); + }} + /> ); } diff --git a/components/academy/shared/academy-learning-path.tsx b/components/academy/shared/academy-learning-path.tsx index 19e2b9ac446..cd62fbdfb6a 100644 --- a/components/academy/shared/academy-learning-path.tsx +++ b/components/academy/shared/academy-learning-path.tsx @@ -1,11 +1,11 @@ import LearningTree from '@/components/academy/learning-tree'; +import type { AcademyPathType } from './academy-types'; interface AcademyLearningPathProps { - defaultPathType: 'avalanche' | 'entrepreneur' | 'blockchain'; + pathType: AcademyPathType; } -export function AcademyLearningPath({ defaultPathType }: AcademyLearningPathProps) { - const pathType = defaultPathType; +export function AcademyLearningPath({ pathType }: AcademyLearningPathProps) { return (
@@ -13,7 +13,10 @@ export function AcademyLearningPath({ defaultPathType }: AcademyLearningPathProp

Learning Path for{" "} {pathType === 'avalanche' ? ( - "Avalanche" + <> + Avalanche L1 + {" "}Developer + ) : pathType === 'blockchain' ? ( <> Blockchain @@ -35,7 +38,7 @@ export function AcademyLearningPath({ defaultPathType }: AcademyLearningPathProp {pathType === 'avalanche' - ? 'Start with Avalanche fundamentals and advance to custom L1s' + ? 'Start with Avalanche L1 fundamentals and advance to custom L1s' : pathType === 'blockchain' ? 'Master blockchain basics and smart contract development' : 'Build your foundation, scale your venture' diff --git a/components/academy/shared/academy-types.tsx b/components/academy/shared/academy-types.tsx index ed331ea9969..d002cf62ea8 100644 --- a/components/academy/shared/academy-types.tsx +++ b/components/academy/shared/academy-types.tsx @@ -1,5 +1,18 @@ import type { ReactNode } from 'react'; +export type AcademyPathType = 'avalanche' | 'entrepreneur' | 'blockchain'; + +type BlogFeature = { + title: string; + blogs: Array<{ + id: string; + title: string; + description: string; + date?: string; + link: string; + }>; +}; + export interface AcademyLandingPageConfig { id: string; name: string; @@ -7,19 +20,11 @@ export interface AcademyLandingPageConfig { heroAccent: string; heroAccentWords?: string[]; heroDescription: string; - pathType: 'avalanche' | 'entrepreneur' | 'blockchain'; + pathType: AcademyPathType; customContent?: ReactNode; showBlogs?: boolean; features?: { - codebaseBlogs?: { - title: string; - blogs: Array<{ - id: string; - title: string; - description: string; - date?: string; - link: string; - }>; - }; + codebaseBlogs?: BlogFeature; + highlights?: BlogFeature; }; } \ No newline at end of file diff --git a/components/landing/paths.tsx b/components/landing/paths.tsx index af368f66c3c..683c463f6a9 100644 --- a/components/landing/paths.tsx +++ b/components/landing/paths.tsx @@ -25,7 +25,7 @@ const paths = [ title: "Launch an L1", description: "Launch your own L1", icon: Rocket, - href: "/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1" + href: "/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1" }, { id: 3, diff --git a/components/navigation/BubbleNavigation.tsx b/components/navigation/BubbleNavigation.tsx index bcf1db059c6..158276c0a75 100644 --- a/components/navigation/BubbleNavigation.tsx +++ b/components/navigation/BubbleNavigation.tsx @@ -7,30 +7,40 @@ import type { BubbleNavigationConfig } from "./bubble-navigation.types"; interface BubbleNavigationProps { config: BubbleNavigationConfig; getActiveItem?: (pathname: string, items: BubbleNavigationConfig['items']) => string; + activeItem?: string; + onSelect?: (item: BubbleNavigationConfig['items'][number]) => void; } export default function BubbleNavigation({ config, - getActiveItem + getActiveItem, + activeItem: controlledActiveItem, + onSelect, }: BubbleNavigationProps) { const pathname = usePathname(); const router = useRouter(); - const [activeItem, setActiveItem] = useState(""); + const isControlled = typeof controlledActiveItem === "string"; + const [uncontrolledActiveItem, setUncontrolledActiveItem] = useState(""); const [hoveredItem, setHoveredItem] = useState(null); const [bottomOffset, setBottomOffset] = useState(32); const navRef = useRef(null); useEffect(() => { // Use custom logic if provided, otherwise default to exact path matching + if (isControlled) return; + if (getActiveItem) { - setActiveItem(getActiveItem(pathname, config.items)); - } else { - const currentItem = config.items.find((item) => pathname === item.href); + setUncontrolledActiveItem(getActiveItem(pathname, config.items)); + return; + } + + const currentItem = config.items.find( + (item) => item.href && pathname === item.href + ); if (currentItem) { - setActiveItem(currentItem.id); - } + setUncontrolledActiveItem(currentItem.id); } - }, [pathname, config.items, getActiveItem]); + }, [pathname, config.items, getActiveItem, isControlled]); useEffect(() => { const handleScroll = () => { @@ -68,9 +78,20 @@ export default function BubbleNavigation({ }; }, []); + const resolvedActiveItem = isControlled + ? controlledActiveItem! + : uncontrolledActiveItem; + const handleItemClick = (item: BubbleNavigationConfig['items'][0]) => { - setActiveItem(item.id); + if (onSelect) { + onSelect(item); + return; + } + + if (item.href) { + setUncontrolledActiveItem(item.id); router.push(item.href); + } }; return ( @@ -87,7 +108,7 @@ export default function BubbleNavigation({ )}>
{config.items.map((item) => { - const isActive = activeItem === item.id; + const isActive = resolvedActiveItem === item.id; const isHovered = hoveredItem === item.id; return ( diff --git a/components/navigation/bubble-navigation.types.ts b/components/navigation/bubble-navigation.types.ts index 433f17e6f0e..fd90eb6acfe 100644 --- a/components/navigation/bubble-navigation.types.ts +++ b/components/navigation/bubble-navigation.types.ts @@ -1,7 +1,7 @@ export interface BubbleNavItem { id: string; label: string; - href: string; + href?: string; } export interface BubbleNavigationConfig { diff --git a/components/navigation/navbar-dropdown.tsx b/components/navigation/navbar-dropdown.tsx index febf4aa49f9..6c9b9825e1b 100644 --- a/components/navigation/navbar-dropdown.tsx +++ b/components/navigation/navbar-dropdown.tsx @@ -41,9 +41,9 @@ export function NavbarDropdown() { title: 'Academy', href: '/academy', items: [ - { text: 'Avalanche Academy', href: '/academy' }, - { text: 'Entrepreneur Academy', href: '/academy/entrepreneur' }, - { text: 'Avalanche Fundamentals', href: '/academy/avalanche-fundamentals' }, + { text: 'Avalanche L1 Academy', href: '/academy?path=avalanche-l1' }, + { text: 'Blockchain Academy', href: '/academy?path=blockchain' }, + { text: 'Entrepreneur Academy', href: '/academy?path=entrepreneur' }, ], }, { diff --git a/content/academy/avalanche/avacloudapis/02-overview/01-about.mdx b/content/academy/avalanche-l1/avacloudapis/02-overview/01-about.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/02-overview/01-about.mdx rename to content/academy/avalanche-l1/avacloudapis/02-overview/01-about.mdx diff --git a/content/academy/avalanche/avacloudapis/02-overview/02-apis-vs-rpc.mdx b/content/academy/avalanche-l1/avacloudapis/02-overview/02-apis-vs-rpc.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/02-overview/02-apis-vs-rpc.mdx rename to content/academy/avalanche-l1/avacloudapis/02-overview/02-apis-vs-rpc.mdx diff --git a/content/academy/avalanche/avacloudapis/02-overview/03-dataapi-endpoints.mdx b/content/academy/avalanche-l1/avacloudapis/02-overview/03-dataapi-endpoints.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/02-overview/03-dataapi-endpoints.mdx rename to content/academy/avalanche-l1/avacloudapis/02-overview/03-dataapi-endpoints.mdx diff --git a/content/academy/avalanche/avacloudapis/02-overview/04-webhooks.mdx b/content/academy/avalanche-l1/avacloudapis/02-overview/04-webhooks.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/02-overview/04-webhooks.mdx rename to content/academy/avalanche-l1/avacloudapis/02-overview/04-webhooks.mdx diff --git a/content/academy/avalanche/avacloudapis/03-environment-setup/01-avacloud-account.mdx b/content/academy/avalanche-l1/avacloudapis/03-environment-setup/01-avacloud-account.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/03-environment-setup/01-avacloud-account.mdx rename to content/academy/avalanche-l1/avacloudapis/03-environment-setup/01-avacloud-account.mdx diff --git a/content/academy/avalanche/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx b/content/academy/avalanche-l1/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx rename to content/academy/avalanche-l1/avacloudapis/03-environment-setup/02-setup-starter-kit.mdx diff --git a/content/academy/avalanche/avacloudapis/03-environment-setup/03-what-we-build.mdx b/content/academy/avalanche-l1/avacloudapis/03-environment-setup/03-what-we-build.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/03-environment-setup/03-what-we-build.mdx rename to content/academy/avalanche-l1/avacloudapis/03-environment-setup/03-what-we-build.mdx diff --git a/content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/01-overview.mdx b/content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/01-overview.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/01-overview.mdx rename to content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/01-overview.mdx diff --git a/content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx b/content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx rename to content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/02-understanding-code.mdx diff --git a/content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx b/content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx rename to content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/03-modifying-code.mdx diff --git a/content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/04-final.mdx b/content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/04-final.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/04-erc20-token-balance-app/04-final.mdx rename to content/academy/avalanche-l1/avacloudapis/04-erc20-token-balance-app/04-final.mdx diff --git a/content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/01-overview.mdx b/content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/01-overview.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/01-overview.mdx rename to content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/01-overview.mdx diff --git a/content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx b/content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx rename to content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/02-understanding-code.mdx diff --git a/content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx b/content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx rename to content/academy/avalanche-l1/avacloudapis/05-wallet-portfolio-app/03-modifying-code.mdx diff --git a/content/academy/avalanche/avacloudapis/06-block-explorer-app/01-overview.mdx b/content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/01-overview.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/06-block-explorer-app/01-overview.mdx rename to content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/01-overview.mdx diff --git a/content/academy/avalanche/avacloudapis/06-block-explorer-app/02-understanding-code.mdx b/content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/02-understanding-code.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/06-block-explorer-app/02-understanding-code.mdx rename to content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/02-understanding-code.mdx diff --git a/content/academy/avalanche/avacloudapis/06-block-explorer-app/03-modifying-code.mdx b/content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/03-modifying-code.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/06-block-explorer-app/03-modifying-code.mdx rename to content/academy/avalanche-l1/avacloudapis/06-block-explorer-app/03-modifying-code.mdx diff --git a/content/academy/avalanche/avacloudapis/07-using-webhooks/01-overview.mdx b/content/academy/avalanche-l1/avacloudapis/07-using-webhooks/01-overview.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/07-using-webhooks/01-overview.mdx rename to content/academy/avalanche-l1/avacloudapis/07-using-webhooks/01-overview.mdx diff --git a/content/academy/avalanche/avacloudapis/index.mdx b/content/academy/avalanche-l1/avacloudapis/index.mdx similarity index 100% rename from content/academy/avalanche/avacloudapis/index.mdx rename to content/academy/avalanche-l1/avacloudapis/index.mdx diff --git a/content/academy/avalanche/avacloudapis/meta.json b/content/academy/avalanche-l1/avacloudapis/meta.json similarity index 100% rename from content/academy/avalanche/avacloudapis/meta.json rename to content/academy/avalanche-l1/avacloudapis/meta.json diff --git a/content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/01-avalanche-consensus-intro.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/02-consensus-mechanisms.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/03-snowman-consensus.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/02-avalanche-consensus-intro/04-tps-vs-ttf.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/02-L1.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/03-benefits.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/03a-etna-upgrade.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/04-custom-blockchains-vs-layer-2.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/05-setup-core.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/06-use-dexalot.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01a-create-builder-account.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/02-connect-core.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/02a-claim-testnet-tokens.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/03-network-architecture.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/05-create-blockchain.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/06-run-a-node.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/07-convert-subnet-l1.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/08-test-l1.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/09-remove-node.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/05-interoperability/01-introduction.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/01-introduction.mdx similarity index 93% rename from content/academy/avalanche/avalanche-fundamentals/05-interoperability/01-introduction.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/01-introduction.mdx index 669f75d037c..aa24a9cc55a 100644 --- a/content/academy/avalanche/avalanche-fundamentals/05-interoperability/01-introduction.mdx +++ b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/01-introduction.mdx @@ -8,7 +8,7 @@ icon: Book -Now that we know about [Avalanche's Multichain Architecture](/academy/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture) it is important we understand how we achieve **native interoperability** between all of these chains. +Now that we know about [Avalanche's Multichain Architecture](/academy/avalanche-l1/avalanche-fundamentals/03-multi-chain-architecture-intro/01-multi-chain-architecture) it is important we understand how we achieve **native interoperability** between all of these chains. ## What is Interoperability diff --git a/content/academy/avalanche/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/02-source-message-destination.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/04-signature-schemes.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/05-signature-demo.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/06-multi-signatures.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/07-multi-signature-demo.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/08-signature-aggregation.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/05-interoperability/09-use-cases.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/09-use-cases.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/05-interoperability/09-use-cases.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/09-use-cases.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07-independent-tokenomics/01-independent-tokenomics.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07-independent-tokenomics/11-staking-token.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/00-vm-customization.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/01-configuration.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/02-modification.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/02-modification.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/02-modification.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/02-modification.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/03-creation.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/03-creation.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/07b-vm-customization/03-creation.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/07b-vm-customization/03-creation.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/01-permissioning.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/02-compliance.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/04-tx-allowlist.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/05-activate-tx-allowlist.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/06-contract-deployer-allowlist.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/08-permissioning-users/07-activate-contract-deployer-allowlist.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/01-permissioning-validators.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/02-private-blockchains.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/09-permissioning-validators/03-case-study-intain-markets.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/get-certificate.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/get-certificate.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/get-certificate.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/get-certificate.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/index.mdx b/content/academy/avalanche-l1/avalanche-fundamentals/index.mdx similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/index.mdx rename to content/academy/avalanche-l1/avalanche-fundamentals/index.mdx diff --git a/content/academy/avalanche/avalanche-fundamentals/meta.json b/content/academy/avalanche-l1/avalanche-fundamentals/meta.json similarity index 100% rename from content/academy/avalanche/avalanche-fundamentals/meta.json rename to content/academy/avalanche-l1/avalanche-fundamentals/meta.json diff --git a/content/academy/avalanche/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx b/content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx rename to content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/01-origin-of-evm.mdx diff --git a/content/academy/avalanche/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx b/content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx rename to content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/02-accounts-keys-address.mdx diff --git a/content/academy/avalanche/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx b/content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx rename to content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/03-transactons-and-blocks.mdx diff --git a/content/academy/avalanche/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx b/content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx rename to content/academy/avalanche-l1/customizing-evm/02-intro-to-evm/05-different-evm-versions.mdx diff --git a/content/academy/avalanche/customizing-evm/03-development-env-setup/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/03-development-env-setup/00-intro.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/03-development-env-setup/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/03-development-env-setup/00-intro.mdx diff --git a/content/academy/avalanche/customizing-evm/03-development-env-setup/02-create-codespaces.mdx b/content/academy/avalanche-l1/customizing-evm/03-development-env-setup/02-create-codespaces.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/03-development-env-setup/02-create-codespaces.mdx rename to content/academy/avalanche-l1/customizing-evm/03-development-env-setup/02-create-codespaces.mdx diff --git a/content/academy/avalanche/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx b/content/academy/avalanche-l1/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx rename to content/academy/avalanche-l1/customizing-evm/03-development-env-setup/03-codespace-in-vscode.mdx diff --git a/content/academy/avalanche/customizing-evm/04-your-evm-blockchain/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/00-intro.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/04-your-evm-blockchain/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/00-intro.mdx diff --git a/content/academy/avalanche/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx b/content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx rename to content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/01-avalanche-cli.mdx diff --git a/content/academy/avalanche/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx b/content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx rename to content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/02-create-your-blockchain.mdx diff --git a/content/academy/avalanche/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx b/content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx rename to content/academy/avalanche-l1/customizing-evm/04-your-evm-blockchain/03-sending-tokens.mdx diff --git a/content/academy/avalanche/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/00-vm-configuration.mdx diff --git a/content/academy/avalanche/customizing-evm/05-genesis-configuration/01-genesis-block.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/01-genesis-block.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/05-genesis-configuration/01-genesis-block.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/01-genesis-block.mdx diff --git a/content/academy/avalanche/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/02-create-your-genesis.mdx diff --git a/content/academy/avalanche/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/03-setup-chainid.mdx diff --git a/content/academy/avalanche/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/04-gas-fees-and-limit.mdx diff --git a/content/academy/avalanche/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/05-gas-fee-configuration.mdx diff --git a/content/academy/avalanche/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/06-configuring-gas-fees.mdx diff --git a/content/academy/avalanche/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/07-initial-token-allocation.mdx diff --git a/content/academy/avalanche/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx b/content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx rename to content/academy/avalanche-l1/customizing-evm/05-genesis-configuration/08-build-and-run-custom-genesis-blockchain.mdx diff --git a/content/academy/avalanche/customizing-evm/06-precompiles/01-what-are-precompiles.mdx b/content/academy/avalanche-l1/customizing-evm/06-precompiles/01-what-are-precompiles.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/06-precompiles/01-what-are-precompiles.mdx rename to content/academy/avalanche-l1/customizing-evm/06-precompiles/01-what-are-precompiles.mdx diff --git a/content/academy/avalanche/customizing-evm/06-precompiles/02-why-precompiles.mdx b/content/academy/avalanche-l1/customizing-evm/06-precompiles/02-why-precompiles.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/06-precompiles/02-why-precompiles.mdx rename to content/academy/avalanche-l1/customizing-evm/06-precompiles/02-why-precompiles.mdx diff --git a/content/academy/avalanche/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/06-precompiles/03-interact-wtih-precompile.mdx diff --git a/content/academy/avalanche/customizing-evm/07-hash-function-precompile/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/00-intro.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/07-hash-function-precompile/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/00-intro.mdx diff --git a/content/academy/avalanche/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/avalanche/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/02-generate-the-precompile.mdx diff --git a/content/academy/avalanche/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/03-unpack-input-pack-output.mdx diff --git a/content/academy/avalanche/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/04-implementing-precompile.mdx diff --git a/content/academy/avalanche/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/05-configkey-and-contractaddr.mdx diff --git a/content/academy/avalanche/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/06-register-precompile.mdx diff --git a/content/academy/avalanche/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/07-build-and-run.mdx diff --git a/content/academy/avalanche/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx b/content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx rename to content/academy/avalanche-l1/customizing-evm/07-hash-function-precompile/08-interact-with-md5.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/00-intro.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/00-intro.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/02-generating-precompile.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/03-unpacking-and-packing.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/04-implementing-precompile.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/05-set-configkey-contractaddr.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/06-create-genesis-block.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/07-testing-precompile.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/08-autogenerated-tests.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/09-unit-tests.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/09-unit-tests.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/09-unit-tests.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/09-unit-tests.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/10-fuzz-tests.mdx diff --git a/content/academy/avalanche/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx b/content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx rename to content/academy/avalanche-l1/customizing-evm/08-calculator-precompile/11-test-calculatorplus.mdx diff --git a/content/academy/avalanche/customizing-evm/09-stateful-precompiles/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/09-stateful-precompiles/00-intro.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/09-stateful-precompiles/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/09-stateful-precompiles/00-intro.mdx diff --git a/content/academy/avalanche/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/09-stateful-precompiles/01-interacting-with-precompile.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/00-intro.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/00-intro.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/00-intro.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/00-intro.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/01-create-solidity-interface.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/02-store-data-in-evm.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/03-implement-set-counter.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/04-read-date-from-evm.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/05-implement-getcounter-increment.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/06-setting-base-gasfees.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/07-set-configkey-contractaddr.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/08-initial-state.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/09-define-default-values-via-go.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/10-define-default-values-via-genesis.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/11-testing-precompile-hardhat.mdx diff --git a/content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx b/content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx similarity index 100% rename from content/academy/avalanche/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx rename to content/academy/avalanche-l1/customizing-evm/10-stateful-counter-precompile/12-build-your-precompile.mdx diff --git a/content/academy/avalanche/customizing-evm/index.mdx b/content/academy/avalanche-l1/customizing-evm/index.mdx similarity index 97% rename from content/academy/avalanche/customizing-evm/index.mdx rename to content/academy/avalanche-l1/customizing-evm/index.mdx index c79f026b8cc..b3bda3ada60 100644 --- a/content/academy/avalanche/customizing-evm/index.mdx +++ b/content/academy/avalanche-l1/customizing-evm/index.mdx @@ -101,7 +101,7 @@ This course is intended for people with a solid understanding of the basic conce 1. **Virtual Machines**: What they are and what VM customization means 2. **Blockchains**: What the components are of a blockchain and how they interact, specifically how Avalanche L1s leverage precompiles. -If some of this is not clear, I strongly recommend taking the [Avalanche Fundamentals](/academy/avalanche-fundamentals) and [Multi-Chain Architecture](/academy/multi-chain-architecture) courses first. +If some of this is not clear, I strongly recommend taking the [Avalanche Fundamentals](/academy/avalanche-l1/avalanche-fundamentals) and [Multi-Chain Architecture](/academy/multi-chain-architecture) courses first. ### Coding diff --git a/content/academy/avalanche/customizing-evm/meta.json b/content/academy/avalanche-l1/customizing-evm/meta.json similarity index 100% rename from content/academy/avalanche/customizing-evm/meta.json rename to content/academy/avalanche-l1/customizing-evm/meta.json diff --git a/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/01-introduction.mdx diff --git a/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/02-understanding-the-flow.mdx diff --git a/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx diff --git a/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx diff --git a/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx diff --git a/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx diff --git a/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/07-create-vrf-subscription.mdx diff --git a/content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx b/content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx rename to content/academy/avalanche-l1/icm-chainlink/01-access-chainlink-vrf-services/08-request-random-words.mdx diff --git a/content/academy/avalanche/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx b/content/academy/avalanche-l1/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx rename to content/academy/avalanche-l1/icm-chainlink/02-access-chainlink-functions/01-introduction.mdx diff --git a/content/academy/avalanche/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx b/content/academy/avalanche-l1/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx rename to content/academy/avalanche-l1/icm-chainlink/03-access-chainlink-automation/01-introduction.mdx diff --git a/content/academy/avalanche/icm-chainlink/04-ccip-icm/01-introduction.mdx b/content/academy/avalanche-l1/icm-chainlink/04-ccip-icm/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/04-ccip-icm/01-introduction.mdx rename to content/academy/avalanche-l1/icm-chainlink/04-ccip-icm/01-introduction.mdx diff --git a/content/academy/avalanche/icm-chainlink/certificate.mdx b/content/academy/avalanche-l1/icm-chainlink/certificate.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/certificate.mdx rename to content/academy/avalanche-l1/icm-chainlink/certificate.mdx diff --git a/content/academy/avalanche/icm-chainlink/index.mdx b/content/academy/avalanche-l1/icm-chainlink/index.mdx similarity index 100% rename from content/academy/avalanche/icm-chainlink/index.mdx rename to content/academy/avalanche-l1/icm-chainlink/index.mdx diff --git a/content/academy/avalanche/icm-chainlink/meta.json b/content/academy/avalanche-l1/icm-chainlink/meta.json similarity index 100% rename from content/academy/avalanche/icm-chainlink/meta.json rename to content/academy/avalanche-l1/icm-chainlink/meta.json diff --git a/content/academy/avalanche/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/01-interopability-between-blockchains.mdx diff --git a/content/academy/avalanche/interchain-messaging/02-interoperability/02-source-message-destination.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/02-source-message-destination.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/02-interoperability/02-source-message-destination.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/02-source-message-destination.mdx diff --git a/content/academy/avalanche/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/03-multi-chain-networks.mdx diff --git a/content/academy/avalanche/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/04-interoperability-in-multi-chain-systems.mdx diff --git a/content/academy/avalanche/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/05-finality-and-interoperability.mdx diff --git a/content/academy/avalanche/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx b/content/academy/avalanche-l1/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx rename to content/academy/avalanche-l1/interchain-messaging/02-interoperability/06-trusted-third-parties.mdx diff --git a/content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx b/content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx rename to content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx diff --git a/content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx b/content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx rename to content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/02-set-up.mdx diff --git a/content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx b/content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx rename to content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/03-close-and-reopen-codespace.mdx diff --git a/content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx b/content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx rename to content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/04-networks.mdx diff --git a/content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx b/content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx rename to content/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/05-foundry-quickstart.mdx diff --git a/content/academy/avalanche/interchain-messaging/04-icm-basics/01-icm-basics.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/01-icm-basics.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/04-icm-basics/01-icm-basics.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/01-icm-basics.mdx diff --git a/content/academy/avalanche/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/02-recap-bytes-encoding-decoding.mdx diff --git a/content/academy/avalanche/interchain-messaging/04-icm-basics/03-sending-a-message.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/03-sending-a-message.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/04-icm-basics/03-sending-a-message.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/03-sending-a-message.mdx diff --git a/content/academy/avalanche/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/04-create-sender-contract.mdx diff --git a/content/academy/avalanche/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/05-receiving-a-message.mdx diff --git a/content/academy/avalanche/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/06-create-receiver-contract.mdx diff --git a/content/academy/avalanche/interchain-messaging/04-icm-basics/07-send-a-message.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/07-send-a-message.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/04-icm-basics/07-send-a-message.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/07-send-a-message.mdx diff --git a/content/academy/avalanche/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx b/content/academy/avalanche-l1/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx rename to content/academy/avalanche-l1/interchain-messaging/04-icm-basics/08-adapting-the-contract-exercise.mdx diff --git a/content/academy/avalanche/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/01-two-way-communication.mdx diff --git a/content/academy/avalanche/interchain-messaging/05-two-way-communication/02-sender-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/02-sender-contract.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/05-two-way-communication/02-sender-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/02-sender-contract.mdx diff --git a/content/academy/avalanche/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/03-create-sender-contract.mdx diff --git a/content/academy/avalanche/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/04-receiver-contract.mdx diff --git a/content/academy/avalanche/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/05-create-the-receiver-contract.mdx diff --git a/content/academy/avalanche/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/06-send-a-roundtrip-message.mdx diff --git a/content/academy/avalanche/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx b/content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx rename to content/academy/avalanche-l1/interchain-messaging/05-two-way-communication/07-adapt-the-contracts.mdx diff --git a/content/academy/avalanche/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/01-invoking-functions.mdx diff --git a/content/academy/avalanche/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/02-encoding-multiple-values.mdx diff --git a/content/academy/avalanche/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/03-create-simple-calculator-sender.mdx diff --git a/content/academy/avalanche/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/04-create-simple-calulcator-receiver.mdx diff --git a/content/academy/avalanche/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/05-call-simple-calculator.mdx diff --git a/content/academy/avalanche/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/06-encoding-function-name.mdx diff --git a/content/academy/avalanche/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx b/content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx rename to content/academy/avalanche-l1/interchain-messaging/06-invoking-functions/07-extend-calculator.mdx diff --git a/content/academy/avalanche/interchain-messaging/07-icm-registry/01-icm-registry.mdx b/content/academy/avalanche-l1/interchain-messaging/07-icm-registry/01-icm-registry.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/07-icm-registry/01-icm-registry.mdx rename to content/academy/avalanche-l1/interchain-messaging/07-icm-registry/01-icm-registry.mdx diff --git a/content/academy/avalanche/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx b/content/academy/avalanche-l1/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx rename to content/academy/avalanche-l1/interchain-messaging/07-icm-registry/02-how-the-icm-registry-works.mdx diff --git a/content/academy/avalanche/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx b/content/academy/avalanche-l1/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx rename to content/academy/avalanche-l1/interchain-messaging/07-icm-registry/03-interact-with-the-registry.mdx diff --git a/content/academy/avalanche/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx b/content/academy/avalanche-l1/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx rename to content/academy/avalanche-l1/interchain-messaging/07-icm-registry/04-retrieving-icm-from-registry.mdx diff --git a/content/academy/avalanche/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx b/content/academy/avalanche-l1/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx rename to content/academy/avalanche-l1/interchain-messaging/07-icm-registry/05-verify-sender-is-icm.mdx diff --git a/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/01-avalanche-warp-messaging.mdx diff --git a/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/02-p-chain.mdx diff --git a/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/03-warp-message-format.mdx diff --git a/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/04-awm-relayer.mdx diff --git a/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/05-dataflow.mdx diff --git a/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/06-message-pickup.mdx diff --git a/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/07-message-delivery.mdx diff --git a/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/08-load-considerations.mdx diff --git a/content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx b/content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx rename to content/academy/avalanche-l1/interchain-messaging/08-avalanche-warp-messaging/09-trust-assumption-of-awm.mdx diff --git a/content/academy/avalanche/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx b/content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx rename to content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/01-relayer-introduction.mdx diff --git a/content/academy/avalanche/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx b/content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx rename to content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/02-relayer-configuration.mdx diff --git a/content/academy/avalanche/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx b/content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx rename to content/academy/avalanche-l1/interchain-messaging/09-running-a-relayer/03-configure-and-run-relayer.mdx diff --git a/content/academy/avalanche/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx b/content/academy/avalanche-l1/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx rename to content/academy/avalanche-l1/interchain-messaging/10-restricting-the-relayer/01-restricting-the-relayer.mdx diff --git a/content/academy/avalanche/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx b/content/academy/avalanche-l1/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx rename to content/academy/avalanche-l1/interchain-messaging/10-restricting-the-relayer/02-allowed-relayers.mdx diff --git a/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/01-incentivizing-a-relayer.mdx diff --git a/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/02-fee-data-flow.mdx diff --git a/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/03-determining-the-fee-amount.mdx diff --git a/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/04-setting-incentives.mdx diff --git a/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/05-deploy-fee-token-contract.mdx diff --git a/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/06-incentivize-an-awm-relayer.mdx diff --git a/content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx b/content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx rename to content/academy/avalanche-l1/interchain-messaging/11-incentivizing-a-relayer/07-interaction-flow-with-fees.mdx diff --git a/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/01-introduction.mdx diff --git a/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/02-understanding-the-flow.mdx diff --git a/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/03-orchestrating-vrf-requests.mdx diff --git a/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/04-bring-vrf-to-unsupported-l1.mdx diff --git a/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/05-deploy-vrf-wrapper.mdx diff --git a/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/06-deploy-vrf-consumer.mdx diff --git a/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/07-create-vrf-subscription.mdx diff --git a/content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx b/content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx rename to content/academy/avalanche-l1/interchain-messaging/13-access-chainlink-vrf-services/08-request-random-words.mdx diff --git a/content/academy/avalanche/interchain-messaging/certificate.mdx b/content/academy/avalanche-l1/interchain-messaging/certificate.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/certificate.mdx rename to content/academy/avalanche-l1/interchain-messaging/certificate.mdx diff --git a/content/academy/avalanche/interchain-messaging/index.mdx b/content/academy/avalanche-l1/interchain-messaging/index.mdx similarity index 100% rename from content/academy/avalanche/interchain-messaging/index.mdx rename to content/academy/avalanche-l1/interchain-messaging/index.mdx diff --git a/content/academy/avalanche/interchain-messaging/meta.json b/content/academy/avalanche-l1/interchain-messaging/meta.json similarity index 100% rename from content/academy/avalanche/interchain-messaging/meta.json rename to content/academy/avalanche-l1/interchain-messaging/meta.json diff --git a/content/academy/avalanche/interchain-token-transfer/02-getting-started/01-introduction.mdx b/content/academy/avalanche-l1/interchain-token-transfer/02-getting-started/01-introduction.mdx similarity index 98% rename from content/academy/avalanche/interchain-token-transfer/02-getting-started/01-introduction.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/02-getting-started/01-introduction.mdx index 3c8b5016aa1..946a2c3f9b5 100644 --- a/content/academy/avalanche/interchain-token-transfer/02-getting-started/01-introduction.mdx +++ b/content/academy/avalanche-l1/interchain-token-transfer/02-getting-started/01-introduction.mdx @@ -34,7 +34,7 @@ Before you begin, make sure you have: 4. An understanding of Avalanche networks and how to connect to them -This course focuses on using the existing testnet chains (Fuji C-Chain, Echo, and Dispatch). If you want to create your own L1 blockchain, please refer to the [Creating an L1](/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1) course. +This course focuses on using the existing testnet chains (Fuji C-Chain, Echo, and Dispatch). If you want to create your own L1 blockchain, please refer to the [Creating an L1](/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1) course. Since Interchain Token Transfer relies on Interchain Messaging (ICM), you must run your own relayer to enable cross-chain communication. Follow the [Running a Relayer](/academy/interchain-messaging/10-running-a-relayer/01-running-a-relayer) course to set up your relayer. diff --git a/content/academy/avalanche/interchain-token-transfer/03-tokens/01-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/01-tokens.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/03-tokens/01-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/01-tokens.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/03-tokens/02-native-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/02-native-tokens.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/03-tokens/02-native-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/02-native-tokens.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/03-transfer-native-tokens.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/05-transfers-in-smart-contracts.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/07-erc-20-tokens.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/09-transfer-erc20-to-sc.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/10-wrapped-native-tokens.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx b/content/academy/avalanche-l1/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/03-tokens/11-create-a-wrapped-native-token.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx b/content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/01-token-bridging.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx b/content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/02-bridge-architecture.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx b/content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/03-use-a-demo-bridge.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx b/content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/04-token-bridging/04-bridge-hacks.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx b/content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/01-avalanche-interchain-token-transfer.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx b/content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/02-bridge-design.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx b/content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/03-file-structure.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx b/content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/04-token-home.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/05-avalanche-interchain-token-transfer/05-token-remote.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/01-erc-20-to-erc-20-bridge.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/07-avacloud-and-core-bridge.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx b/content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/06-erc-20-to-erc-20-bridge/08-deploy-your-own-frontend.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx b/content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/01-tokens-on-multiple-chain.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/03-register-remote.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx b/content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/07-tokens-on-multiple-chains/04-multihop.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx b/content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/01-native-to-erc-20-bridge.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx b/content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/02-deploy-native-token-home.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/03-deploy-erc20-token-remote.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx b/content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/04-register-remote.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx b/content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/08-native-to-erc-20-bridge/05-bridge-tokens.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/12-send-and-call/01-intro.mdx b/content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/01-intro.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/12-send-and-call/01-intro.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/01-intro.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx b/content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/03-send-and-call-receivers.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx b/content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/04-mock-receivers.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx b/content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/12-send-and-call/05-mock-receiver.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx b/content/academy/avalanche-l1/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/13-cross-chain-token-swaps/07-exchange-contract.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx b/content/academy/avalanche-l1/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/13-cross-chain-token-swaps/08-deploy-wrapped-exchange-contract.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx b/content/academy/avalanche-l1/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/14-scaling-decimals/01-math-example.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/14-scaling-decimals/02-example.mdx b/content/academy/avalanche-l1/interchain-token-transfer/14-scaling-decimals/02-example.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/14-scaling-decimals/02-example.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/14-scaling-decimals/02-example.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/certificate.mdx b/content/academy/avalanche-l1/interchain-token-transfer/certificate.mdx similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/certificate.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/certificate.mdx diff --git a/content/academy/avalanche/interchain-token-transfer/index.mdx b/content/academy/avalanche-l1/interchain-token-transfer/index.mdx similarity index 98% rename from content/academy/avalanche/interchain-token-transfer/index.mdx rename to content/academy/avalanche-l1/interchain-token-transfer/index.mdx index 50a77ddb4ea..753655375dd 100644 --- a/content/academy/avalanche/interchain-token-transfer/index.mdx +++ b/content/academy/avalanche-l1/interchain-token-transfer/index.mdx @@ -17,7 +17,7 @@ Cross-chain communication is a crucial building block of multi-chain systems. Ut Transfering tokens between multiple chains is a common use case in multi-chain systems. This course will help you understand how to transfer assets between multiple Avalanche blockchains using the Avalanche Interchain Token Transfer protocol. -This course focuses on using the existing testnet chains (Fuji C-Chain, Echo, and Dispatch). If you want to create your own L1 blockchain, please refer to the [Creating an L1](/academy/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1) course. +This course focuses on using the existing testnet chains (Fuji C-Chain, Echo, and Dispatch). If you want to create your own L1 blockchain, please refer to the [Creating an L1](/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1) course. diff --git a/content/academy/avalanche/interchain-token-transfer/meta.json b/content/academy/avalanche-l1/interchain-token-transfer/meta.json similarity index 100% rename from content/academy/avalanche/interchain-token-transfer/meta.json rename to content/academy/avalanche-l1/interchain-token-transfer/meta.json diff --git a/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/01-introduction.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/02-token-design.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/03-native-tokens.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/04-transfer-native-token.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/05-erc20.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/06-deploy-erc20.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/08-native-and-erc20-tokens.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/09-wrapped-tokens.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/01b-native-vs-erc20/10-deploy-wrapped-tokens.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/01-introduction.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/02-custom-native-vs-erc20-native.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/03-native-vs-staking.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/04-token-symbol.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/05-create-custom-token.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/06-native-token-allocation.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/02-custom-tokens/07-configure-token-allocation.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/03-precompiles/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/03-precompiles/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/01-introduction.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/03-precompiles/02-precompiles.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/02-precompiles.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/03-precompiles/02-precompiles.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/02-precompiles.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/03-precompiles/03-precompile-architecture.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/04-native-minter/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/04-native-minter/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/01-introduction.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/02-native-token-minting-rights.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/04-native-minter/03-activate-native-minter.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/05-fee-config/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/05-fee-config/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/01-introduction.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/02-transaction-fees.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/05-fee-config/03-activate-fee-config.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/01-initial-allocation.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/02-vesting-schedules.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/03-bonding-curves.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/07-token-distribution/04-airdrop.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/08-governance/01-introduction.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/08-governance/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/08-governance/01-introduction.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/08-governance/01-introduction.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/08-governance/02-governance-models.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/08-governance/02-governance-models.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/08-governance/02-governance-models.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/08-governance/02-governance-models.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/08-governance/03-daos.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/08-governance/03-daos.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/08-governance/03-daos.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/08-governance/03-daos.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/08-governance/04-quadratic-voting.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/08-governance/05-governance-20.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/08-governance/05-governance-20.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/08-governance/05-governance-20.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/08-governance/05-governance-20.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/dappVsL1.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/dappVsL1.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/dappVsL1.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/dappVsL1.mdx diff --git a/content/academy/avalanche/l1-native-tokenomics/index.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/index.mdx similarity index 91% rename from content/academy/avalanche/l1-native-tokenomics/index.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/index.mdx index 6b06050496f..6f6ecffaed1 100644 --- a/content/academy/avalanche/l1-native-tokenomics/index.mdx +++ b/content/academy/avalanche-l1/l1-native-tokenomics/index.mdx @@ -12,7 +12,7 @@ By the end of this course, you will have practical skills in designing tokenomic ## Prerequisites -Before starting this course, you should have completed the [Blockchain Fundamentals](/academy/blockchain-fundamentals) and [Avalanche Fundamentals](/academy/avalanche-fundamentals) courses of the [Avalanche Developers Academy](https://build.avax.network/academy#:~:text=Choose%20Your%20Learning%20Path) learning tree. +Before starting this course, you should have completed the [Blockchain Fundamentals](/academy/blockchain-fundamentals) and [Avalanche Fundamentals](/academy/avalanche-l1/avalanche-fundamentals) courses of the [Avalanche Developers Academy](https://build.avax.network/academy#:~:text=Choose%20Your%20Learning%20Path) learning tree. ## Learning Outcomes diff --git a/content/academy/avalanche/l1-native-tokenomics/meta.json b/content/academy/avalanche-l1/l1-native-tokenomics/meta.json similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/meta.json rename to content/academy/avalanche-l1/l1-native-tokenomics/meta.json diff --git a/content/academy/avalanche/l1-native-tokenomics/token-ownership.mdx b/content/academy/avalanche-l1/l1-native-tokenomics/token-ownership.mdx similarity index 100% rename from content/academy/avalanche/l1-native-tokenomics/token-ownership.mdx rename to content/academy/avalanche-l1/l1-native-tokenomics/token-ownership.mdx diff --git a/content/academy/avalanche/meta.json b/content/academy/avalanche-l1/meta.json similarity index 74% rename from content/academy/avalanche/meta.json rename to content/academy/avalanche-l1/meta.json index e2a564f393e..4c960ee585f 100644 --- a/content/academy/avalanche/meta.json +++ b/content/academy/avalanche-l1/meta.json @@ -1,15 +1,13 @@ { "pages": [ "avalanche-fundamentals", - "customizing-evm", - "interchain-messaging", - "interchain-token-transfer", - "icm-chainlink", "permissioned-l1s", "l1-native-tokenomics", "permissionless-l1s", - "multi-chain-architecture", - "avacloudapis" + "interchain-messaging", + "interchain-token-transfer", + "icm-chainlink", + "customizing-evm" ] } diff --git a/content/academy/avalanche/permissioned-l1s/01-introduction/01-pchain-review.mdx b/content/academy/avalanche-l1/permissioned-l1s/01-introduction/01-pchain-review.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/01-introduction/01-pchain-review.mdx rename to content/academy/avalanche-l1/permissioned-l1s/01-introduction/01-pchain-review.mdx diff --git a/content/academy/avalanche/permissioned-l1s/01-introduction/02-multi-chain-review.mdx b/content/academy/avalanche-l1/permissioned-l1s/01-introduction/02-multi-chain-review.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/01-introduction/02-multi-chain-review.mdx rename to content/academy/avalanche-l1/permissioned-l1s/01-introduction/02-multi-chain-review.mdx diff --git a/content/academy/avalanche/permissioned-l1s/01-introduction/03-interop.mdx b/content/academy/avalanche-l1/permissioned-l1s/01-introduction/03-interop.mdx similarity index 93% rename from content/academy/avalanche/permissioned-l1s/01-introduction/03-interop.mdx rename to content/academy/avalanche-l1/permissioned-l1s/01-introduction/03-interop.mdx index 1221e0537b1..b1af9e54710 100644 --- a/content/academy/avalanche/permissioned-l1s/01-introduction/03-interop.mdx +++ b/content/academy/avalanche-l1/permissioned-l1s/01-introduction/03-interop.mdx @@ -10,7 +10,7 @@ Interchain Messaging (ICM) is the foundation that enables secure communication b ## ICM Architecture Layers -Revisiting the diagram we saw in the [Interoperability](/academy/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt) section of the Avalanche Fundamentals course, the Validator Manager is placed at the same level as the ICM contracts are. +Revisiting the diagram we saw in the [Interoperability](/academy/avalanche-l1/avalanche-fundamentals/05-interoperability/03-icm-icmContracts-and-ictt) section of the Avalanche Fundamentals course, the Validator Manager is placed at the same level as the ICM contracts are. ![ICM Layers with VMC](/common-images/permissioned-l1s/ICMLayersVMC.png) diff --git a/content/academy/avalanche/permissioned-l1s/01-introduction/04-proxy-pattern.mdx b/content/academy/avalanche-l1/permissioned-l1s/01-introduction/04-proxy-pattern.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/01-introduction/04-proxy-pattern.mdx rename to content/academy/avalanche-l1/permissioned-l1s/01-introduction/04-proxy-pattern.mdx diff --git a/content/academy/avalanche/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx b/content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx rename to content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/01-blockchain-permissioning.mdx diff --git a/content/academy/avalanche/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx b/content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx rename to content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/02-proof-of-authority.mdx diff --git a/content/academy/avalanche/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx b/content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx rename to content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/03-validator-manager-contract.mdx diff --git a/content/academy/avalanche/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx b/content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx rename to content/academy/avalanche-l1/permissioned-l1s/02-proof-of-authority/04-etna-upgrade.mdx diff --git a/content/academy/avalanche/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx similarity index 92% rename from content/academy/avalanche/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx rename to content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx index 4d665c74fe3..3c91e47fa6f 100644 --- a/content/academy/avalanche/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx +++ b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/01-create-subnet.mdx @@ -12,7 +12,7 @@ import ToolboxMdxWrapper from "@/components/toolbox/academy/wrapper/ToolboxMdxWr import AvalancheGoDocker from "@/components/toolbox/console/layer-1/AvalancheGoDockerL1"; import CreateChain from "@/components/toolbox/console/layer-1/create/CreateChain"; -In the [Avalanche Fundamentals course](/academy/avalanche-fundamentals), you learned how to quickly set up an L1 using the [Developer Console](https://build.avax.network/tools/l1-toolbox). This section provides an in depth review of that flow, understanding what comes pre-configured in our genesis, and laying the foundation for what we will need for our Permissioned L1. +In the [Avalanche Fundamentals course](/academy/avalanche-l1/avalanche-fundamentals), you learned how to quickly set up an L1 using the [Developer Console](https://build.avax.network/tools/l1-toolbox). This section provides an in depth review of that flow, understanding what comes pre-configured in our genesis, and laying the foundation for what we will need for our Permissioned L1. ## Creating a Subnet diff --git a/content/academy/avalanche/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx rename to content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/02-transparent-proxy.mdx diff --git a/content/academy/avalanche/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx rename to content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/03-genesis-breakdown.mdx diff --git a/content/academy/avalanche/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx rename to content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/04-convert-subnet-to-l1.mdx diff --git a/content/academy/avalanche/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx b/content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx rename to content/academy/avalanche-l1/permissioned-l1s/03-create-an-L1/05-query-l1-details.mdx diff --git a/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/01-vmc-deployment-intro.mdx diff --git a/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/02-deploy-validator-manager.mdx diff --git a/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/03-upgrade-proxy.mdx diff --git a/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/04-set-initial-configuration.mdx diff --git a/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/05-initialize-validator-set.mdx diff --git a/content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx b/content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx rename to content/academy/avalanche-l1/permissioned-l1s/04-validator-manager-deployment/06-check-contract.mdx diff --git a/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/01-introduction.mdx diff --git a/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx diff --git a/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/03-add-validator.mdx diff --git a/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo.mdx diff --git a/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/05-change-weight.mdx diff --git a/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/06-change-weight-demo.mdx diff --git a/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/07-remove-validator.mdx diff --git a/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx diff --git a/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/09-expired-validator-registration.mdx diff --git a/content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx rename to content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/10-pchain-disable-validator.mdx diff --git a/content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/01-read-validator-manager.mdx diff --git a/content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/02-query-validator-set.mdx diff --git a/content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/03-deploy-poa-manager.mdx diff --git a/content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-poa-manager-deployment/04-vmc-deployed-structure.mdx diff --git a/content/academy/avalanche/permissioned-l1s/XX-registering-validator/registering-validator.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-registering-validator/registering-validator.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/XX-registering-validator/registering-validator.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-registering-validator/registering-validator.mdx diff --git a/content/academy/avalanche/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx b/content/academy/avalanche-l1/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx rename to content/academy/avalanche-l1/permissioned-l1s/XX-vmc-other-evms/03-deployment-options.mdx diff --git a/content/academy/avalanche/permissioned-l1s/certificate.mdx b/content/academy/avalanche-l1/permissioned-l1s/certificate.mdx similarity index 100% rename from content/academy/avalanche/permissioned-l1s/certificate.mdx rename to content/academy/avalanche-l1/permissioned-l1s/certificate.mdx diff --git a/content/academy/avalanche/permissioned-l1s/index.mdx b/content/academy/avalanche-l1/permissioned-l1s/index.mdx similarity index 94% rename from content/academy/avalanche/permissioned-l1s/index.mdx rename to content/academy/avalanche-l1/permissioned-l1s/index.mdx index 340dc43d5af..8c50154c36a 100644 --- a/content/academy/avalanche/permissioned-l1s/index.mdx +++ b/content/academy/avalanche-l1/permissioned-l1s/index.mdx @@ -23,7 +23,7 @@ This comprehensive course will walk you through: - **Introduction** - P-Chain review, how Validator Manager Contracts use ICM & commonlys used Proxy Patterns - **Proof of Authority** - Understanding permissioning types for blockchains, what Proof of Authority is and the Validator Manager contract structure -- **Create an L1** - Creating a Subnet, diving deep into the Transparent Proxy pattern, understanding genesis pre-deployed contracts and creating your L1 (recommended to first have created an L1 in the [Avalanche Fundamentals course](/academy/avalanche-fundamentals)) +- **Create an L1** - Creating a Subnet, diving deep into the Transparent Proxy pattern, understanding genesis pre-deployed contracts and creating your L1 (recommended to first have created an L1 in the [Avalanche Fundamentals course](/academy/avalanche-l1/avalanche-fundamentals)) - **Validator Manager Deployment** - Deploying and configuring the Validator Manager Contract (VMC) on your new L1 - **Validator Manager Operations** - Adding, changing weights and removing validators - **Coming Soon... Multi-Sig Setup for PoA** - Implementing secure multi-signature governance with Safe/Ash wallets diff --git a/content/academy/avalanche/permissioned-l1s/meta.json b/content/academy/avalanche-l1/permissioned-l1s/meta.json similarity index 100% rename from content/academy/avalanche/permissioned-l1s/meta.json rename to content/academy/avalanche-l1/permissioned-l1s/meta.json diff --git a/content/academy/avalanche/permissionless-l1s/01-review/01-pchain-review.mdx b/content/academy/avalanche-l1/permissionless-l1s/01-review/01-pchain-review.mdx similarity index 55% rename from content/academy/avalanche/permissionless-l1s/01-review/01-pchain-review.mdx rename to content/academy/avalanche-l1/permissionless-l1s/01-review/01-pchain-review.mdx index 773e69e726a..189bc1ffa83 100644 --- a/content/academy/avalanche/permissionless-l1s/01-review/01-pchain-review.mdx +++ b/content/academy/avalanche-l1/permissionless-l1s/01-review/01-pchain-review.mdx @@ -6,6 +6,6 @@ authors: [nicolasarnedo] icon: Book --- -import PChainReview from '@/content/academy/avalanche/permissioned-l1s/01-introduction/01-pchain-review.mdx'; +import PChainReview from '@/content/academy/avalanche-l1/permissioned-l1s/01-introduction/01-pchain-review.mdx'; diff --git a/content/academy/avalanche/permissionless-l1s/01-review/02-multi-chain-review.mdx b/content/academy/avalanche-l1/permissionless-l1s/01-review/02-multi-chain-review.mdx similarity index 60% rename from content/academy/avalanche/permissionless-l1s/01-review/02-multi-chain-review.mdx rename to content/academy/avalanche-l1/permissionless-l1s/01-review/02-multi-chain-review.mdx index bb182faff19..cfc4321fc75 100644 --- a/content/academy/avalanche/permissionless-l1s/01-review/02-multi-chain-review.mdx +++ b/content/academy/avalanche-l1/permissionless-l1s/01-review/02-multi-chain-review.mdx @@ -6,6 +6,6 @@ authors: [nicolasarnedo] icon: BookOpen --- -import MultiChainReview from '@/content/academy/avalanche/permissioned-l1s/01-introduction/02-multi-chain-review.mdx'; +import MultiChainReview from '@/content/academy/avalanche-l1/permissioned-l1s/01-introduction/02-multi-chain-review.mdx'; diff --git a/content/academy/avalanche/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx b/content/academy/avalanche-l1/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx rename to content/academy/avalanche-l1/permissionless-l1s/01-review/03-permissioned-l1s-review.mdx diff --git a/content/academy/avalanche/permissionless-l1s/01-review/04-native-tokenomics-review.mdx b/content/academy/avalanche-l1/permissionless-l1s/01-review/04-native-tokenomics-review.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/01-review/04-native-tokenomics-review.mdx rename to content/academy/avalanche-l1/permissionless-l1s/01-review/04-native-tokenomics-review.mdx diff --git a/content/academy/avalanche/permissionless-l1s/02-proof-of-stake/01-introduction.mdx b/content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/01-introduction.mdx similarity index 98% rename from content/academy/avalanche/permissionless-l1s/02-proof-of-stake/01-introduction.mdx rename to content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/01-introduction.mdx index f8d3984b73b..e7078c76b0b 100644 --- a/content/academy/avalanche/permissionless-l1s/02-proof-of-stake/01-introduction.mdx +++ b/content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/01-introduction.mdx @@ -57,7 +57,7 @@ This weight determines how much influence they have during the consensus polling ### Consensus Participation -Validators with sufficient stake participate in Avalanche's consensus mechanism by repeatedly polling small random samples of other validators, weighted by their stake. The consensus algorithm itself—including Snowman consensus for linear chains—is covered in detail in the [Avalanche Consensus section](/academy/avalanche-fundamentals/avalanche-consensus-intro). +Validators with sufficient stake participate in Avalanche's consensus mechanism by repeatedly polling small random samples of other validators, weighted by their stake. The consensus algorithm itself—including Snowman consensus for linear chains—is covered in detail in the [Avalanche Consensus section](/academy/avalanche-l1/avalanche-fundamentals/avalanche-consensus-intro). Unlike traditional Delegated Proof of Stake (DPoS) systems where a fixed number of delegates are elected, Avalanche allows **anyone meeting the minimum stake requirement** to become a validator. There's no voting mechanism to elect validators—participation is purely stake-based, making it more permissionless and decentralized. diff --git a/content/academy/avalanche/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx b/content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx rename to content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/02-staking-token.mdx diff --git a/content/academy/avalanche/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx b/content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx rename to content/academy/avalanche-l1/permissionless-l1s/02-proof-of-stake/03-liquid-staking.mdx diff --git a/content/academy/avalanche/permissionless-l1s/03-transformation-requirements/01-introduction.mdx b/content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/01-introduction.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/03-transformation-requirements/01-introduction.mdx rename to content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/01-introduction.mdx diff --git a/content/academy/avalanche/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx b/content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx rename to content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/02-native-minter.mdx diff --git a/content/academy/avalanche/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx b/content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx rename to content/academy/avalanche-l1/permissionless-l1s/03-transformation-requirements/03-reward-manger.mdx diff --git a/content/academy/avalanche/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx b/content/academy/avalanche-l1/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx rename to content/academy/avalanche-l1/permissionless-l1s/05-staking-manager-contract/03-staking-contract-post-etna.mdx diff --git a/content/academy/avalanche/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx b/content/academy/avalanche-l1/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx rename to content/academy/avalanche-l1/permissionless-l1s/06-staking-manager-operations/04-register-validators.mdx diff --git a/content/academy/avalanche/permissionless-l1s/certificate.mdx b/content/academy/avalanche-l1/permissionless-l1s/certificate.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/certificate.mdx rename to content/academy/avalanche-l1/permissionless-l1s/certificate.mdx diff --git a/content/academy/avalanche/permissionless-l1s/index.mdx b/content/academy/avalanche-l1/permissionless-l1s/index.mdx similarity index 100% rename from content/academy/avalanche/permissionless-l1s/index.mdx rename to content/academy/avalanche-l1/permissionless-l1s/index.mdx diff --git a/content/academy/avalanche/permissionless-l1s/meta.json b/content/academy/avalanche-l1/permissionless-l1s/meta.json similarity index 100% rename from content/academy/avalanche/permissionless-l1s/meta.json rename to content/academy/avalanche-l1/permissionless-l1s/meta.json diff --git a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx deleted file mode 100644 index c3500541acf..00000000000 --- a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/01-avalanche-starter-kit.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Avalanche Starter Kit -description: Learn about the basics of Avalanche. -updated: 2024-05-31 -authors: [martineckardt] -icon: Book ---- - -To make easier your journey through this course, we have prepared a Starter Kit repo consisting of everything you will need to start developing your own custom blockchains on Avalanche. This repo will provide a self-contained environment with Avalanche-CLI, and Foundry so you can follow the course without the need of installing anything else other than launching the environment. - -# What You Will Learn - -In this section, you will go through the following topics: - -- How to launch your own Codespace -- Create your own Avalanche Interchain Messaging enabled custom blockchain -- Foundry configuration - -At the end of this section, you will have your environment ready to follow with the Cross-Chain development with Avalanche Interchain Messaging. diff --git a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx deleted file mode 100644 index 05e2751cba0..00000000000 --- a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/02-set-up.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Set Up Avalanche Starter Kit -description: Learn about the basics of Avalanche. -updated: 2024-05-31 -authors: [martineckardt] -icon: Terminal ---- - -import SetUp from "@/content/common/avalanche-starter-kit/set-up.mdx"; - -import defaultMdxComponents from "fumadocs-ui/mdx"; - - \ No newline at end of file diff --git a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx deleted file mode 100644 index 2cd9abdd531..00000000000 --- a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/03-create-blockchain.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Create Blockchain -description: Deploy a new Avalanche L1 on local network. -updated: 2024-05-31 -authors: [martineckardt] -icon: Terminal ---- - -import CreateDefaultBlockchain from "@/content/common/avalanche-starter-kit/create-default-blockchain.mdx"; - -import defaultMdxComponents from "fumadocs-ui/mdx"; - - \ No newline at end of file diff --git a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx deleted file mode 100644 index 1d8da491033..00000000000 --- a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/04-add-blockchain-to-wallet.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Add Blockchain to Wallet -description: Add the newly created Avalanche L1 to Core. -updated: 2024-05-31 -authors: [martineckardt] -icon: Terminal ---- - -import AddBlockchainToWallet from "@/content/common/core-wallet/add-blockchain-to-wallet.mdx"; - -import defaultMdxComponents from "fumadocs-ui/mdx"; - - \ No newline at end of file diff --git a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx deleted file mode 100644 index 46b95f75a74..00000000000 --- a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/05-add-ewoq-account.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Import EWOQ Account -description: Import the private keys of EWOQ account to Core. -updated: 2024-05-31 -authors: [martineckardt] -icon: Terminal ---- - -import ImportEWOQAccount from "@/content/common/core-wallet/import-ewoq-account.mdx"; - - \ No newline at end of file diff --git a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx deleted file mode 100644 index 768a1d189fb..00000000000 --- a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/06-networks.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Different Types of Networks -description: Learn about different types of networks. -updated: 2024-05-31 -authors: [martineckardt] -icon: Terminal ---- - -import Networks from "@/content/common/avalanche-starter-kit/networks.mdx"; - -You just deployed and interacted with your first local network. But what does that mean? You can interact with your network, but you will notice that no one else can. Therefore, we have to understand what different Networks are in Avalanche. - - diff --git a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx b/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx deleted file mode 100644 index ff8ac627187..00000000000 --- a/content/academy/avalanche/multi-chain-architecture/03-avalanche-starter-kit/07-pause-and-resume.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Pause and Resume -description: If you've deployed an Avalanche L1, you can preserve and restore the state of your deployed Avalanche L1s. -updated: 2024-10-07 -authors: [0xstt] -icon: BookOpen ---- - -import PauseAndResume from "@/content/common/avalanche-starter-kit/pause-and-resume.mdx"; - -import defaultMdxComponents from "fumadocs-ui/mdx"; - - diff --git a/content/academy/avalanche/multi-chain-architecture/certificate.mdx b/content/academy/avalanche/multi-chain-architecture/certificate.mdx deleted file mode 100644 index 378959614d7..00000000000 --- a/content/academy/avalanche/multi-chain-architecture/certificate.mdx +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Course Completion Certificate -updated: 2024-10-11 -authors: [owenwahlgren] -icon: BadgeCheck ---- - -import CertificatePage from '@/components/quizzes/certificates'; - -You've made it to the end of the course. Let's check your progress and get your certificate. - - - -Thank you for participating in this course. We hope you found it informative and enjoyable! \ No newline at end of file diff --git a/content/academy/avalanche/multi-chain-architecture/index.mdx b/content/academy/avalanche/multi-chain-architecture/index.mdx deleted file mode 100644 index 18b38444196..00000000000 --- a/content/academy/avalanche/multi-chain-architecture/index.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Welcome to the Course -description: Learn about the Multi-Chain Architecture. -updated: 2024-06-28 -authors: [usmaneth] -icon: Smile ---- - -Are you ready to dive deeper into the fascinating world of Avalanche? This course will equip you with a comprehensive understanding of Avalanche's Multi Blockchain architecture, along with the practical skills required to create and manage custom blockchains. - -Ideal for people familiar with the basics of Avalanche, this course will unlock the potential of creating custom blockchains. We will explore the various components and key concepts of the Custom Blockchain architecture, empowering you to fully leverage its benefits. - -Throughout this course, you will gain hands-on experience by utilizing the Avalanche Command Line Interface (Avalanche CLI) to create your own custom blockchains and run them locally. You will explore different variations and configurations to learn the versatility and advantages of custom blockchains. Additionally, you will interact with the local instances using the Core Wallet, further enhancing your practical skills. - -Let's get started exploring the power of Avalanche Custom Blockchains. - -## Presentation - -Below you can find a recording of a presentation about the Multi-Chain Architecture of Avalanche. - - - -## Prerequisites - -This course is for people who understand the Avalanche basics. If you are not familiar with Avalanche Consensus, Virtual Machines, blockchains in Avalanche, or Avalanche Custom Blockchains, we strongly recommend taking our [Avalanche Fundamentals](/academy/avalanche-fundamentals) course first. - -## Learning Outcomes - -In this course you will learn: - -- The benefits of Avalanche Custom Blockchains -- How to use Avalanche CLI to create and run custom blockchains locally -- How to interact with Avalanche L1s using Core Wallet - diff --git a/content/academy/avalanche/multi-chain-architecture/meta.json b/content/academy/avalanche/multi-chain-architecture/meta.json deleted file mode 100644 index 6d3512fc55f..00000000000 --- a/content/academy/avalanche/multi-chain-architecture/meta.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "title": "Multi-Chain Architecture", - "icon": "Logs", - "root": true, - "pages": [ - "index", - "---Custom Blockchains---", - "...02-custom-blockchains", - "---Avalanche Starter Kit---", - "...03-avalanche-starter-kit", - "---Independent Tokenomics---", - "...04-independent-tokenomics", - "---Interoperability---", - "...05-interoperability", - "---Permissioning Users---", - "...06-permissioning-users", - "---Permissioning Validators---", - "...07-permissioning-validators", - "---Customizability---", - "...08-customizability", - "---Conclusion---", - "certificate" - ] -} diff --git a/content/academy/meta.json b/content/academy/meta.json index 3a85da02b27..5c339a2ee52 100644 --- a/content/academy/meta.json +++ b/content/academy/meta.json @@ -1,6 +1,6 @@ { "pages": [ - "avalanche", + "avalanche-l1", "blockchain", "entrepreneur" ] diff --git a/content/docs/rpcs/c-chain/index.mdx b/content/docs/rpcs/c-chain/index.mdx index 0a9514a6203..2081bceb23a 100644 --- a/content/docs/rpcs/c-chain/index.mdx +++ b/content/docs/rpcs/c-chain/index.mdx @@ -4,9 +4,7 @@ description: "This page is an overview of the C-Chain RPC associated with Avalan edit_url: https://github.com/ava-labs/coreth/edit/master/plugin/evm/api.md --- - -Ethereum has its own notion of `networkID` and `chainID`. These have no relationship to Avalanche's view of networkID and chainID and are purely internal to the [C-Chain](https://github.com/docs/quick-start/primary-network#c-chain). On Mainnet, the C-Chain uses `1` and `43114` for these values. On the Fuji Testnet, it uses `1` and `43113` for these values. `networkID` and `chainID` can also be obtained using the `net_version` and `eth_chainId` methods. - +> **Note:** Ethereum has its own notion of `networkID` and `chainID`. These have no relationship to Avalanche's view of networkID and chainID and are purely internal to the [C-Chain](https://build.avax.network/docs/quick-start/primary-network#c-chain). On Mainnet, the C-Chain uses `1` and `43114` for these values. On the Fuji Testnet, it uses `1` and `43113` for these values. `networkID` and `chainID` can also be obtained using the `net_version` and `eth_chainId` methods. ## Ethereum APIs @@ -30,10 +28,7 @@ where `blockchainID` is the ID of the blockchain running the EVM. #### WebSocket Endpoints - -On the [public API node](https://github.com/docs/tooling/rpc-providers), it only supports C-Chain -websocket API calls for API methods that don't exist on the C-Chain's HTTP API - +> **Info:** The [public API node](https://build.avax.network/integrations#RPC%20Providers) (api.avax.network) supports HTTP APIs for X-Chain, P-Chain, and C-Chain, but websocket connections are only available for C-Chain. Other EVM chains are not available via websocket on the public API node. To interact with C-Chain via the websocket endpoint: @@ -47,10 +42,7 @@ For example, to interact with the C-Chain's Ethereum APIs via websocket on local ws://127.0.0.1:9650/ext/bc/C/ws ``` -} > -On localhost, use `ws://`. When using the [Public API](https://github.com/docs/tooling/rpc-providers) or another -host that supports encryption, use `wss://`. - +> **Tip:** On localhost, use `ws://`. When using the [Public API](https://build.avax.network/integrations#RPC%20Providers) or another host that supports encryption, use `wss://`. To interact with other instances of the EVM via the websocket endpoint: @@ -77,10 +69,7 @@ You can interact with these services the same exact way you'd interact with Geth and [Geth's JSON-RPC Documentation](https://geth.ethereum.org/docs/rpc/server) for a full description of this API. - -For batched requests on the [public API node](https://github.com/docs/tooling/rpc-providers) , the maximum -number of items is 40. - +> **Info:** For batched requests on the [public API node](https://build.avax.network/integrations#RPC%20Providers) , the maximum number of items is 40. #### Exceptions @@ -167,19 +156,19 @@ curl -X POST --data '{ ``` For more information on dynamic fees see the [C-Chain section of the transaction fee -documentation](https://github.com/docs/api-reference/guides/txn-fees#c-chain-fees). +documentation](https://build.avax.network/docs/rpcs/other/guides/txn-fees#c-chain-fees). ## Admin APIs The Admin API provides administrative functionality for the EVM. -### Endpoint +### Admin API Endpoint ```sh /ext/bc/C/admin ``` -### Methods +### Admin API Methods #### `admin_startCPUProfiler` @@ -317,13 +306,13 @@ curl -X POST --data '{ ## Avalanche-Specific APIs -### Endpoint +### Avalanche-Specific API Endpoint ```sh /ext/bc/C/avax ``` -### Methods +### Avalanche-Specific API Methods #### `avax.getUTXOs` @@ -454,27 +443,4 @@ curl -X POST --data '{ "encoding": "hex" }] }' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/C/avax -``` - -#### `avax.version` - -Returns the version of the VM. - -**Signature:** - -```sh -avax.version() -> { - version: string -} -``` - -**Example Call:** - -```sh -curl -X POST --data '{ - "jsonrpc":"2.0", - "id" :1, - "method" :"avax.version", - "params" :[] -}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/C/avax ``` \ No newline at end of file diff --git a/next-env.d.ts b/next-env.d.ts index c4b7818fbb2..9edff1c7cac 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import "./.next/dev/types/routes.d.ts"; +import "./.next/types/routes.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/next.config.mjs b/next.config.mjs index d887bd7a3ba..53f1d3090f9 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -184,7 +184,7 @@ const config = { }, { source: '/codebase-entrepreneur-academy', - destination: '/academy/entrepreneur', + destination: '/academy', permanent: true, }, { @@ -192,16 +192,6 @@ const config = { destination: '/academy/entrepreneur/:path*', permanent: true, }, - { - source: '/avalanche-entrepreneur-academy', - destination: '/academy/entrepreneur', - permanent: true, - }, - { - source: '/avalanche-entrepreneur-academy/:path*', - destination: '/academy/entrepreneur/:path*', - permanent: true, - }, { source: '/hackathon', destination: '/hackathons/26bfce9b-4d44-4d40-8fbe-7903e76d48fa', @@ -209,7 +199,7 @@ const config = { }, { source: '/tools/l1-launcher', - destination: '/academy/avalanche/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1', + destination: '/academy/avalanche-l1/avalanche-fundamentals/04-creating-an-l1/01-creating-an-l1', permanent: true, }, { @@ -274,32 +264,32 @@ const config = { }, { source: '/academy/interchain-messaging/10-running-a-relayer/01-running-a-relayer', - destination: '/academy/avalanche/interchain-messaging/10-running-a-relayer/01-relayer-introduction', + destination: '/academy/avalanche-l1/interchain-messaging/10-running-a-relayer/01-relayer-introduction', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/02-control-the-avalanche-cli-relayer', - destination: '/academy/avalanche/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche-l1/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/03-install-relayer', - destination: '/academy/avalanche/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche-l1/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/05-multichain-relayer-config', - destination: '/academy/avalanche/interchain-messaging/10-running-a-relayer/02-relayer-configuration#multichain-relayer-configuration', + destination: '/academy/avalanche-l1/interchain-messaging/10-running-a-relayer/02-relayer-configuration#multichain-relayer-configuration', permanent: true, }, { source: '/academy/interchain-messaging/10-running-a-relayer/06-analyze-relayer-logs', - destination: '/academy/avalanche/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', + destination: '/academy/avalanche-l1/interchain-messaging/10-running-a-relayer/03-configure-and-run-the-relayer', permanent: true, }, { source: '/academy/interchain-messaging/03-avalanche-starter-kit/03-create-blockchain', - destination: '/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/04-networks', + destination: '/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/04-networks', permanent: true, }, { source: '/academy/interchain-messaging/03-avalanche-starter-kit/06-pause-and-resume', - destination: '/academy/avalanche/interchain-messaging/03-avalanche-starter-kit/04-networks', + destination: '/academy/avalanche-l1/interchain-messaging/03-avalanche-starter-kit/04-networks', permanent: true, }, { source: '/docs/subnets/customize-a-subnet', @@ -307,7 +297,7 @@ const config = { permanent: true, }, { source: '/docs/build/tutorials/platform/create-a-local-test-network', - destination: '/academy/avalanche/avalanche-fundamentals', + destination: '/academy/avalanche-l1/avalanche-fundamentals', permanent: true, }, { source: '/docs/api-reference/standards/guides/issuing-api-calls', @@ -379,22 +369,22 @@ const config = { permanent: true, }, { source: "/academy/l1-validator-management", - destination: "/academy/avalanche/permissioned-l1s", + destination: "/academy/avalanche-l1/permissioned-l1s", permanent: true, }, { source: "/academy/l1-validator-management/:path*", - destination: "/academy/avalanche/permissioned-l1s/:path*", + destination: "/academy/avalanche-l1/permissioned-l1s/:path*", permanent: true, }, { source: "/academy/l1-tokenomics", - destination: "/academy/avalanche/l1-native-tokenomics", + destination: "/academy/avalanche-l1/l1-native-tokenomics", permanent: true, }, { source: "/academy/l1-tokenomics/:path*", - destination: "/academy/avalanche/l1-native-tokenomics/:path*", + destination: "/academy/avalanche-l1/l1-native-tokenomics/:path*", permanent: true, }, { @@ -429,12 +419,12 @@ const config = { }, { source: "/academy/avalanche-fundamentals", - destination: "/academy/avalanche/avalanche-fundamentals", + destination: "/academy/avalanche-l1/avalanche-fundamentals", permanent: true, }, { source: "/academy/avalanche-fundamentals/:path*", - destination: "/academy/avalanche/avalanche-fundamentals/:path*", + destination: "/academy/avalanche-l1/avalanche-fundamentals/:path*", permanent: true, }, { @@ -469,92 +459,92 @@ const config = { }, { source: "/academy/customizing-evm", - destination: "/academy/avalanche/customizing-evm", + destination: "/academy/avalanche-l1/customizing-evm", permanent: true, }, { source: "/academy/customizing-evm/:path*", - destination: "/academy/avalanche/customizing-evm/:path*", + destination: "/academy/avalanche-l1/customizing-evm/:path*", permanent: true, }, { source: "/academy/interchain-messaging", - destination: "/academy/avalanche/interchain-messaging", + destination: "/academy/avalanche-l1/interchain-messaging", permanent: true, }, { source: "/academy/interchain-messaging/:path*", - destination: "/academy/avalanche/interchain-messaging/:path*", + destination: "/academy/avalanche-l1/interchain-messaging/:path*", permanent: true, }, { source: "/academy/interchain-token-transfer", - destination: "/academy/avalanche/interchain-token-transfer", + destination: "/academy/avalanche-l1/interchain-token-transfer", permanent: true, }, { source: "/academy/interchain-token-transfer/:path*", - destination: "/academy/avalanche/interchain-token-transfer/:path*", + destination: "/academy/avalanche-l1/interchain-token-transfer/:path*", permanent: true, }, { source: "/academy/icm-chainlink", - destination: "/academy/avalanche/icm-chainlink", + destination: "/academy/avalanche-l1/icm-chainlink", permanent: true, }, { source: "/academy/icm-chainlink/:path*", - destination: "/academy/avalanche/icm-chainlink/:path*", + destination: "/academy/avalanche-l1/icm-chainlink/:path*", permanent: true, }, { source: "/academy/permissioned-l1s", - destination: "/academy/avalanche/permissioned-l1s", + destination: "/academy/avalanche-l1/permissioned-l1s", permanent: true, }, { source: "/academy/permissioned-l1s/:path*", - destination: "/academy/avalanche/permissioned-l1s/:path*", + destination: "/academy/avalanche-l1/permissioned-l1s/:path*", permanent: true, }, { source: "/academy/l1-native-tokenomics", - destination: "/academy/avalanche/l1-native-tokenomics", + destination: "/academy/avalanche-l1/l1-native-tokenomics", permanent: true, }, { source: "/academy/l1-native-tokenomics/:path*", - destination: "/academy/avalanche/l1-native-tokenomics/:path*", + destination: "/academy/avalanche-l1/l1-native-tokenomics/:path*", permanent: true, }, { source: "/academy/permissionless-l1s", - destination: "/academy/avalanche/permissionless-l1s", + destination: "/academy/avalanche-l1/permissionless-l1s", permanent: true, }, { source: "/academy/permissionless-l1s/:path*", - destination: "/academy/avalanche/permissionless-l1s/:path*", + destination: "/academy/avalanche-l1/permissionless-l1s/:path*", permanent: true, }, { source: "/academy/multi-chain-architecture", - destination: "/academy/avalanche/multi-chain-architecture", + destination: "/academy/avalanche-l1/multi-chain-architecture", permanent: true, }, { source: "/academy/multi-chain-architecture/:path*", - destination: "/academy/avalanche/multi-chain-architecture/:path*", + destination: "/academy/avalanche-l1/multi-chain-architecture/:path*", permanent: true, }, { source: "/academy/avacloudapis", - destination: "/academy/avalanche/avacloudapis", + destination: "/academy/avalanche-l1/avacloudapis", permanent: true, }, { source: "/academy/avacloudapis/:path*", - destination: "/academy/avalanche/avacloudapis/:path*", + destination: "/academy/avalanche-l1/avacloudapis/:path*", permanent: true, }, ]; From 48b525c4df3f4b0c82022f837c7fb178a5938188 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Mon, 17 Nov 2025 16:35:09 -0500 Subject: [PATCH 07/20] working wrapper --- app/academy/entrepreneur/layout.tsx | 125 +--------------------------- 1 file changed, 2 insertions(+), 123 deletions(-) diff --git a/app/academy/entrepreneur/layout.tsx b/app/academy/entrepreneur/layout.tsx index 8c7b80fe430..48ba58604a7 100644 --- a/app/academy/entrepreneur/layout.tsx +++ b/app/academy/entrepreneur/layout.tsx @@ -1,127 +1,6 @@ -import { DocsLayout, type DocsLayoutProps } from 'fumadocs-ui/layouts/notebook'; import type { ReactNode } from 'react'; -import { baseOptions, docsMenu, consoleMenu, integrationsMenu, userMenu } from '@/app/layout.config'; -import { entrepreneurAcademy } from '@/lib/source'; -import { AvalancheLogo } from '@/components/navigation/avalanche-logo'; - -const entrepreneurOptions: DocsLayoutProps = { - ...baseOptions, - nav: { - mode: "top" as const, - title: ( - <> - {} - Entrepreneur Academy - - ), - url: '/academy/entrepreneur', - }, - tree: entrepreneurAcademy.pageTree, - links: [ - consoleMenu, - docsMenu, - integrationsMenu, - userMenu - ], -}; export default function Layout({ children }: { children: ReactNode }) { - return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - {children} - - ); + return children; } + From 55c522cf1f1bbea308f17e89545a1806adfd3c37 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Mon, 17 Nov 2025 18:17:32 -0500 Subject: [PATCH 08/20] working text switch --- app/(home)/academy/avalanche-l1/config.ts | 2 +- components/academy/shared/academy-hero.tsx | 145 +++++++------------ components/academy/shared/academy-layout.tsx | 13 +- components/navigation/navbar-dropdown.tsx | 6 +- 4 files changed, 68 insertions(+), 98 deletions(-) diff --git a/app/(home)/academy/avalanche-l1/config.ts b/app/(home)/academy/avalanche-l1/config.ts index bbca404679d..3732ef55d93 100644 --- a/app/(home)/academy/avalanche-l1/config.ts +++ b/app/(home)/academy/avalanche-l1/config.ts @@ -6,7 +6,7 @@ export const avalancheDeveloperAcademyLandingPageConfig: AcademyLandingPageConfi heroTitle: 'Avalanche', heroAccent: 'L1', heroAccentWords: ['L1 Developer', 'Blockchain', 'Entrepreneur'], - heroDescription: 'Master Avalanche L1 development with hands-on courses covering fundamentals through advanced customization so you can launch production-ready blockchains.', + heroDescription: 'Learn through our Avalanche L1, Blockchain and Entrepreneur Academies. Use the navigation buttons below to switch between academies and discover each learning tree with courses tailored to your journey.', pathType: 'avalanche', showBlogs: true, }; diff --git a/components/academy/shared/academy-hero.tsx b/components/academy/shared/academy-hero.tsx index a3efece1643..24639cc9f68 100644 --- a/components/academy/shared/academy-hero.tsx +++ b/components/academy/shared/academy-hero.tsx @@ -1,7 +1,7 @@ 'use client'; import { ChevronDown } from 'lucide-react'; -import { useEffect, useMemo, useState, type CSSProperties } from 'react'; +import { useEffect, useState, type CSSProperties } from 'react'; interface AcademyHeroProps { title: string; @@ -10,94 +10,64 @@ interface AcademyHeroProps { description: string; } -const ROTATION_INTERVAL = 2600; -const TRANSITION_DURATION = 600; +const DISPLAY_DURATION = 7000; // Show each academy name for 4 seconds -function RotatingAccent({ words }: { words: string[] }) { - const uniqueWords = useMemo( - () => - [...new Set(words.map((word) => word.trim()).filter((word) => word.length > 0))], - [words], - ); - - const displayWords = useMemo(() => { - if (uniqueWords.length <= 1) { - return uniqueWords; - } - - return [...uniqueWords, uniqueWords[0]]; - }, [uniqueWords]); +// Complete academy titles: [prefix, prefixIsRed, suffix, suffixIsRed] +const academyTitles: [string, boolean, string, boolean][] = [ + ['Avalanche L1', true, 'Developer', false], + ['Blockchain', true, 'Developer', false], + ['Avalanche', false, 'Entrepreneur', true], +]; +function RotatingAcademyTitle() { const [index, setIndex] = useState(0); - const [isResetting, setIsResetting] = useState(false); - - useEffect(() => { - setIndex(0); - }, [uniqueWords.length]); + const [isAnimating, setIsAnimating] = useState(true); useEffect(() => { - if (displayWords.length <= 1) return; - + // Cycle through titles const timer = setInterval(() => { - setIndex((prev) => prev + 1); - }, ROTATION_INTERVAL); + setIsAnimating(false); + + // Small delay before changing index to allow fade out + setTimeout(() => { + setIndex((prev) => (prev + 1) % academyTitles.length); + setIsAnimating(true); + }, 900); + }, DISPLAY_DURATION); return () => clearInterval(timer); - }, [displayWords.length]); - - useEffect(() => { - if (displayWords.length <= 1) return; + }, []); - if (index === displayWords.length - 1) { - const timeout = setTimeout(() => { - setIsResetting(true); - setIndex(0); - }, TRANSITION_DURATION); - - return () => clearTimeout(timeout); - } - }, [index, displayWords.length]); - - useEffect(() => { - if (!isResetting) return; - - const frame = requestAnimationFrame(() => { - setIsResetting(false); - }); - - return () => cancelAnimationFrame(frame); - }, [isResetting]); - - if (uniqueWords.length === 0) { - return null; - } - - if (uniqueWords.length === 1) { - return ( - - {uniqueWords[0]} - - ); - } - - const transformStyle: CSSProperties = { - transform: `translateY(-${index * 100}%)`, - transition: isResetting ? 'none' : 'transform 600ms cubic-bezier(0.76, 0, 0.24, 1)', - }; + const [prefix, prefixIsRed, suffix, suffixIsRed] = academyTitles[index]; return ( - - - {displayWords.map((word, idx) => ( - - {word} - - ))} +
+ + {prefix} + + {' '} + + {suffix} - +
); } @@ -109,10 +79,6 @@ export function AcademyHero({ title, accent, accentWords, description }: Academy } }; - const rotatingAccentWords = accentWords && accentWords.length > 0 - ? accentWords - : [accent]; - return (
{/* Background gradient */} @@ -121,15 +87,16 @@ export function AcademyHero({ title, accent, accentWords, description }: Academy
- {/* Main heading */} + {/* Main heading with rotating academy title */}

- - {title}{" "} - - - - {" "}Academy - +
+
+ +
+ + Academy + +

{/* Description */} diff --git a/components/academy/shared/academy-layout.tsx b/components/academy/shared/academy-layout.tsx index bf9f8b2ad02..56fab336e5c 100644 --- a/components/academy/shared/academy-layout.tsx +++ b/components/academy/shared/academy-layout.tsx @@ -60,16 +60,19 @@ export function AcademyLayout({ return; } - const paramPath = normalizePathType(searchParams?.get('path')); + const rawParam = searchParams?.get('path'); + const paramPath = normalizePathType(rawParam); + if (paramPath && paramPath !== activePath) { setActivePath(paramPath); - return; + } else if (!paramPath && initialPathType && initialPathType !== activePath) { + setActivePath(initialPathType); } - if (paramPath === null && initialPathType && initialPathType !== activePath) { - setActivePath(initialPathType); + if (rawParam) { + router.replace('/academy', { scroll: false }); } - }, [config.pathType, initialPathType, isAcademyRoot, searchParams, activePath]); + }, [config.pathType, initialPathType, isAcademyRoot, searchParams, activePath, router]); const resolvedBlogs = useMemo(() => { if (blogsByPath) { diff --git a/components/navigation/navbar-dropdown.tsx b/components/navigation/navbar-dropdown.tsx index 6c9b9825e1b..8ede016ef66 100644 --- a/components/navigation/navbar-dropdown.tsx +++ b/components/navigation/navbar-dropdown.tsx @@ -41,9 +41,9 @@ export function NavbarDropdown() { title: 'Academy', href: '/academy', items: [ - { text: 'Avalanche L1 Academy', href: '/academy?path=avalanche-l1' }, - { text: 'Blockchain Academy', href: '/academy?path=blockchain' }, - { text: 'Entrepreneur Academy', href: '/academy?path=entrepreneur' }, + { text: 'Avalanche L1 Academy', href: '/academy' }, + { text: 'Blockchain Academy', href: '/academy' }, + { text: 'Entrepreneur Academy', href: '/academy' }, ], }, { From 4a0f1351710264c4e1f82727b17b8b9b20ac0292 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Mon, 17 Nov 2025 18:43:39 -0500 Subject: [PATCH 09/20] last nits --- app/academy/entrepreneur/[...slug]/page.tsx | 15 +++++----- .../entrepreneur.config.ts | 14 +++++----- content/courses.tsx | 28 +++++++++---------- lib/source.ts | 4 +-- source.config.ts | 4 +-- 5 files changed, 33 insertions(+), 32 deletions(-) diff --git a/app/academy/entrepreneur/[...slug]/page.tsx b/app/academy/entrepreneur/[...slug]/page.tsx index f895594f62b..adc35457443 100644 --- a/app/academy/entrepreneur/[...slug]/page.tsx +++ b/app/academy/entrepreneur/[...slug]/page.tsx @@ -37,6 +37,7 @@ import { Feedback } from "@/components/ui/feedback"; import { SidebarActions } from "@/components/ui/sidebar-actions"; import posthog from "posthog-js"; import Flashcard from "@/components/flashcards/flashcard"; +import type { HTMLAttributes } from "react"; export const dynamicParams = false; @@ -50,7 +51,7 @@ export default async function Page(props: { const path = `content/academy/entrepreneur${page.url.replace('/academy/entrepreneur/', '/')}.mdx`; const editUrl = `https://github.com/ava-labs/builders-hub/edit/master/${path}`; const MDX = page.data.body; - const course = COURSES.codebaseEntrepreneur.find( + const course = COURSES.avalancheEntrepreneur.find( (c) => c.slug === page.slugs[0] ); @@ -97,12 +98,12 @@ export default async function Page(props: { , - h2: (props) => , - h3: (props) => , - h4: (props) => , - h5: (props) => , - h6: (props) => , + h1: (props: HTMLAttributes) => , + h2: (props: HTMLAttributes) => , + h3: (props: HTMLAttributes) => , + h4: (props: HTMLAttributes) => , + h5: (props: HTMLAttributes) => , + h6: (props: HTMLAttributes) => , Button, Cards, Card, diff --git a/components/academy/learning-path-configs/entrepreneur.config.ts b/components/academy/learning-path-configs/entrepreneur.config.ts index ca264b29898..c9572a49fd1 100644 --- a/components/academy/learning-path-configs/entrepreneur.config.ts +++ b/components/academy/learning-path-configs/entrepreneur.config.ts @@ -4,7 +4,7 @@ import type { CourseNode } from '../learning-tree'; export const entrepreneurLearningPaths: CourseNode[] = [ // Foundation Layer { - id: "codebase-foundation", + id: "avalanche-foundation", name: "Level 1: Foundations of a Web3 Venture", description: "Establishing essential blockchain and business fundamentals.", slug: "entrepreneur/foundations-web3-venture", @@ -15,34 +15,34 @@ export const entrepreneurLearningPaths: CourseNode[] = [ // Second Layer { - id: "codebase-gtm", + id: "avalanche-gtm", name: "Level 2: Go-To-Market Strategist", description: "Master go-to-market strategies for Web3 products and services.", slug: "entrepreneur/go-to-market", category: "Business Strategy", - dependencies: ["codebase-foundation"], + dependencies: ["avalanche-foundation"], position: { x: 30, y: 200 }, mobileOrder: 2 }, { - id: "codebase-web3-community-architect", + id: "avalanche-web3-community-architect", name: "Level 3: Web3 Community Architect", description: "Learn to build and manage thriving Web3 communities.", slug: "entrepreneur/web3-community-architect", category: "Community", - dependencies: ["codebase-foundation"], + dependencies: ["avalanche-foundation"], position: { x: 70, y: 200 }, mobileOrder: 3 }, // Third Layer { - id: "codebase-fundraising", + id: "avalanche-fundraising", name: "Level 4: Fundraising & Finance Pro", description: "Master fundraising strategies and financial management in Web3.", slug: "entrepreneur/fundraising-finance", category: "Finance", - dependencies: ["codebase-web3-community-architect", "codebase-gtm"], + dependencies: ["avalanche-web3-community-architect", "avalanche-gtm"], position: { x: 50, y: 400 }, mobileOrder: 4 } diff --git a/content/courses.tsx b/content/courses.tsx index ec1b38ba182..41b008fd43f 100644 --- a/content/courses.tsx +++ b/content/courses.tsx @@ -10,7 +10,7 @@ export type Course = { languages: string[]; tools: string[]; instructors: string[]; - category: "Fundamentals" | "Smart Contract Development" | "L1 Development" | "Interoperability" | "Codebase"; + category: "Fundamentals" | "Smart Contract Development" | "L1 Development" | "Interoperability" | "Entrepreneur"; certificateTemplate?: string; }; @@ -88,7 +88,7 @@ const officialCourses: Course[] = [ status: "featured", tools: ["Avalanche CLI"], languages: ["Go"], - instructors: ["Martin Eckardt", "Ash"], // + Usman + instructors: ["Martin Eckardt", "Ash"], category: "L1 Development", certificateTemplate: "https://qizat5l3bwvomkny.public.blob.vercel-storage.com/AvalancheAcademy_Certificate.pdf" }, @@ -191,9 +191,9 @@ const officialCourses: Course[] = [ status: "featured", duration: "1 hour", languages: [], - tools: ["Codebase"], + tools: ["Entrepreneur"], instructors: ["Michael Martin", "Doro Unger-Lee", "Nicolas Arnedo"], - category: "Codebase", + category: "Entrepreneur", certificateTemplate: "https://qizat5l3bwvomkny.public.blob.vercel-storage.com/Codebase_EntrepreneurAcademy_Certificate_Foundations.pdf" }, { @@ -204,9 +204,9 @@ const officialCourses: Course[] = [ status: "featured", duration: "1 hour", languages: [], - tools: ["Codebase"], + tools: ["Entrepreneur"], instructors: ["Michael Martin", "Doro Unger-Lee", "Nicolas Arnedo"], - category: "Codebase", + category: "Entrepreneur", certificateTemplate: "https://qizat5l3bwvomkny.public.blob.vercel-storage.com/Codebase_EntrepreneurAcademy_Certificate_GTM.pdf" }, { @@ -217,9 +217,9 @@ const officialCourses: Course[] = [ status: "featured", duration: "1 hour", languages: [], - tools: ["Codebase"], + tools: ["Entrepreneur"], instructors: ["Michael Martin", "Doro Unger-Lee", "Nicolas Arnedo"], - category: "Codebase", + category: "Entrepreneur", certificateTemplate: "https://qizat5l3bwvomkny.public.blob.vercel-storage.com/Codebase_EntrepreneurAcademy_Certificate_Community.pdf" }, { @@ -230,9 +230,9 @@ const officialCourses: Course[] = [ status: "featured", duration: "1 hour", languages: [], - tools: ["Codebase"], + tools: ["Entrepreneur"], instructors: ["Michael Martin", "Doro Unger-Lee", "Nicolas Arnedo"], - category: "Codebase", + category: "Entrepreneur", certificateTemplate: "https://qizat5l3bwvomkny.public.blob.vercel-storage.com/Codebase_EntrepreneurAcademy_Certificate_Fundraising.pdf" }, { @@ -290,7 +290,7 @@ const ecosystemCourses: Course[] = [ }*/ ]; -const entrepreneurCourses = officialCourses.filter((course) => course.category === "Codebase"); +const entrepreneurCourses = officialCourses.filter((course) => course.category === "Entrepreneur"); // Helper function to create course configuration mappings export const getCourseConfig = () => { @@ -322,9 +322,9 @@ export const getCourseNameMapping = () => { }; export default { - official: officialCourses.filter((course) => ["normal", "featured"].includes(course.status) && course.category !== "Codebase"), - official_featured: officialCourses.filter((course) => course.status === "featured" && course.category !== "Codebase"), - codebaseEntrepreneur: entrepreneurCourses, + official: officialCourses.filter((course) => ["normal", "featured"].includes(course.status) && course.category !== "Entrepreneur"), + official_featured: officialCourses.filter((course) => course.status === "featured" && course.category !== "Entrepreneur"), + avalancheEntrepreneur: entrepreneurCourses, ecosystem: ecosystemCourses, }; diff --git a/lib/source.ts b/lib/source.ts index 0ca966b6524..f7d57c5e20a 100644 --- a/lib/source.ts +++ b/lib/source.ts @@ -6,7 +6,7 @@ import { } from 'fumadocs-core/source'; import { createElement } from 'react'; import { icons } from 'lucide-react'; -import { meta, docs, blog as blogs, course, courseMeta, integrations, codebaseEntrepreneur, codebaseEntrepreneurMeta } from '@/.source'; +import { meta, docs, blog as blogs, course, courseMeta, integrations, avalancheEntrepreneur, avalancheEntrepreneurMeta } from '@/.source'; import { openapiPlugin } from 'fumadocs-openapi/server'; export const documentation = loader({ @@ -135,7 +135,7 @@ export const entrepreneurAcademy = loader({ if (icon && icon in icons) return createElement(icons[icon as keyof typeof icons]); }, - source: createMDXSource(codebaseEntrepreneur, codebaseEntrepreneurMeta as any), + source: createMDXSource(avalancheEntrepreneur, avalancheEntrepreneurMeta as any), }); export const blog = loader({ diff --git a/source.config.ts b/source.config.ts index 6e6159e1ff6..157e2d4c010 100644 --- a/source.config.ts +++ b/source.config.ts @@ -57,7 +57,7 @@ export const courseMeta = defineCollections({ }), }); -export const codebaseEntrepreneur = defineCollections({ +export const avalancheEntrepreneur = defineCollections({ type: 'doc', dir: 'content/academy/entrepreneur', schema: frontmatterSchema.extend({ @@ -76,7 +76,7 @@ export const codebaseEntrepreneur = defineCollections({ }), }); -export const codebaseEntrepreneurMeta = defineCollections({ +export const avalancheEntrepreneurMeta = defineCollections({ type: 'meta', dir: 'content/academy/entrepreneur', schema: metaSchema.extend({ From 9137ccfb3616a9632b043a9f7d6a69f14f0d3da7 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Tue, 18 Nov 2025 11:36:58 -0500 Subject: [PATCH 10/20] broken link --- .../05-validator-manager-operations/02-query-validator-set.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx index ff782a33504..f7504e10a60 100644 --- a/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx +++ b/content/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/02-query-validator-set.mdx @@ -11,7 +11,7 @@ icon: Terminal Before getting into understanding and executing validator manager operations, let's take a look at our current Validator set. -Feel free to come back to this step after [adding a validator](/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo), [changing weight](/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo) or [removing it](content/academy/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo) to verify the changes have applied. +Feel free to come back to this step after [adding a validator](/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo), [changing weight](/academy/permissioned-l1s/05-validator-manager-operations/04-add-validator-demo) or [removing it](/academy/avalanche-l1/permissioned-l1s/05-validator-manager-operations/08-remove-validator-demo.mdx) to verify the changes have applied. import ToolboxMdxWrapper from "@/components/toolbox/academy/wrapper/ToolboxMdxWrapper.tsx" import QueryL1ValidatorSet from "@/components/toolbox/console/permissioned-l1s/QueryL1ValidatorSet.tsx" From 4868e0efa9e8ff203e9b6a5b519bfd168518b754 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Tue, 18 Nov 2025 13:35:17 -0500 Subject: [PATCH 11/20] fixing comments sarp --- app/academy/[...slug]/page.tsx | 5 +- app/academy/docs-layout-wrapper.tsx | 129 ------------- app/academy/entrepreneur/[...slug]/page.tsx | 202 -------------------- app/academy/entrepreneur/layout.tsx | 6 - app/academy/layout-wrapper.client.tsx | 129 +++++++++++++ app/academy/layout.tsx | 4 +- app/academy/styles.css | 6 + lib/source.ts | 11 +- next-env.d.ts | 2 +- source.config.ts | 27 --- 10 files changed, 142 insertions(+), 379 deletions(-) delete mode 100644 app/academy/docs-layout-wrapper.tsx delete mode 100644 app/academy/entrepreneur/[...slug]/page.tsx delete mode 100644 app/academy/entrepreneur/layout.tsx create mode 100644 app/academy/layout-wrapper.client.tsx diff --git a/app/academy/[...slug]/page.tsx b/app/academy/[...slug]/page.tsx index f8db7c18dbb..8c990c7ba78 100644 --- a/app/academy/[...slug]/page.tsx +++ b/app/academy/[...slug]/page.tsx @@ -85,7 +85,10 @@ export default async function Page(props: { const path = `content/academy${page.url.replace('/academy/', '/')}.mdx`; const editUrl = `https://github.com/ava-labs/builders-hub/edit/master/${path}`; const MDX = page.data.body; - const course = COURSES.official.find((c) => c.slug === page.slugs[0]); + // Check both official courses and entrepreneur courses + // page.slugs[1] contains the course slug (e.g., "avalanche-fundamentals", "foundations-web3-venture") + const course = COURSES.official.find((c) => c.slug === page.slugs[1]) + || COURSES.avalancheEntrepreneur.find((c) => c.slug === page.slugs[1]); return ( { - if (pathname.startsWith('/academy/entrepreneur')) { - return entrepreneurTree ?? defaultTree; - } - if (pathname.startsWith('/academy/blockchain')) { - return blockchainTree ?? defaultTree; - } - if (pathname === '/academy' || pathname.startsWith('/academy/avalanche-l1')) { - return avalancheTree ?? defaultTree; - } - return defaultTree; - }, [pathname, defaultTree, avalancheTree, blockchainTree, entrepreneurTree]); - - const academyOptions: DocsLayoutProps = useMemo( - () => ({ - tree: activeTree, - nav: { - enabled: false, - }, - sidebar: { - collapsible: false, - }, - }), - [activeTree], - ); - - return ( - <> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {children} - - - ); -} - diff --git a/app/academy/entrepreneur/[...slug]/page.tsx b/app/academy/entrepreneur/[...slug]/page.tsx deleted file mode 100644 index adc35457443..00000000000 --- a/app/academy/entrepreneur/[...slug]/page.tsx +++ /dev/null @@ -1,202 +0,0 @@ -import type { Metadata } from "next"; -import { - DocsPage, - DocsBody, - DocsTitle, - DocsDescription, -} from "fumadocs-ui/page"; -import { Card, Cards } from "fumadocs-ui/components/card"; -import defaultComponents from "fumadocs-ui/mdx"; -import { notFound } from "next/navigation"; -import { entrepreneurAcademy } from "@/lib/source"; -import { createMetadata } from "@/utils/metadata"; -import IndexedDBComponent from "@/components/tracker"; -import { Callout } from "fumadocs-ui/components/callout"; -import Instructors from "@/components/content-design/instructor"; -import Link from "next/link"; -import { Button, buttonVariants } from "@/components/ui/button"; -import { cn } from "@/utils/cn"; -import COURSES from "@/content/courses"; -import { Popup, PopupContent, PopupTrigger } from "fumadocs-twoslash/ui"; -import { Accordion, Accordions } from "fumadocs-ui/components/accordion"; -import { Step, Steps } from "fumadocs-ui/components/steps"; -import { Tab, Tabs } from "fumadocs-ui/components/tabs"; -import { TypeTable } from "fumadocs-ui/components/type-table"; -import { AutoTypeTable } from "@/components/content-design/type-table"; -import { Heading } from "fumadocs-ui/components/heading"; -import Quiz from "@/components/quizzes/quiz"; -import YouTube from "@/components/content-design/youtube"; -import Gallery from "@/components/content-design/gallery"; -import { - CodeBlock, - type CodeBlockProps, - Pre, -} from "fumadocs-ui/components/codeblock"; -import Mermaid from "@/components/content-design/mermaid"; -import { Feedback } from "@/components/ui/feedback"; -import { SidebarActions } from "@/components/ui/sidebar-actions"; -import posthog from "posthog-js"; -import Flashcard from "@/components/flashcards/flashcard"; -import type { HTMLAttributes } from "react"; - -export const dynamicParams = false; - -export default async function Page(props: { - params: Promise<{ slug?: string[] }>; -}) { - const params = await props.params; - const page = entrepreneurAcademy.getPage(params.slug); - if (!page) notFound(); - - const path = `content/academy/entrepreneur${page.url.replace('/academy/entrepreneur/', '/')}.mdx`; - const editUrl = `https://github.com/ava-labs/builders-hub/edit/master/${path}`; - const MDX = page.data.body; - const course = COURSES.avalancheEntrepreneur.find( - (c) => c.slug === page.slugs[0] - ); - - return ( - - -
-
-
Instructors:
- -
- - Join Telegram Course Chat - -
- - ), - }} - > - {page.data.title || "Untitled"} - {page.data.description} - - - ) => , - h2: (props: HTMLAttributes) => , - h3: (props: HTMLAttributes) => , - h4: (props: HTMLAttributes) => , - h5: (props: HTMLAttributes) => , - h6: (props: HTMLAttributes) => , - Button, - Cards, - Card, - Callout, - Accordion, - Accordions, - AutoTypeTable, - Gallery, - Mermaid, - Quiz, - Flashcard, - Popup, - PopupContent, - PopupTrigger, - Step, - Steps, - Tab, - Tabs, - TypeTable, - YouTube, - pre: ({ - title, - className, - icon, - allowCopy, - ...props - }: CodeBlockProps) => ( - -
-              
-            ),
-          }}
-        />
-      
-       {
-          "use server";
-          await posthog.capture("on_rate_document", feedback);
-        }}
-      />
-    
-  );
-}
-
-export async function generateMetadata(props: {
-  params: Promise<{ slug: string[] }>;
-}): Promise {
-  const params = await props.params;
-  const page = entrepreneurAcademy.getPage(params.slug);
-
-  if (!page) notFound();
-
-  const description =
-    page.data.description ??
-    "Learn entrepreneurship with Entrepreneur Academy";
-
-  const imageParams = new URLSearchParams();
-  imageParams.set(
-    "title",
-    `${page.data.title} | Entrepreneur Academy`
-  );
-  imageParams.set("description", description);
-
-  const image = {
-    alt: "Banner",
-    url: `/api/og/academy/${
-      params.slug[0]
-    }?${imageParams.toString()}`,
-    width: 1200,
-    height: 630,
-  };
-
-  return createMetadata({
-    title: page.data.title,
-    description,
-    openGraph: {
-      url: `/academy/entrepreneur/${page.slugs.join("/")}`,
-      images: image,
-    },
-    twitter: {
-      images: image,
-    },
-  });
-}
-
-export async function generateStaticParams() {
-  return entrepreneurAcademy.getPages().map((page) => ({
-    slug: page.slugs,
-  }));
-}
diff --git a/app/academy/entrepreneur/layout.tsx b/app/academy/entrepreneur/layout.tsx
deleted file mode 100644
index 48ba58604a7..00000000000
--- a/app/academy/entrepreneur/layout.tsx
+++ /dev/null
@@ -1,6 +0,0 @@
-import type { ReactNode } from 'react';
-
-export default function Layout({ children }: { children: ReactNode }) {
-    return children;
-}
-
diff --git a/app/academy/layout-wrapper.client.tsx b/app/academy/layout-wrapper.client.tsx
new file mode 100644
index 00000000000..b3654d4bc89
--- /dev/null
+++ b/app/academy/layout-wrapper.client.tsx
@@ -0,0 +1,129 @@
+'use client';
+
+import { DocsLayout, type DocsLayoutProps } from 'fumadocs-ui/layouts/notebook';
+import type { ReactNode } from 'react';
+import { usePathname } from 'next/navigation';
+import { useMemo } from 'react';
+import { NavbarDropdownInjector } from '@/components/navigation/navbar-dropdown-injector';
+import { ForceMobileSidebar } from '@/components/navigation/force-mobile-sidebar';
+import { DocsNavbarToggle } from '@/components/navigation/docs-navbar-toggle';
+import { AcademyLayoutClient } from './layout.client';
+
+type Tree = DocsLayoutProps['tree'];
+
+interface AcademyDocsLayoutWrapperProps {
+    children: ReactNode;
+    defaultTree: Tree;
+    avalancheTree: Tree;
+    blockchainTree: Tree;
+    entrepreneurTree: Tree;
+}
+
+export function AcademyDocsLayoutWrapper({
+    children,
+    defaultTree,
+    avalancheTree,
+    blockchainTree,
+    entrepreneurTree,
+}: AcademyDocsLayoutWrapperProps) {
+    const pathname = usePathname();
+
+    const activeTree = useMemo(() => {
+        if (pathname.startsWith('/academy/entrepreneur')) {
+            return entrepreneurTree ?? defaultTree;
+        }
+        if (pathname.startsWith('/academy/blockchain')) {
+            return blockchainTree ?? defaultTree;
+        }
+        if (pathname === '/academy' || pathname.startsWith('/academy/avalanche-l1')) {
+            return avalancheTree ?? defaultTree;
+        }
+        return defaultTree;
+    }, [pathname, defaultTree, avalancheTree, blockchainTree, entrepreneurTree]);
+
+    const academyOptions: DocsLayoutProps = useMemo(
+        () => ({
+            tree: activeTree,
+            nav: {
+                enabled: false,
+            },
+            sidebar: {
+                collapsible: false,
+            },
+        }),
+        [activeTree],
+    );
+
+    return (
+        <>
+            
+            
+            
+            
+            
+                
+                    
+                        
+                            
+                        
+                        
+                            
+                            
+                            
+                            
+                            
+                            
+                            
+                            
+                            
+                            
+                        
+                        
+                            
+                                
+                                
+                            
+                        
+                    
+                
+                {children}
+            
+        
+    );
+}
+
diff --git a/app/academy/layout.tsx b/app/academy/layout.tsx
index 3fcb8e9a26d..b50d70c3102 100644
--- a/app/academy/layout.tsx
+++ b/app/academy/layout.tsx
@@ -2,7 +2,7 @@ import type { ReactNode } from 'react';
 import { baseOptions } from '@/app/layout.config';
 import { academy, getAcademyTree } from '@/lib/source';
 import { LayoutWrapper } from '@/app/layout-wrapper.client';
-import { AcademyDocsLayoutWrapper } from './docs-layout-wrapper';
+import { AcademyDocsLayoutWrapper } from './layout-wrapper.client';
 import './styles.css';
 
 export default function Layout({ children }: { children: ReactNode }) {
@@ -24,5 +24,3 @@ export default function Layout({ children }: { children: ReactNode }) {
     
   );
 }
-
-
diff --git a/app/academy/styles.css b/app/academy/styles.css
index 6c742d91052..7bfa6d46513 100644
--- a/app/academy/styles.css
+++ b/app/academy/styles.css
@@ -350,6 +350,7 @@ body[data-layout="academy"]:has([data-granite-banner]) #nd-docs-layout {
 /* Remove padding-top from layout when banner is visible on academy routes */
 body[data-layout="academy"] #nd-docs-layout {
   padding-top: 0px !important;
+  background: hsl(var(--background)) !important;
 }
 
 /* Set custom padding-top for table of contents on academy routes */
@@ -357,3 +358,8 @@ body[data-layout="academy"] #nd-toc {
   padding-top: calc(var(--spacing) * 12) !important;
 }
 
+/* Ensure body has proper background color for academy */
+body[data-layout="academy"] {
+  background: hsl(var(--background)) !important;
+}
+
diff --git a/lib/source.ts b/lib/source.ts
index f7d57c5e20a..34da8de8a10 100644
--- a/lib/source.ts
+++ b/lib/source.ts
@@ -6,7 +6,7 @@ import {
 } from 'fumadocs-core/source';
 import { createElement } from 'react';
 import { icons } from 'lucide-react';
-import { meta, docs, blog as blogs, course, courseMeta, integrations, avalancheEntrepreneur, avalancheEntrepreneurMeta } from '@/.source';
+import { meta, docs, blog as blogs, course, courseMeta, integrations } from '@/.source';
 import { openapiPlugin } from 'fumadocs-openapi/server';
 
 export const documentation = loader({
@@ -129,15 +129,6 @@ export function getAcademyTree(prefix: string) {
   return filterTreeByPrefix(fullTree, prefix);
 }
 
-export const entrepreneurAcademy = loader({
-  baseUrl: '/academy/entrepreneur',
-  icon(icon) {
-    if (icon && icon in icons)
-      return createElement(icons[icon as keyof typeof icons]);
-  },
-  source: createMDXSource(avalancheEntrepreneur, avalancheEntrepreneurMeta as any),
-});
-
 export const blog = loader({
   baseUrl: '/blog',
   source: createMDXSource(blogs, []),
diff --git a/next-env.d.ts b/next-env.d.ts
index 9edff1c7cac..c4b7818fbb2 100644
--- a/next-env.d.ts
+++ b/next-env.d.ts
@@ -1,6 +1,6 @@
 /// 
 /// 
-import "./.next/types/routes.d.ts";
+import "./.next/dev/types/routes.d.ts";
 
 // NOTE: This file should not be edited
 // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
diff --git a/source.config.ts b/source.config.ts
index 157e2d4c010..fe21450fc93 100644
--- a/source.config.ts
+++ b/source.config.ts
@@ -57,33 +57,6 @@ export const courseMeta = defineCollections({
   }),
 });
 
-export const avalancheEntrepreneur = defineCollections({
-  type: 'doc',
-  dir: 'content/academy/entrepreneur',
-  schema: frontmatterSchema.extend({
-    preview: z.string().optional(),
-    index: z.boolean().default(false),
-    updated: z.string().or(z.date()).transform((value, context) => {
-      try {
-        return new Date(value);
-      } catch {
-        context.addIssue({ code: z.ZodIssueCode.custom, message: "Invalid date" });
-        return z.NEVER;
-      }
-    }).optional(),
-    authors: z.array(z.string()).optional(),
-    comments: z.boolean().default(false),
-  }),
-});
-
-export const avalancheEntrepreneurMeta = defineCollections({
-  type: 'meta',
-  dir: 'content/academy/entrepreneur',
-  schema: metaSchema.extend({
-    description: z.string().optional(),
-  }),
-});
-
 export const integrations = defineCollections({
   type: 'doc',
   async: true,

From 0d6a60e5fc579cd6f0cd0ad7f7822cbf6d67e289 Mon Sep 17 00:00:00 2001
From: navillanueva 
Date: Tue, 18 Nov 2025 13:44:14 -0500
Subject: [PATCH 12/20] nits

---
 components/academy/shared/academy-hero.tsx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/components/academy/shared/academy-hero.tsx b/components/academy/shared/academy-hero.tsx
index 24639cc9f68..99398c0428c 100644
--- a/components/academy/shared/academy-hero.tsx
+++ b/components/academy/shared/academy-hero.tsx
@@ -10,7 +10,7 @@ interface AcademyHeroProps {
     description: string;
 }
 
-const DISPLAY_DURATION = 7000; // Show each academy name for 4 seconds
+const DISPLAY_DURATION = 3500; // Show each academy name for 4 seconds
 
 // Complete academy titles: [prefix, prefixIsRed, suffix, suffixIsRed]
 const academyTitles: [string, boolean, string, boolean][] = [
@@ -89,7 +89,7 @@ export function AcademyHero({ title, accent, accentWords, description }: Academy
                     
{/* Main heading with rotating academy title */}

-
+
From c23e78a2d40593ff19d682e88fe28cecd5bb2f54 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Wed, 19 Nov 2025 13:47:48 -0500 Subject: [PATCH 13/20] resolved merge conflicts --- .../04-speedrun-base-l1/01-create-l1-speedrun.mdx | 0 .../04-speedrun-base-l1/02-permissioned-l1-speedrun.mdx | 0 content/academy/avalanche-l1/permissionless-l1s/meta.json | 1 - .../permissionless-l1s/04-speedrun-base-l1/meta.json | 7 ------- 4 files changed, 8 deletions(-) rename content/academy/{ => avalanche-l1}/permissionless-l1s/04-speedrun-base-l1/01-create-l1-speedrun.mdx (100%) rename content/academy/{ => avalanche-l1}/permissionless-l1s/04-speedrun-base-l1/02-permissioned-l1-speedrun.mdx (100%) delete mode 100644 content/academy/permissionless-l1s/04-speedrun-base-l1/meta.json diff --git a/content/academy/permissionless-l1s/04-speedrun-base-l1/01-create-l1-speedrun.mdx b/content/academy/avalanche-l1/permissionless-l1s/04-speedrun-base-l1/01-create-l1-speedrun.mdx similarity index 100% rename from content/academy/permissionless-l1s/04-speedrun-base-l1/01-create-l1-speedrun.mdx rename to content/academy/avalanche-l1/permissionless-l1s/04-speedrun-base-l1/01-create-l1-speedrun.mdx diff --git a/content/academy/permissionless-l1s/04-speedrun-base-l1/02-permissioned-l1-speedrun.mdx b/content/academy/avalanche-l1/permissionless-l1s/04-speedrun-base-l1/02-permissioned-l1-speedrun.mdx similarity index 100% rename from content/academy/permissionless-l1s/04-speedrun-base-l1/02-permissioned-l1-speedrun.mdx rename to content/academy/avalanche-l1/permissionless-l1s/04-speedrun-base-l1/02-permissioned-l1-speedrun.mdx diff --git a/content/academy/avalanche-l1/permissionless-l1s/meta.json b/content/academy/avalanche-l1/permissionless-l1s/meta.json index 0ae276fade4..77f597f370c 100644 --- a/content/academy/avalanche-l1/permissionless-l1s/meta.json +++ b/content/academy/avalanche-l1/permissionless-l1s/meta.json @@ -12,7 +12,6 @@ "...03-transformation-requirements", "---Staking Manager Setup---", "04-speedrun-base-l1", - "...05-staking-manager-setup", "---More coming soon...---" ] } \ No newline at end of file diff --git a/content/academy/permissionless-l1s/04-speedrun-base-l1/meta.json b/content/academy/permissionless-l1s/04-speedrun-base-l1/meta.json deleted file mode 100644 index 6f3f4227c85..00000000000 --- a/content/academy/permissionless-l1s/04-speedrun-base-l1/meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "title": "Permissioned L1 Setup Speedrun", - "pages": [ - "01-create-l1-speedrun", - "02-permissioned-l1-speedrun" - ] -} From a0264faf7725840e13dd0a2e2ec388fc6f9449ab Mon Sep 17 00:00:00 2001 From: navillanueva Date: Wed, 19 Nov 2025 16:12:34 -0500 Subject: [PATCH 14/20] resolved build errors --- lib/source.ts | 12 ++++++++---- next-env.d.ts | 2 +- scripts/versions.json | 6 +++--- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/source.ts b/lib/source.ts index 34da8de8a10..5d0c23d606c 100644 --- a/lib/source.ts +++ b/lib/source.ts @@ -91,21 +91,25 @@ function filterTreeByPrefix(tree: any, prefix: string): any { if (!Array.isArray(tree)) { if (tree && typeof tree === 'object' && 'children' in tree) { const filteredChildren = filterTreeByPrefix(tree.children, prefix); - return { ...tree, children: filteredChildren }; + return { + ...tree, + children: Array.isArray(filteredChildren) ? filteredChildren : [], + }; } return tree; } return tree .map((node) => { - const children = node.children ? filterTreeByPrefix(node.children, prefix) : undefined; - const hasChildren = Array.isArray(children) && children.length > 0; + const children = node.children ? filterTreeByPrefix(node.children, prefix) : []; + const normalizedChildren = Array.isArray(children) ? children : []; + const hasChildren = normalizedChildren.length > 0; const matches = typeof node.url === 'string' && node.url.startsWith(prefix); if (matches || hasChildren || !node.url) { return { ...node, - children: hasChildren ? children : undefined, + children: normalizedChildren, }; } diff --git a/next-env.d.ts b/next-env.d.ts index c4b7818fbb2..9edff1c7cac 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import "./.next/dev/types/routes.d.ts"; +import "./.next/types/routes.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/scripts/versions.json b/scripts/versions.json index 164e940ccc8..244fc147c36 100644 --- a/scripts/versions.json +++ b/scripts/versions.json @@ -5,9 +5,9 @@ "avaplatform/icm-relayer": "v1.7.4" }, "testnet": { - "avaplatform/avalanchego": "v1.14.0", - "avaplatform/subnet-evm_avalanchego": "v0.8.0_v1.14.0", - "avaplatform/icm-relayer": "v1.7.4" + "avaplatform/avalanchego": "v1.14.0-fuji", + "avaplatform/subnet-evm_avalanchego": "v0.8.0-fuji_v1.14.0-fuji", + "avaplatform/icm-relayer": "v1.7.2-fuji" }, "ava-labs/icm-contracts": "4d5ab0b6dbc653770cfe9709878c9406eb28b71c" } \ No newline at end of file From 880b480b8428d512bc1b92875a528379242918af Mon Sep 17 00:00:00 2001 From: navillanueva Date: Thu, 20 Nov 2025 10:26:48 -0500 Subject: [PATCH 15/20] bubble navigation button takes you directly to the learning tree --- .../learning-path-configs/avalanche.config.ts | 21 +++++++++--------- .../blockchain.config.ts | 13 ++++++----- .../entrepreneur.config.ts | 18 +++++++++------ components/academy/learning-tree.tsx | 22 ++++++++++++++----- .../academy/shared/academy-learning-path.tsx | 20 ++++++++--------- components/navigation/BubbleNavigation.tsx | 10 +++++++++ next-env.d.ts | 2 +- 7 files changed, 66 insertions(+), 40 deletions(-) diff --git a/components/academy/learning-path-configs/avalanche.config.ts b/components/academy/learning-path-configs/avalanche.config.ts index 39ccb47099b..db7246d5af3 100644 --- a/components/academy/learning-path-configs/avalanche.config.ts +++ b/components/academy/learning-path-configs/avalanche.config.ts @@ -91,36 +91,35 @@ export const avalancheCategoryStyles = { gradient: "from-blue-500 to-blue-600", icon: BookOpen, lightBg: "bg-blue-50", - darkBg: "dark:bg-blue-950/30" + darkBg: "dark:bg-blue-950/30", + label: "Fundamentals" }, "Interoperability": { gradient: "from-purple-500 to-purple-600", icon: ArrowLeftRight, lightBg: "bg-purple-50", - darkBg: "dark:bg-purple-950/30" + darkBg: "dark:bg-purple-950/30", + label: "Interoperability" }, "L1 Development": { gradient: "from-emerald-500 to-emerald-600", icon: Layers, lightBg: "bg-emerald-50", - darkBg: "dark:bg-emerald-950/30" + darkBg: "dark:bg-emerald-950/30", + label: "L1 Development" }, "L1 Tokenomics": { gradient: "from-red-400 to-red-500", icon: Coins, lightBg: "bg-red-50", - darkBg: "dark:bg-red-950/30" + darkBg: "dark:bg-red-950/30", + label: "L1 Tokenomics" }, "VM Customization": { gradient: "from-orange-500 to-orange-600", icon: Code, lightBg: "bg-orange-50", - darkBg: "dark:bg-orange-950/30" - }, - "Privacy": { - gradient: "from-indigo-500 to-indigo-600", - icon: Shield, - lightBg: "bg-indigo-50", - darkBg: "dark:bg-indigo-950/30" + darkBg: "dark:bg-orange-950/30", + label: "VM Customization" }, }; diff --git a/components/academy/learning-path-configs/blockchain.config.ts b/components/academy/learning-path-configs/blockchain.config.ts index bcdcb582b37..a7c603922f0 100644 --- a/components/academy/learning-path-configs/blockchain.config.ts +++ b/components/academy/learning-path-configs/blockchain.config.ts @@ -20,7 +20,7 @@ export const blockchainLearningPaths: CourseNode[] = [ slug: "blockchain/solidity-foundry", category: "Development", dependencies: ["blockchain-fundamentals"], - position: { x: 50, y: 200 }, + position: { x: 50, y: 250 }, mobileOrder: 2 }, // Third Layer - Encrypted ERC @@ -31,7 +31,7 @@ export const blockchainLearningPaths: CourseNode[] = [ slug: "blockchain/encrypted-erc", category: "Privacy", dependencies: ["intro-to-solidity"], - position: { x: 50, y: 400 }, + position: { x: 50, y: 500 }, mobileOrder: 3 }, ]; @@ -41,19 +41,22 @@ export const blockchainCategoryStyles = { gradient: "from-blue-500 to-blue-600", icon: BookOpen, lightBg: "bg-blue-50", - darkBg: "dark:bg-blue-950/30" + darkBg: "dark:bg-blue-950/30", + label: "Fundamentals" }, "Development": { gradient: "from-orange-500 to-orange-600", icon: Code, lightBg: "bg-orange-50", - darkBg: "dark:bg-orange-950/30" + darkBg: "dark:bg-orange-950/30", + label: "Development" }, "Privacy": { gradient: "from-indigo-500 to-indigo-600", icon: Shield, lightBg: "bg-indigo-50", - darkBg: "dark:bg-indigo-950/30" + darkBg: "dark:bg-indigo-950/30", + label: "Privacy" }, }; diff --git a/components/academy/learning-path-configs/entrepreneur.config.ts b/components/academy/learning-path-configs/entrepreneur.config.ts index c9572a49fd1..8549cdb0716 100644 --- a/components/academy/learning-path-configs/entrepreneur.config.ts +++ b/components/academy/learning-path-configs/entrepreneur.config.ts @@ -21,7 +21,7 @@ export const entrepreneurLearningPaths: CourseNode[] = [ slug: "entrepreneur/go-to-market", category: "Business Strategy", dependencies: ["avalanche-foundation"], - position: { x: 30, y: 200 }, + position: { x: 30, y: 250 }, mobileOrder: 2 }, { @@ -31,7 +31,7 @@ export const entrepreneurLearningPaths: CourseNode[] = [ slug: "entrepreneur/web3-community-architect", category: "Community", dependencies: ["avalanche-foundation"], - position: { x: 70, y: 200 }, + position: { x: 70, y: 250 }, mobileOrder: 3 }, @@ -43,7 +43,7 @@ export const entrepreneurLearningPaths: CourseNode[] = [ slug: "entrepreneur/fundraising-finance", category: "Finance", dependencies: ["avalanche-web3-community-architect", "avalanche-gtm"], - position: { x: 50, y: 400 }, + position: { x: 50, y: 500 }, mobileOrder: 4 } ]; @@ -53,24 +53,28 @@ export const entrepreneurCategoryStyles = { gradient: "from-blue-500 to-blue-600", icon: BookOpen, lightBg: "bg-blue-50", - darkBg: "dark:bg-blue-950/30" + darkBg: "dark:bg-blue-950/30", + label: "Fundamentals" }, "Community": { gradient: "from-purple-500 to-purple-600", icon: Users, lightBg: "bg-purple-50", - darkBg: "dark:bg-purple-950/30" + darkBg: "dark:bg-purple-950/30", + label: "Community" }, "Business Strategy": { gradient: "from-emerald-500 to-emerald-600", icon: Lightbulb, lightBg: "bg-emerald-50", - darkBg: "dark:bg-emerald-950/30" + darkBg: "dark:bg-emerald-950/30", + label: "Business Strategy" }, "Finance": { gradient: "from-yellow-500 to-yellow-600", icon: Coins, lightBg: "bg-yellow-50", - darkBg: "dark:bg-yellow-950/30" + darkBg: "dark:bg-yellow-950/30", + label: "Finance" } }; diff --git a/components/academy/learning-tree.tsx b/components/academy/learning-tree.tsx index deed6f82e20..2687bed38f3 100644 --- a/components/academy/learning-tree.tsx +++ b/components/academy/learning-tree.tsx @@ -82,8 +82,14 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro const maxY = Math.max(...learningPaths.map(node => node.position.y)) + 250; // Legend component - const Legend = ({ isMobile = false }: { isMobile?: boolean }) => ( -
+ const Legend = ({ isMobile = false, vertical = false }: { isMobile?: boolean; vertical?: boolean }) => ( +
{Object.entries(categoryStyles).map(([category, style]) => { const Icon = style.icon; return ( @@ -99,7 +105,7 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro {category} + )}>{style.label || category}
); })} @@ -359,13 +365,17 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro return (
- {/* Legend at top for all learning trees */} -
- + {/* Vertical Legend on far left - only visible on desktop/tablet */} +
+
{/* Mobile Layout - visible on small screens, hidden on lg and up */}
+ {/* Legend at top for mobile */} +
+ +
diff --git a/components/academy/shared/academy-learning-path.tsx b/components/academy/shared/academy-learning-path.tsx index cd62fbdfb6a..a32ccd915a8 100644 --- a/components/academy/shared/academy-learning-path.tsx +++ b/components/academy/shared/academy-learning-path.tsx @@ -9,8 +9,8 @@ export function AcademyLearningPath({ pathType }: AcademyLearningPathProps) { return (
-
-

+
+

Learning Path for{" "} {pathType === 'avalanche' ? ( <> @@ -30,21 +30,21 @@ export function AcademyLearningPath({ pathType }: AcademyLearningPathProps) { )}

- {/* Visual hint */} -
-
- - + {/* Visual hint - more compact */} +
+
+ + {pathType === 'avalanche' - ? 'Start with Avalanche L1 fundamentals and advance to custom L1s' + ? 'Start with fundamentals and advance to custom L1s' : pathType === 'blockchain' - ? 'Master blockchain basics and smart contract development' + ? 'Master blockchain basics and smart contracts' : 'Build your foundation, scale your venture' } -
+
diff --git a/components/navigation/BubbleNavigation.tsx b/components/navigation/BubbleNavigation.tsx index 158276c0a75..8a38fb79489 100644 --- a/components/navigation/BubbleNavigation.tsx +++ b/components/navigation/BubbleNavigation.tsx @@ -85,6 +85,16 @@ export default function BubbleNavigation({ const handleItemClick = (item: BubbleNavigationConfig['items'][0]) => { if (onSelect) { onSelect(item); + // Delay scroll to allow page content to load first + setTimeout(() => { + const learningPathSection = document.getElementById('learning-path-section'); + if (learningPathSection) { + // Get the section's position and scroll with offset to show the heading + const yOffset = -100; // Adjust this value to show more/less content above + const y = learningPathSection.getBoundingClientRect().top + window.pageYOffset + yOffset; + window.scrollTo({ top: y, behavior: 'smooth' }); + } + }, 300); // 300ms delay to let content render return; } diff --git a/next-env.d.ts b/next-env.d.ts index 9edff1c7cac..c4b7818fbb2 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import "./.next/types/routes.d.ts"; +import "./.next/dev/types/routes.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. From 6e94d9e82e0c240e8c20f34b67f406ed51eb56a5 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Thu, 20 Nov 2025 10:29:52 -0500 Subject: [PATCH 16/20] scroll feature --- components/navigation/BubbleNavigation.tsx | 29 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/components/navigation/BubbleNavigation.tsx b/components/navigation/BubbleNavigation.tsx index 8a38fb79489..47061d4e9dc 100644 --- a/components/navigation/BubbleNavigation.tsx +++ b/components/navigation/BubbleNavigation.tsx @@ -90,9 +90,32 @@ export default function BubbleNavigation({ const learningPathSection = document.getElementById('learning-path-section'); if (learningPathSection) { // Get the section's position and scroll with offset to show the heading - const yOffset = -100; // Adjust this value to show more/less content above - const y = learningPathSection.getBoundingClientRect().top + window.pageYOffset + yOffset; - window.scrollTo({ top: y, behavior: 'smooth' }); + const yOffset = -100; + const targetY = learningPathSection.getBoundingClientRect().top + window.pageYOffset + yOffset; + const startY = window.pageYOffset; + const distance = targetY - startY; + const duration = 1200; // 1.2 seconds for a slower, more noticeable scroll + let startTime: number | null = null; + + // Easing function for smooth animation + const easeInOutCubic = (t: number): number => { + return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2; + }; + + const animation = (currentTime: number) => { + if (startTime === null) startTime = currentTime; + const timeElapsed = currentTime - startTime; + const progress = Math.min(timeElapsed / duration, 1); + const ease = easeInOutCubic(progress); + + window.scrollTo(0, startY + distance * ease); + + if (progress < 1) { + requestAnimationFrame(animation); + } + }; + + requestAnimationFrame(animation); } }, 300); // 300ms delay to let content render return; From d908665bc146463c301993983b1c8a3ce7c1fef8 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Thu, 20 Nov 2025 10:38:30 -0500 Subject: [PATCH 17/20] hover effect --- components/academy/learning-tree.tsx | 34 ++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/components/academy/learning-tree.tsx b/components/academy/learning-tree.tsx index 2687bed38f3..c3624b45cd2 100644 --- a/components/academy/learning-tree.tsx +++ b/components/academy/learning-tree.tsx @@ -29,6 +29,7 @@ interface LearningTreeProps { export default function LearningTree({ pathType = 'avalanche' }: LearningTreeProps) { const [hoveredNode, setHoveredNode] = React.useState(null); + const [hoveredCategory, setHoveredCategory] = React.useState(null); const isMobile = useIsMobile(); // Select the appropriate learning paths and styles based on pathType @@ -92,19 +93,30 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro }> {Object.entries(categoryStyles).map(([category, style]) => { const Icon = style.icon; + const isHovered = hoveredCategory === category; return ( -
+
setHoveredCategory(category)} + onMouseLeave={() => setHoveredCategory(null)} + >
{style.label || category}
); @@ -175,6 +187,7 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro {sortedPaths.map((node, index) => { const style = categoryStyles[node.category as keyof typeof categoryStyles]; const Icon = style?.icon || BookOpen; + const isCategoryHovered = hoveredCategory === node.category; return (
@@ -208,9 +221,11 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro className={cn( "relative w-full p-4 rounded-xl transition-all duration-300", "bg-white dark:bg-zinc-900", - "border border-zinc-200 dark:border-zinc-800", + "border dark:border-zinc-800", "shadow-sm active:shadow-lg", - "active:scale-[0.98]", + isCategoryHovered + ? "border-indigo-500 shadow-lg scale-105" + : "border-zinc-200 active:scale-[0.98]", style?.lightBg, style?.darkBg )} @@ -299,6 +314,7 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro const style = categoryStyles[node.category as keyof typeof categoryStyles]; const Icon = style?.icon || BookOpen; const isHighlighted = highlightedNodes.has(node.id); + const isCategoryHovered = hoveredCategory === node.category; return (
setHoveredNode(node.id)} onMouseLeave={() => setHoveredNode(null)} @@ -324,8 +340,8 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro "bg-white dark:bg-zinc-900", "border dark:border-zinc-800", "shadow-sm", - isHighlighted - ? "border-indigo-500 shadow-lg scale-[1.02]" + isHighlighted || isCategoryHovered + ? "border-indigo-500 shadow-lg scale-105" : "border-zinc-200 hover:shadow-lg hover:scale-[1.02] hover:border-zinc-300 dark:hover:border-zinc-700", style?.lightBg, style?.darkBg From 7a90f694bbe1e1a4e30b537ffa0898e0eed44864 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Thu, 20 Nov 2025 11:42:37 -0500 Subject: [PATCH 18/20] hover effect improvement --- components/academy/learning-tree.tsx | 61 +++++++++++++++------- components/navigation/BubbleNavigation.tsx | 2 +- 2 files changed, 43 insertions(+), 20 deletions(-) diff --git a/components/academy/learning-tree.tsx b/components/academy/learning-tree.tsx index c3624b45cd2..250850ac481 100644 --- a/components/academy/learning-tree.tsx +++ b/components/academy/learning-tree.tsx @@ -221,14 +221,21 @@ export default function LearningTree({ pathType = 'avalanche' }: LearningTreePro className={cn( "relative w-full p-4 rounded-xl transition-all duration-300", "bg-white dark:bg-zinc-900", - "border dark:border-zinc-800", + "border-2 dark:border-zinc-800", "shadow-sm active:shadow-lg", isCategoryHovered - ? "border-indigo-500 shadow-lg scale-105" + ? "shadow-2xl scale-[1.075]" : "border-zinc-200 active:scale-[0.98]", style?.lightBg, style?.darkBg )} + style={ + isCategoryHovered + ? { + boxShadow: `0 25px 50px -12px ${style?.gradient.includes('blue') ? 'rgba(59, 130, 246, 0.4)' : style?.gradient.includes('purple') ? 'rgba(168, 85, 247, 0.4)' : style?.gradient.includes('emerald') ? 'rgba(16, 185, 129, 0.4)' : style?.gradient.includes('red') ? 'rgba(239, 68, 68, 0.4)' : style?.gradient.includes('orange') ? 'rgba(249, 115, 22, 0.4)' : style?.gradient.includes('yellow') ? 'rgba(234, 179, 8, 0.4)' : 'rgba(99, 102, 241, 0.4)'}, 0 0 0 4px ${style?.gradient.includes('blue') ? 'rgba(59, 130, 246, 0.15)' : style?.gradient.includes('purple') ? 'rgba(168, 85, 247, 0.15)' : style?.gradient.includes('emerald') ? 'rgba(16, 185, 129, 0.15)' : style?.gradient.includes('red') ? 'rgba(239, 68, 68, 0.15)' : style?.gradient.includes('orange') ? 'rgba(249, 115, 22, 0.15)' : style?.gradient.includes('yellow') ? 'rgba(234, 179, 8, 0.15)' : 'rgba(99, 102, 241, 0.15)'}` + } + : undefined + } > {/* Category icon */}
{/* Category icon */}
- {/* Vertical Legend on far left - only visible on desktop/tablet */} -
+ <> + {/* Vertical Legend on far left of screen - positioned absolutely relative to viewport */} +
- {/* Mobile Layout - visible on small screens, hidden on lg and up */} -
- {/* Legend at top for mobile */} -
- +
+ {/* Mobile Layout - visible on small screens, hidden on lg and up */} +
+ {/* Legend at top for mobile */} +
+ +
+
- -
- {/* Desktop Layout - hidden on small screens, visible on lg and up */} -
- + {/* Desktop Layout - hidden on small screens, visible on lg and up */} +
+ +
-
- + ); } \ No newline at end of file diff --git a/components/navigation/BubbleNavigation.tsx b/components/navigation/BubbleNavigation.tsx index 47061d4e9dc..8ee29daff67 100644 --- a/components/navigation/BubbleNavigation.tsx +++ b/components/navigation/BubbleNavigation.tsx @@ -90,7 +90,7 @@ export default function BubbleNavigation({ const learningPathSection = document.getElementById('learning-path-section'); if (learningPathSection) { // Get the section's position and scroll with offset to show the heading - const yOffset = -100; + const yOffset = -125; const targetY = learningPathSection.getBoundingClientRect().top + window.pageYOffset + yOffset; const startY = window.pageYOffset; const distance = targetY - startY; From 74dfc09f77e2db9cc56093cef1681d6866e2eaa1 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Thu, 20 Nov 2025 11:45:41 -0500 Subject: [PATCH 19/20] nits --- .../learning-path-configs/avalanche.config.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/components/academy/learning-path-configs/avalanche.config.ts b/components/academy/learning-path-configs/avalanche.config.ts index db7246d5af3..12531c31680 100644 --- a/components/academy/learning-path-configs/avalanche.config.ts +++ b/components/academy/learning-path-configs/avalanche.config.ts @@ -20,7 +20,7 @@ export const avalancheLearningPaths: CourseNode[] = [ slug: "avalanche-l1/customizing-evm", category: "VM Customization", dependencies: ["avalanche-fundamentals"], - position: { x:90, y: 250 }, + position: { x: 87.5, y: 250 }, mobileOrder: 2 }, { @@ -30,7 +30,7 @@ export const avalancheLearningPaths: CourseNode[] = [ slug: "avalanche-l1/interchain-messaging", category: "Interoperability", dependencies: ["avalanche-fundamentals"], - position: { x: 65, y: 250 }, + position: { x: 62.5, y: 250 }, mobileOrder: 3 }, { @@ -40,7 +40,7 @@ export const avalancheLearningPaths: CourseNode[] = [ slug: "avalanche-l1/permissioned-l1s", category: "L1 Development", dependencies: ["avalanche-fundamentals"], - position: { x: 15, y: 250 }, + position: { x: 12.5, y: 250 }, mobileOrder: 6 }, { @@ -50,7 +50,7 @@ export const avalancheLearningPaths: CourseNode[] = [ slug: "avalanche-l1/l1-native-tokenomics", category: "L1 Tokenomics", dependencies: ["avalanche-fundamentals"], - position: { x: 40, y: 250 }, + position: { x: 37.5, y: 250 }, mobileOrder: 7 }, // Third Layer - Advanced topics @@ -61,7 +61,7 @@ export const avalancheLearningPaths: CourseNode[] = [ slug: "avalanche-l1/interchain-token-transfer", category: "Interoperability", dependencies: ["interchain-messaging"], - position: { x: 85, y: 500 }, + position: { x: 82.5, y: 500 }, mobileOrder: 4 }, { @@ -71,7 +71,7 @@ export const avalancheLearningPaths: CourseNode[] = [ slug: "avalanche-l1/icm-chainlink", category: "Interoperability", dependencies: ["interchain-messaging"], - position: { x: 55, y: 500 }, + position: { x: 52.5, y: 500 }, mobileOrder: 5 }, { @@ -81,7 +81,7 @@ export const avalancheLearningPaths: CourseNode[] = [ slug: "avalanche-l1/permissionless-l1s", category: "L1 Development", dependencies: ["permissioned-l1s", "l1-native-tokenomics"], - position: { x: 25, y: 500 }, + position: { x: 22.5, y: 500 }, mobileOrder: 8 }, ]; From 0efd27bb8c55edc34fdc064f6d52633e9bb90450 Mon Sep 17 00:00:00 2001 From: navillanueva Date: Thu, 20 Nov 2025 15:15:38 -0500 Subject: [PATCH 20/20] nits --- components/navigation/BubbleNavigation.tsx | 89 ++++++++++++++-------- 1 file changed, 56 insertions(+), 33 deletions(-) diff --git a/components/navigation/BubbleNavigation.tsx b/components/navigation/BubbleNavigation.tsx index 8ee29daff67..2752ae2ea4d 100644 --- a/components/navigation/BubbleNavigation.tsx +++ b/components/navigation/BubbleNavigation.tsx @@ -84,40 +84,63 @@ export default function BubbleNavigation({ const handleItemClick = (item: BubbleNavigationConfig['items'][0]) => { if (onSelect) { - onSelect(item); - // Delay scroll to allow page content to load first + // Start scroll animation immediately BEFORE state update to prevent blocking + const learningPathSection = document.getElementById('learning-path-section'); + if (learningPathSection) { + // Get the section's position and scroll with offset to show the heading + const yOffset = -125; + const targetY = learningPathSection.getBoundingClientRect().top + window.pageYOffset + yOffset; + const startY = window.pageYOffset; + const distance = targetY - startY; + const duration = 800; // Reduced to 0.8s for faster response + let startTime: number | null = null; + let animationFrameId: number; + + // Easing function: easeOutExpo - starts extremely fast + const easeOutExpo = (t: number): number => { + return t === 1 ? 1 : 1 - Math.pow(2, -10 * t); + }; + + // Cleanup function to stop animation + const cancelAnimation = () => { + if (animationFrameId) { + cancelAnimationFrame(animationFrameId); + } + window.removeEventListener('wheel', cancelAnimation); + window.removeEventListener('touchmove', cancelAnimation); + window.removeEventListener('keydown', cancelAnimation); + window.removeEventListener('mousedown', cancelAnimation); + }; + + const animation = (currentTime: number) => { + if (startTime === null) startTime = currentTime; + const timeElapsed = currentTime - startTime; + const progress = Math.min(timeElapsed / duration, 1); + const ease = easeOutExpo(progress); + + window.scrollTo(0, startY + distance * ease); + + if (progress < 1) { + animationFrameId = requestAnimationFrame(animation); + } else { + cancelAnimation(); // Cleanup listeners when done + } + }; + + // Add listeners to cancel animation on user interaction + window.addEventListener('wheel', cancelAnimation, { passive: true }); + window.addEventListener('touchmove', cancelAnimation, { passive: true }); + window.addEventListener('keydown', cancelAnimation, { passive: true }); + window.addEventListener('mousedown', cancelAnimation, { passive: true }); + + // Start animation loop + animationFrameId = requestAnimationFrame(animation); + } + + // Defer state update slightly to ensure animation frame has priority setTimeout(() => { - const learningPathSection = document.getElementById('learning-path-section'); - if (learningPathSection) { - // Get the section's position and scroll with offset to show the heading - const yOffset = -125; - const targetY = learningPathSection.getBoundingClientRect().top + window.pageYOffset + yOffset; - const startY = window.pageYOffset; - const distance = targetY - startY; - const duration = 1200; // 1.2 seconds for a slower, more noticeable scroll - let startTime: number | null = null; - - // Easing function for smooth animation - const easeInOutCubic = (t: number): number => { - return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2; - }; - - const animation = (currentTime: number) => { - if (startTime === null) startTime = currentTime; - const timeElapsed = currentTime - startTime; - const progress = Math.min(timeElapsed / duration, 1); - const ease = easeInOutCubic(progress); - - window.scrollTo(0, startY + distance * ease); - - if (progress < 1) { - requestAnimationFrame(animation); - } - }; - - requestAnimationFrame(animation); - } - }, 300); // 300ms delay to let content render + onSelect(item); + }, 0); return; }