diff --git a/.changeset/good-lobsters-lie.md b/.changeset/good-lobsters-lie.md
new file mode 100644
index 00000000000..72e3a34dc38
--- /dev/null
+++ b/.changeset/good-lobsters-lie.md
@@ -0,0 +1,7 @@
+---
+"@fuel-ts/abi-typegen": minor
+"@fuel-ts/abi-coder": minor
+"@fuel-ts/program": patch
+---
+
+feat!: remove redundant exports from `v1` encoding
diff --git a/packages/abi-coder/src/Interface.ts b/packages/abi-coder/src/Interface.ts
index d2922bf5f47..c2f9404bb69 100644
--- a/packages/abi-coder/src/Interface.ts
+++ b/packages/abi-coder/src/Interface.ts
@@ -49,23 +49,6 @@ export class Interface<TAbi extends JsonAbi = JsonAbi> {
     );
   }
 
-  decodeFunctionData(functionFragment: FunctionFragment | string, data: BytesLike): any {
-    const fragment =
-      typeof functionFragment === 'string' ? this.getFunction(functionFragment) : functionFragment;
-
-    return fragment.decodeArguments(data);
-  }
-
-  encodeFunctionData(
-    functionFragment: FunctionFragment | string,
-    values: Array<InputValue>
-  ): Uint8Array {
-    const fragment =
-      typeof functionFragment === 'string' ? this.getFunction(functionFragment) : functionFragment;
-
-    return fragment.encodeArguments(values);
-  }
-
   // Decode the result of a function call
   decodeFunctionResult(functionFragment: FunctionFragment | string, data: BytesLike): any {
     const fragment =
diff --git a/packages/abi-coder/src/index.ts b/packages/abi-coder/src/index.ts
index 2c51b357a97..741fcd60b19 100644
--- a/packages/abi-coder/src/index.ts
+++ b/packages/abi-coder/src/index.ts
@@ -12,7 +12,6 @@ export {
   UTXO_ID_LEN,
   BYTES_32,
   calculateVmTxMemory,
-  type EncodingVersion,
   ENCODING_V1,
 } from './utils/constants';
 export { AbiCoder } from './AbiCoder';
diff --git a/packages/abi-coder/test/Interface.test.ts b/packages/abi-coder/test/Interface.test.ts
index d93c26ca5f9..3d27d49a9f8 100644
--- a/packages/abi-coder/test/Interface.test.ts
+++ b/packages/abi-coder/test/Interface.test.ts
@@ -102,24 +102,6 @@ describe('Abi interface', () => {
     it('raises an error when function is not found', () => {
       const fnName = 'doesnt_exist';
       expect(() => exhaustiveExamplesInterface.getFunction(fnName)).toThrow();
-
-      expect(() => exhaustiveExamplesInterface.encodeFunctionData(fnName, [123])).toThrow();
-
-      expect(() =>
-        exhaustiveExamplesInterface.decodeFunctionData(fnName, new Uint8Array())
-      ).toThrow();
-    });
-
-    it('raises an error if the arguments do not match the function input types', () => {
-      const values = [11, 11];
-
-      const errMsg = `Mismatch between provided arguments and expected ABI inputs.`
-        .concat(` Provided ${values.length} arguments,`)
-        .concat(` but expected 1 (excluding 0 optional inputs).`);
-
-      expect(() => exhaustiveExamplesInterface.encodeFunctionData('entry_one', values)).toThrow(
-        errMsg
-      );
     });
   });
 
diff --git a/packages/abi-typegen/src/templates/contract/dts.hbs b/packages/abi-typegen/src/templates/contract/dts.hbs
index 6e1e5bf4e89..c9000f005a3 100644
--- a/packages/abi-typegen/src/templates/contract/dts.hbs
+++ b/packages/abi-typegen/src/templates/contract/dts.hbs
@@ -54,14 +54,6 @@ interface {{capitalizedName}}Interface extends Interface {
     {{this}}: FunctionFragment;
     {{/each}}
   };
-
-  {{#each encoders}}
-  encodeFunctionData(functionFragment: '{{functionName}}', values: [{{input}}]): Uint8Array;
-  {{/each}}
-
-  {{#each decoders}}
-  decodeFunctionData(functionFragment: '{{functionName}}', data: BytesLike): DecodedValue;
-  {{/each}}
 }
 
 
diff --git a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs
index 23410fcf29e..158fd1a888e 100644
--- a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs
+++ b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs
@@ -26,10 +26,6 @@ interface MyContractAbiInterface extends Interface {
   functions: {
     main: FunctionFragment;
   };
-
-  encodeFunctionData(functionFragment: 'main', values: [string, string]): Uint8Array;
-
-  decodeFunctionData(functionFragment: 'main', data: BytesLike): DecodedValue;
 }
 
 export class MyContractAbi extends Contract {
diff --git a/packages/abi-typegen/test/fixtures/templates/contract/dts.hbs b/packages/abi-typegen/test/fixtures/templates/contract/dts.hbs
index 1fa4d62b5e5..384c6e7d18b 100644
--- a/packages/abi-typegen/test/fixtures/templates/contract/dts.hbs
+++ b/packages/abi-typegen/test/fixtures/templates/contract/dts.hbs
@@ -91,80 +91,6 @@ interface MyContractAbiInterface extends Interface {
     types_vector_option: FunctionFragment;
     types_vector_u8: FunctionFragment;
   };
-
-  encodeFunctionData(functionFragment: 'type_address', values: [AddressInput]): Uint8Array;
-  encodeFunctionData(functionFragment: 'type_contract_id', values: [ContractIdInput]): Uint8Array;
-  encodeFunctionData(functionFragment: 'type_external_enum', values: [ExternalEnumInput]): Uint8Array;
-  encodeFunctionData(functionFragment: 'type_external_struct', values: [ExternalStructInput]): Uint8Array;
-  encodeFunctionData(functionFragment: 'type_identity', values: [IdentityInput]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_array', values: [[BigNumberish, BigNumberish, BigNumberish]]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_asset_id', values: [AssetIdInput]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_b256', values: [string]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_b512', values: [string]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_bool', values: [boolean]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_bytes', values: [Bytes]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_empty', values: []): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_empty_then_value', values: [BigNumberish]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_enum', values: [MyEnumInput]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_enum_with_vector', values: [EnumWithVectorInput]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_evm_address', values: [EvmAddress]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_generic_enum', values: [GenericEnumInput<BigNumberish, BigNumberish>]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_generic_struct', values: [GenericStructWithEnumInput<BigNumberish, BigNumberish>]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_option', values: [Option<BigNumberish>]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_option_geo', values: [Option<MyStructInput>]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_raw_slice', values: [RawSlice]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_result', values: [Result<BigNumberish, BigNumberish>]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_std_string', values: [StdString]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_str', values: [string]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_struct', values: [MyStructInput]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_tuple', values: [[BigNumberish, BigNumberish, BigNumberish]]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_u16', values: [BigNumberish]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_u256', values: [BigNumberish]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_u32', values: [BigNumberish]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_u64', values: [BigNumberish]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_u8', values: [BigNumberish]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_value_then_empty', values: [BigNumberish]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_value_then_empty_then_value', values: [BigNumberish, BigNumberish]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_vector_geo', values: [Vec<MyStructInput>]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_vector_option', values: [Vec<StructWithMultiOptionInput>]): Uint8Array;
-  encodeFunctionData(functionFragment: 'types_vector_u8', values: [Vec<BigNumberish>]): Uint8Array;
-
-  decodeFunctionData(functionFragment: 'type_address', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'type_contract_id', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'type_external_enum', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'type_external_struct', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'type_identity', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_array', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_asset_id', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_b256', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_b512', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_bool', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_bytes', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_empty', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_empty_then_value', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_enum', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_enum_with_vector', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_evm_address', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_generic_enum', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_generic_struct', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_option', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_option_geo', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_raw_slice', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_result', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_std_string', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_str', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_struct', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_tuple', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_u16', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_u256', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_u32', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_u64', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_u8', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_value_then_empty', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_value_then_empty_then_value', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_vector_geo', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_vector_option', data: BytesLike): DecodedValue;
-  decodeFunctionData(functionFragment: 'types_vector_u8', data: BytesLike): DecodedValue;
 }
 
 export class MyContractAbi extends Contract {
diff --git a/packages/program/src/functions/base-invocation-scope.ts b/packages/program/src/functions/base-invocation-scope.ts
index e86f3c07fbc..5e44a223db5 100644
--- a/packages/program/src/functions/base-invocation-scope.ts
+++ b/packages/program/src/functions/base-invocation-scope.ts
@@ -31,9 +31,7 @@ function createContractCall(funcScope: InvocationScopeLike): ContractCall {
 
   return {
     contractId: (program as AbstractContract).id,
-    fnSelector: func.selector,
     fnSelectorBytes: func.selectorBytes,
-    encoding: func.encoding,
     data,
     assetId: forward?.assetId,
     amount: forward?.amount,
diff --git a/packages/program/src/types.ts b/packages/program/src/types.ts
index 7a7eff538c4..501395c4e21 100644
--- a/packages/program/src/types.ts
+++ b/packages/program/src/types.ts
@@ -1,4 +1,4 @@
-import type { FunctionFragment, JsonAbi, EncodingVersion } from '@fuel-ts/abi-coder';
+import type { FunctionFragment, JsonAbi } from '@fuel-ts/abi-coder';
 import type { CoinQuantity, CoinQuantityLike } from '@fuel-ts/account';
 import type { AbstractProgram, AbstractAddress, BytesLike } from '@fuel-ts/interfaces';
 import type { BigNumberish } from '@fuel-ts/math';
@@ -11,9 +11,7 @@ import type { FunctionInvocationScope } from './functions/invocation-scope';
 export type ContractCall = {
   contractId: AbstractAddress;
   data: BytesLike;
-  fnSelector: string;
   fnSelectorBytes: Uint8Array;
-  encoding?: EncodingVersion;
   amount?: BigNumberish;
   assetId?: BytesLike;
   gas?: BigNumberish;